Many innovations in complex embedded and CPS are realized by software, resulting in a dramatically increasing complexity of the software part. Several frameworks exist, trying to deal with this complexity at the level of the development process. Beneath dealing with the complexity at the level of the software development process, another challenge of complex systems, like they exist in case of autonomous robotic systems, is to integrate different software parts with varying requirement into one application that potentially runs on the same hardware node. An example of such varying requirements are software parts that underlie different timing constraints, e.g., in the case when integrating functionalities into one application while some of the constituent functionalities are required to fulfill hard real-time constraints while for others it is rarely possible to even provide information like in the case of worst-case execution times. In other domains, like in the case of the automotive domain, normally such functionalities represented by software, underlying such varying constraints, are either deployed on separate HW or, if deployed on the same HW, are not allowed to communicate directly with each other. Such a partitioning, at the physical/resource and communication level, between soft and hard real-time capable functional parts is realized to ensure that local constraints of hard-real time capable parts are not violated.
Due to the increasing range of applications of CPS more and more cases arise, where it is required or at least strongly desired to integrate software parts with varying timing requirements into one application being executed on the same HW node. As an example, consider a typical modern car where already a huge number of electronic control units (ECUs) is included (up to 100 and more ECUs per car), leading to several problems as increasing HW costs and high (electric) power consumption. Another example requires the closely combination of different software parts with varying real-time constraints as in our evaluation example of mobile and autonomous robotic systems. Such robotic systems often need to handle different tasks, as navigation and obstacle avoidance. While obstacle avoidance is an example, where real-time constraints need to be handled rigorously, navigation and related activities like map creation can often rarely be executed under hard real-time constraints. Nevertheless, both functionalities use common elements as sensors and actuators for measuring obstacles or setting the drive speed. In this context, we investigate how such hard and soft real-time software parts can be combined on the same ECU and integrated without jeopardizing crucial performance requirements and fullfilling timing behavior constraints. Furthermore, we investigate how this integration can be applied on existing frameworks like AUTOSAR. As a running example, we use the Robotino robot.
You find our publications for this research area at the official project website.