Section: Overall Objectives
Motivations
Electronic appliances, embedded systems, or, more generally, Cyber-Physical Systems, abbreviated CPS, are systems that comprise sensors, to sense physical data; electronics, to digitise the sensed physical information; computing units, to monitor the physical process; actuators, to activate devices reacting with the physical world; and, finally, a mean of communication, interconnecting these components.
As Lee acknowledges on his website (Cyber-physical systems. E. A. Lee. Research Project, 2012. http://cyberphysicalsystems.org ), the term cyber-physical system (CPS) was introduced by Helen Gill at the NSF referring to the integration of computation and physical processes. In CPS, embedded computers and networks monitor and control the physical processes, usually with feedback loops where physical processes affect computations and vice versa. The principal challenges in system design lie in this perpetual interaction of software, hardware and physics.
Beyond the buzzword, a CPS is nothing new. In fact, it is an ubiquitous object of our everyday life. CPSs have evolved from individual independent units (e.g an ABS brake) to more and more integrated networks of units, which may be aggregated into larger components or sub-systems. For example, a transportation monitoring network aggregates monitored stations and trains through a large scale distributed system with relatively high latency. Each individual train is being controlled by a train control network, each car in the train has its own real-time bus to control embedded devices. More and more, CPSs are mixing real-time low latency technology with higher latency distributed computing technology.
CPS safety is often critical for society. Their failure may entail threatening human beings life in many applications such as transportations (whether automotive, trains or airplanes), power distribution, medical equipment and tele-medicine. Whether or not life is threatened, failures may have huge economic impact (e.g. Toyota's defect car equipment). The development of reliable CPS has become a critical issue for the industry and society. Safety and security requirements must be satisfied by using strong validation tools. Requirements for quality of service, safety and security imply to have formally proved the required properties of the system before it is deployed.
In the past 15 years, CPS development has moved towards Model Driven Engineering (MDE). With MDE methodology, first all requirements are gathered together with use cases, then a model of the system is built (sometimes several models) that satisfy the requirements. There are several modelling formalisms that have appeared in the past ten years with more or less success. The most successful are the executable models, models that can be exercised, tested and validated. This approach can be used for both software and hardware.
A common feature found in CPSs is the ever presence of concurrency and parallelism in models. Development of concurrent and parallel systems has traditionally been clearly split in two different families. The first family is based on synchronous models, primarily targeting design of hardware circuits and/or embedded and reactive systems, often safety-critical. Esterel, Lustre, Signal and SCADE are examples of existing technologies of that nature, and in many places these have been connected with models of environments as required for CPS modelling. The second family addresses more loosely coupled systems, where communication between distributed entities is asynchronous by nature. Analysis of asynchronous systems has often greater complexity, because of the greater size of state spaces; process algebras such as CSP and CCS, or component models such as Fractal and GCM are more relevant here.
Large systems are increasingly mixing both types of concurrency. Large systems are structured hierarchically and comprise multiple synchronous devices connected by buses or networks that communicate asynchronously. This led to the advent of so-called GALS (Globally Asynchronous, Locally Synchronous) models, or PALS (Physically Asynchronous, Logically Synchronous) systems, where reactive synchronous objects are communicating asynchronously. Still, these infrastructures, together with their programming models, share some fundamental concerns: parallelism and concurrency synchronisation, determinism and functional correctness, scheduling optimality and calculation time predictability.
It should also be noted that CPSs are used essentially to monitor and control real-world processes, the dynamics of which are usually governed by well known physical laws. These laws are expressed by physicists as mathematical equations and formulas. Discrete CPS models cannot ignore these dynamics, but whereas the equations express the continuous behaviour usually using real numbers (irrational) variables, the models usually have to work with discrete time and approximate floating point variables.
We consider that there are two key research directions, respectively, one for the theoretical basis underlying CPSs and one for the practical aspect of developing future applications that could be a major vector for scientific projects, developed in the next sections.