Cyber physical systems (CPS) are engineered systems comprising synergistically interacting physical and computational components. As the computational components are aware of their physical context, they are intrinsically distributed, (time)-synchronizing, have to cope with uncertainty of sensory input and need to produce real-time reactions. The technology is from pervasive, transcends industrial sectors and serves as the engine of innovation for new generation of products. A CPS is a system:
- in which computation/information processing and physical processes are so tightly integrated that it is not possible to identify whether behavioral attributes are the result of computations (computer programs), physical laws, or both working together.
- where functionality and salient system characteristics are emerging through the interaction of physical and computational objects.
in which computers, networks and the devices and environments, in which they are embedded, have interacting physical properties, consume resources, and contribute to the overall system behavior.
Under this interpretation, CPS design is not about the interfacing of physical and computational objects. Rather, the focus of CPS design is on those characteristics that are unique and emerge from the integration of cyber (computation and networking) and physical components.
The past fifteen years provided ample of evidence that the separation of information and physical sciences created a divergence in scientific foundation and technologies that has become strongly limiting to progress in the design of CPS. For example, dominant abstractions in programming languages avoided the explicit representation of physicality and lumped together all the related design considerations in the category of “non-functional” requirements (such as timing, power, and reliability). On the physical side, although engineering increasingly relied on computer based implementations, systems science has developed and evolved abstractions that largely neglected salient properties of computing and communication platforms (such as scheduling, resource management, and network delays) and considered those as secondary implementation issues. The resulting barrier between systems and computer science kept the research communities apart, split education into isolated disciplines and resulted in compartmentalized design flows that ultimately lead to major difficulties and failures as complexity increased. As a result, essential crosscutting or emergent properties of CPS – like its dependability with respect to both safety and security – are difficult to describe, let alone implement or even verify with these traditionally separated disciplines.
On the other hand, the societal impact of CPS and as a result political awareness for this field (e.g., as demonstrated by the US NSF-initiative 2008, the EU ARTEMIS JU or the German Acatech Symposium 2010) has led to an increased interest in identifying relevant technological challenges and defining corresponding research agendas. We jointly with Prof. Bernhard Rumpe from the RWTH Aachen in Germany, Dr. Bernhard Schätz from the fortiss gGmbH and TU Munich in Germany, and Prof. Janos Sztipanovits from the Vanderbilt University in the USA organized a related Dagstuhl Seminar on “Science and Engineering of Cyber-Physical Systems” to bring researchers together from the academia and industry fields discussing the new scientific foundations and engineering principles for the emerging field of CPS.
Unlike more traditional embedded systems, full-fledged CPSs are often designed as a network of interacting elements instead of standalone devices including such things as intervention (e.g., collision avoidance); precision (e.g., robotic surgery and nano-level manufacturing); operation in dangerous or inaccessible environments (e.g., search and rescue, firefighting, and deep-sea exploration); coordination (e.g., air traffic control, war fighting); efficiency (e.g., zero-net energy buildings); and augmentation of human capabilities (e.g., healthcare monitoring and delivery). These common applications of CPS typically fall under sensor-based systems and autonomous systems. For example, many wireless sensor networks monitor some aspect of the environment and relay the processed information to a central node. Other types of CPS include autonomous automotive systems, medical monitoring, process control systems, distributed robotics, and automatic pilot avionics. The question naturally arises: are cyber-physical systems fundamentally different such that they need a different fundamental science, a different development approach, or the current approach is sufficient and no new research is necessary? It is important to recognize that the design of such systems cannot be accomplished following the classical strictly disciplinary approach – the design of the physical and computational aspects is an integrated activity. Design decisions made in one aspect (e.g. selecting the scheduling technique used in the embedded software) interact with the physical component and have profound consequences on the dynamic properties of the entire system. We argue that the design of such systems could only be accomplished by taking an integrated view and by co-designing the physical with the computational as a whole network. This becomes even more important, as we usually do not design a single product, but a series of products (product line) or the complex interplay of multiple products (system of systems). In addition, we have to evolve our products regularly for new functionality, better quality and even more integrated behavior. Thus new science, new techniques, and a new view are necessary. In CPS, the engineering of non-software artifacts (e.g. the physical mechanisms) is often based on models that typically have a computational manifestation (i.e. an executable form in some computational sense). The engineering of software using model-based techniques is an active area of research and it started to find its way into the overall software engineering practice. However, very little is being done with regard to an integrated approach, where both the ‘physical artifacts’ and the ‘software artifacts’ would be engineered based on a set of coupled models. The closest practice comes to this ideal is the approach followed in state-of-the-art system modeling and simulation tools: ‘plant models’ and executable controller models are (co-)simulated in a shared simulation environment, under the control of a simulation engine. Unfortunately, this approach is often insufficient for complex CPS. First, the approach often does not take into account the properties of the execution platforms (i.e. the properties and performance of processing units, the operating systems, the middleware, the quality-of-service mechanisms, etc.). Second, the Models of Computation used by the engineering tools is rather limited: it is almost always some variant of the approach followed in dataflow languages, and other, richer approaches are rarely considered. Third, it is unclear how complex, non-deterministic algorithms, without a well-defined worst-case execution time can be modeled, and what their impact is on the dynamics of the system. In an engineering process for CPS, we need to address the above and other issues related to non-functional properties like security, reliability, safety, etc. Advanced information processing permits that a embedded system can optimize its behavior for its current goals. This form of self-optimizing systems promises to achieve a much better performance than classical em- bedded systems as it behaves more “intelligent” by adjusting its behavior to the current needs. Oftentimes such adjustment can best be handled in the software and goes beyond adaptive control by synthesizing suitable strategies on the fly, replacing subsystems as required or adjust the wiring of the software architecture. We then have self-adaptive software that serve as a enabling technology for CPS. However, the possibilities of self-adaptive software can only be employed here, when appropriate models permit to engineer the interplay with the physical world in an appropriate manner. Also multi-agents systems and team playing robots are to some extend categories that oftentimes relate to CPS. However, traditionally the control part is less emphasized in these fields and therefore the existing approaches do not support to develop CPS systems where the combination of the physical and embedded information processing and networking results in otherwise not possible emergent physical behavior. To summarize, cyber-physical systems point beyond traditional embedded systems, as they are inherently heterogeneous and integrate physics with information processing. Strict disciplinary engineering approaches are not sufficient, and designers have to be skilled in at least two domains. Often they are also ‘critical’, hence safety, reliability, and security must also be factored into their design.