The last two decades have witnessed a remarkable evolution of computer systems, in particular embedded systems. Such systems are typically hidden within larger electronic devices and carry out a particular function, potentially critical in terms of money or human lives. Examples of such systems are smart-phones, anti-lock brakes, auto-focus cameras, fax machines, life-support devices, flight management systems and hundreds of other use-cases, in which embedded systems are completely unrecognized by the device’s user.
Embedded systems enable the real-time computer control of physical devices and systems, resulting in an unprecedented level of performance and utility. The specific imposed requirements that must be satisfied by embedded systems, such as timeliness, dependable operation in safety-relevant scenarios, short time-to-market and low cost in combination with the pressure to increase the functionality, lead to an enormous and challenging growth in the complexity of the design at the system level.
Our research offers solutions for these challenging problems through significant advances in the area of distributed system architectures. A system architecture provides the scientific and engineering foundation for the construction of embedded systems. As shown in the picture above, components are built on top of a platform, which offers platform services as the basis for the implementation and integration of components. The platform services enable emergence of global application services of the overall system out of local application services of the constituting components. Therefore, the platform services provide elementary capabilities for the interaction of components, such as message-based communication between components or a global time base. Also, the platform services are the instrument via which a component creates behavior that is externally visible at the component interface. In addition, the specification of a component’s interface builds upon the concepts and operations of the platform services. The component interface specification constrains the use of these operations and assigns contextual information (e.g., semantics in relation to the component environment) and significant properties (e.g., reliability requirements, energy constraints).
The goals of our research are to discover design principles and to develop architectural services that enable a component-based development of embedded systems in such a way that the ensuing systems can be built cost-effectively and exhibit key non-functional properties (e.g. composability, robustness, maintainability).
Our investigations have resulted in contributions ranging from conceptual models of component-based system architectures, to distributed algorithms for protocol transformation and fault-tolerance, to embedded operating system technologies and a multi-processor system-on-a-chip for safety-relevant applications. We follow a balanced intermix between conceptual work with a sound theoretical basis and prototype implementations with experimental evaluations. Due to the interdisciplinary nature of embedded systems, we employ close cooperation with researchers from other fields (e.g. experts on hardware-software co-design, knowledge management, theoretical computer science, specialists from automotive, railway, avionic and industrial control domains). Furthermore, our close collaboration with industry provides real-world requirements and research challenges, as well as industrial feedback.