Resilient Software Systems

Cognitive systems are characterized by two features: They mimic intellectual abilities and have a high degree of flexibility to enable open systems of systems, service-oriented platforms, or cloud connectivity. Because they are used in dynamic environments, they are also developed dynamically. In addition, parts of the engineering process are shifted to run-time so that the system can analyze the operating situation and adapt itself. Such self-adaptive systems are also called resilient software systems. The Fraunhofer Institute for Cognitive Systems IKS researches and supports the development of resilient software systems.

What is resilience?

According to Laprie's definition, resilience means that a system is reliable despite unexpected changes. Fraunhofer IKS adds another level to this definition: For us, resilience means optimizing the benefits of a system while maintaining safety even in uncertain contexts. This makes resilience an important element of Safe Intelligence. Ultimately, a system must be safe at all times, but what counts most, especially for end users, is functionality.

What are resilient software systems?

To ensure that functionality and safety are not contradictory, the software systems themselves must be resilient. This means that they must have three main properties:

  • Context awareness: Resilient software systems must be aware of the current situation in the current environment in order to adapt to it.
  • Self-awareness: Resilient software systems are aware of their own goals, tasks and needs, and know how to meet them.
  • Self-adaptation: Resilient software can adapt to the situation in order to best fulfill its own goals and tasks.

To enable all three characteristics, Fraunhofer IKS researches two aspects of resilient software:

  • Engineering approaches for adaptive resilience management for cognitive software systems
  • Frameworks for self-adaptive software systems

Adaptive resilience management for cognitive software systems

One focus of our research is on methods for describing the operational environment - so-called Operational Design Domains (ODDs). We also apply model-driven approaches to resilient software development. The focus is on resilience models for runtime operations. This allows cognitive systems to assess their state and self-manage their resilience at runtime.

Frameworks for self-adaptive software systems

In addition to approaches for the development of resilient software systems, Fraunhofer IKS also develops frameworks for the realization of adaptive software systems. The frameworks support adaptive resilience management by integrating established platforms such as ROS, AUTOSAR or OPC/UA. Furthermore, frameworks enable the required flexibility of cognitive systems by providing self-adaptive concepts for resilient service-oriented systems and cloud integration.

In particular, frameworks promote

  • resilient open systems-of-systems,
  • a dynamic and safe orchestration of services,
  • dynamic and safe integration of cloud services, and
  • dynamic and safe deployment of services to the edge or cloud or other systems.

Resilient Software Systems from an interdisciplinary perspective

Fraunhofer IKS takes an interdisciplinary approach to resilient software systems and incorporates results from the two other main research areas "Trustworthy AI" and "Safety Assurance" into the development of resilient software systems. For example, safety assurance is one of the main concerns of resilience. Together with the Safety Assurance research unit, the researchers are therefore working to ensure that the safety models developed fit the resilience models.

 

DevOps for autonomous mobile robots

With Magazino GmbH, Fraunhofer IKS researched the continuous development (DevOps) and safeguarding of autonomous mobile robot systems (AMR) and evaluating them using concrete scenarios.

 

System health monitoring for vehicles

As part of the international development partnership AUTOSAR, Fraunhofer IKS is conducting research with partners on the development of a system health management for vehicle systems.

 

Safety Assurance on our blog

On our blog you will find articles about research on Safety Assurance and all other topics of Fraunhofer IKS. Read on directly:

Further research topics

 

Trustworthy AI

AI-based systems must be trustworthy to be used in safety-critical areas. This is where Fraunhofer IKS research comes in, developing methods to make AI safer and more understandable.

 

Safety Assurance

Fraunhofer IKS is researching the requirements that an AI must fulfill in order to be safe enough. We are also working on safety cases to prove the safety of the overall system.

References

Use cases and references to the research areas of Fraunhofer IKS can be found in our reference overview. Use the links below to jump directly to the area you are most interested in: