Fraunhofer Institute for Communication Systems ESK
- © Fraunhofer ESK
Adaptivity improves the resource efficiency and flexibility of software-driven embedded systems. The term adaptivity refers to the extent in which a system is capable of adapting itself to changes in its internal and external environment, resources and requirements. The corresponding control mechanisms must ensure reliability, an essential factor for many embedded systems. Another issue involves the growth of distributed systems, meaning multiple processors that are networked together to provide common services. The key challenge in such distributed environments is making sure the adaptive systems exhibit a high level of coordination, efficiency and consistency, all of which must be guaranteed during the design and analysis phases.
Taking adaptivity into account at the design level requires new concepts for designing distributed services and functions in networked systems. With existing approaches, the features and aspects of the system - also referred to as variability - are specified in the design and cannot be adapted at runtime. Against this backdrop, one of Fraunhofer ESK's research goals is to develop an end-to-end methodology and modeling technique for adaptive systems that features inherent variability and adaptivity and the associated control mechanisms.
At the core of these activities is the design, implementation and evaluation of distributed embedded system concepts.
Adaptive software systems
For this area of research, which centers on networked system adaptivity, Fraunhofer researchers developed several concepts that enable the efficient and reliable reconfiguration of distributed software. The concepts were evaluated with simulation platforms and then demonstrated on automotive electronic control units (ECU). The research activities encompass the development of system and architecture concepts for adaptive systems, as well as the reconfiguration process itself. There are several important aspects to enabling adaptivity through the reconfiguration of software components, one of which entails designing a control structure capable of streamlined and accurate decision making. That means executing reconfigurations only in the right situation and within the time constraints of embedded systems, which are often subject to strict availability and realtime requirements. Reconfiguration also requires ascertaining a valid new configuration and then completing the process by switching to the new configuration without impacting the system.
Adaptive system development
Fraunhofer ESK developed a feature-based methodology and architecture concept that enables the transition to adaptive systems. The goal is modeling of the individual system features and systematic development of a product based on design decisions made during the development process. By modeling the dependencies between the features and the system resources - also referred to as non-functional characteristics - developers have the opportunity to systematically handle potential variabilities at the design and runtime levels.