Skip to main content

Towards programmable cyber-physical systems: a symbolic control approach

Periodic Reporting for period 3 - PROCSYS (Towards programmable cyber-physical systems: a symbolic control approach)

Reporting period: 2020-09-01 to 2022-02-28

Autonomous vehicles, intelligent buildings or robots promise to transform the everyday life of our society in all its dimensions (transport, housing, industry, health, assistance to the elderly ...). These systems are examples of cyber-physical systems (CPS) resulting from the integration of computer components and physical processes. The development of CPS is often time-consuming and costly, due to complex cyber-physical interactions and to critical safety requirements.

The primary objective of the PROCSYS project is to provide a new framework for CPS programming that enables fast and dependable development of advanced functionalities through a high-level programming language. The originality of our approach is to consider that the execution platform does not only consist of the computer components but also of the physical part of the CPS. Hence, CPS programs do not specify the behavior of computer components (as in the classical approach) but directly that of the CPS. This is a paradigm shift in CPS programming.

In our framework, a CPS compiler automatically synthesizes feedback controllers (i.e. low-level reactive programs that compute actions to be taken based on the available measurements) that enforce the behavior specified in the CPS program. The compiler relies on a model of the CPS including a description of the involved physical processes. Correctness of the controllers is guaranteed by following the correct by construction synthesis paradigm through the use of symbolic control techniques: the continuous physical dynamics is abstracted by a symbolic model, which is an ``abstraction’’ of the physical dynamics by a discrete dynamical system; a symbolic controller is synthesized automatically from the high-level CPS program and the symbolic model; an interface allows to refine the symbolic controller back to the physical world.

In the PROCSYS project, we develop a high-level language for CPS, based on the formalism of hybrid automata, which makes it possible to specify a rich set of behaviors while enabling the development of efficient controller synthesis algorithms. The project also tackles two of the main bottlenecks of the symbolic control approach. Firstly, scalability of symbolic control is achieved by the combination of parsimonious symbolic models and lazy controller synthesis algorithms. Secondly, robustness is ensured by developing novel approaches for the synthesis of robust symbolic controllers. The project also contributes to emerging topics in symbolic control such as contract-based design for distributed CPS, data-driven abstraction for learning-enabled CPS, or symbolically guided model predictive controllers for high performance CPS. The algorithms developed in the project are implemented in a symbolic control toolbox, which will enable the use of our approach by systems engineers.
We made a proposition for a high-level language for CPS programming. In our framework, we specify the intended behavior of the CPS using control programs that consist of a set of elementary control tasks with a scheduler. A control task is described by a hybrid automaton together with a termination semantics that specify if the task must terminate in finite time or if it is allowed to run forever. The scheduler provides a set of rules that is used to sequence the control tasks. We considered the problem of synthesizing feedback controllers for a dynamical system such that the closed-loop behavior is an execution of a control program. A solution based on symbolic control techniques has been provided for synthesizing task controllers. Then, building on this work, we proposed two algorithms (enjoying maximal and anytime features, respectively) for synthesizing program controllers that guarantee schedulability of these task controllers. Both algorithms have been implemented in Co4Pro, a toolbox for synthesis of correct by construction controllers from control programs.

We worked on improving scalability of symbolic control. We developed several abstraction approaches for the computation of parsimonious symbolic models, which count a reduced number of symbolic states for a given accuracy. These approaches are based on multi-rate sampling, event-based sampling, time-scale separation or on the use of low-level feedback controllers. We also worked on the development of algorithms for the efficient synthesis of controllers. These so-called lazy algorithms only explore partially and incrementally the dynamics of the symbolic model. We developed a general lazy controller synthesis algorithm that applies to non-deterministic systems. For monotone systems, a specific algorithm was developed that exploit the structural properties of the systems dynamics.

We also worked on improving robustness of symbolic controllers. We developed quantitative approaches to controller synthesis for safety, reachability and attractivity specifications. Intuitively, this approach provides controller that are least violating (or maximally satisfying) with respect to some measure of the robustness of the satisfaction of the specification. We also developed an approach for computing symbolic models that are robust to state-estimation errors in observer-based control architectures.

Finally, we worked on several emerging techniques in symbolic control. For systems made of several components, we developed compositional approaches for the synthesis of controllers based on assume-guarantee contracts. Some of these techniques rely on the use of least-violating controllers mentioned above. We also worked on the development of methods for computing symbolic models from data for monotone systems. We also proposed a new control paradigm called symbolically guided model predictive controllers that allows to design controllers that enjoy at the time the strong safety guarantees of symbolic controllers and the high performance of model predictive controllers.
We proposed a high-level language for CPS programming that encompasses several existing formalisms and developed the associated controller synthesis algorithms. These algorithms have been implemented in our toolbox Co4Pro, which has been used in cases studies in the field of autonomous driving (collision avoidance, takeover maneuvers). We developed approaches to compute parsimonious symbolic models of CPS and designed lazy controller synthesis algorithms for improving scalability of symbolic control.
We developed quantitative approaches to synthesize least-violating controllers for safety, reachability and attractivity specifications. We are extending these algorithms to synthesize robust symbolic controllers that can adapt to various levels of disturbances using nested sequences of symbolic models and iterative refinements of least violating controllers.

We developed several compositional techniques for synthesizing distributed controllers. We also developed algorithms to compute symbolic models from data for monotone systems. In the future, we will work on combining data-driven abstractions with online controller updates in order to develop safe learning-enabled CPS. Finally, we introduced a new control paradigm called symbollicaly guided model predictive control, which uses symbolic control techniques to constrain model predictive controllers in order to design highly efficient, provably safe CPS. In the future, we plan to use these type of techniques for solving navigation problems in complex environement.
Workflow of the symbolic control approach
Controllable set for adaptive cruise control
CPS programming paradigm: an application to adaptive cruise control