Skip to main content

Towards programmable cyber-physical systems: a symbolic control approach

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

Reporting period: 2019-03-01 to 2020-08-31

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 programming 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 will be achieved by the combination of parsimonious symbolic models and lazy controller synthesis algorithms. Secondly, robustness will be ensured at all levels of control by developing novel approaches for the synthesis of robust interfaces and of symbolic controllers. The algorithms developed in the project will be 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 of if it is allowed to run forever. The scheduler provides a set of rules that is used to sequence the control tasks. Control programs also have external inputs, which make it possible to specify how a system must react to signals provided e.g. by a human user. 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 for synthesizing program controllers that guarantee schedulability of these task controllers. The first ``maximal’’ algorithm provides program controllers with maximal controllable sets but a valid controller is only available once the algorithm reaches a fixed-point. The second ``anytime’’ algorithm can be stopped at any iteration and always provide a valid program controller. However, the associated controllable sets are generally not maximal.

We also worked on improving scalability of symbolic control approaches. We developed several abstraction approaches for the computation of parsimonious symbolic models, which count a reduced number of symbolic states for a given accuracy. We are now working 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. For safety specifications, 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. For systems made of several components, we developed several compositional approaches for the synthesis of controllers based on assume-guarantee contracts.

More recently, we started to work on robustness of symbolic controllers. We developed quantitative approaches to controller synthesis for safety, reachability and attractivity specifications. Intuitively, this approach provides controller that are maximally satisfying (or least violating) with respect to some measure of the robustness of the satisfaction of the specification. Technically, the approach is based on dynamic programming and can be used in combination with symbolic control techniques.
We proposed a high-level language for CPS programming that encompasses several existing formalisms and developed the associated controller synthesis algorithms. We are now working on distributable implementations of these algorithms in a symbolic control toolbox and on their evaluation on numerical case studies in the field of autonomous driving.

We developed several approaches to compute parsimonious symbolic models of CPS. For safety specifications, we developed developed lazy controller synthesis algorithms for general and for monotone systems. In the future, we will extend this approach to mixed-monotone systems and to other types of specifications such as those expressed by control programs.

We developed quantitative approaches to controller synthesis for safety, reachability and attractivity specifications. In the future, we will adapt these algorithms to achieve robustness with respect to both modeled and unmodeled disturbances. Another application of these algorithms will be the synthesis of observer-based symbolic controllers. We also plan to develop quantitative synthesis algorithms for control programs.

In addition to the work described above, we would like to highlight two emerging research directions that will be considered. Firstly, we plan to explore data-driven approaches to controller synthesis by computing symbolic models directly from gathered data. Secondly, we will use combination of symbolic control and model predictive control techniques to design CPS that are safety critical and cost efficient.