A cyber-physical system tightly coordinates discrete computation and continuous control of physical resources. Most safety-critical cyber-physical systems run sophisticated control algorithms at their core. While these control algorithms have been studied thoroughly from a theoretical standpoint, their implementation on real platforms raises many issues that need to be addressed to ensure the reliability of cyber-physical systems. While control theory studies the properties of a control system based on real analysis and mostly ignores the effect of implementing the control laws in software, these effects can have a significant impact on the performance or stability of the implementation of a control law.
Consider the following mismatches between assumptions made by control theory and guarantees provided by implementation platforms. First, control theoretic methods are based on real analysis, which assume real numbers are infinite-precision. However, in software implementation, mathematical real numbers are approximated using floating-point or fixed-point arithmetic. Second, control computation time is often assumed to be negligible, which may not often be the case in the real implementations. Third, when multiple control applications run on a shared platform, schedulability requirements of the corresponding tasks impose additional constraints on the behavior of the systems, that traditional mathematical control design algorithms do not take into account.
In this thesis, we address these three problems related to implementation of controller software for cyber-physical systems. First, we show how the stability property can be verified for a physical system under the action of controller software and how to synthesize controller software to minimize the effect of quantization error on the stability quality. Second, we show that the naive implementation of some control algorithms may be infeasible due the computation time required for the control tasks on real platforms and provide a memoization based implementation scheme that guarantees the feasibility of the implementation along with maintaining expected control performance. Third, we address the problem of scheduling control tasks from multiple control systems on a single processor and provide static and dynamic scheduler synthesis strategies to maintain stability and achieve optimal performance in the control systems. Solving these problems takes an important step towards closing the gap between control theory and the implementation of control systems.