Model-based Software Design and Validation

Fraunhofer Institute for Communication Systems ESK

© panthermedia

Software is the basis for a wide range of functions in today's networked systems, such as in automobiles or industrial systems. The networking and interaction of these functions is becoming increasingly complex, creating a demand for new approaches to software development and validation. One of the fundamental challenges lies in guaranteeing the reliability of the functional and non-functional communication behavior. Model-based methods can be used to create an abstraction that helps developers deal effectively with these complex network and interaction environments. A key example is executable specification models, which aid in identifying and localizing weaknesses and gaps in the specification during the early phases of development. Such models have already been successfully implemented by Fraunhofer ESK for validating the behavior of vehicle infotainment software functions.

Exploration of the design space and analysis

The development of networked systems requires taking into account not only functional, but non-functional characteristics such as timing behavior and reliability. Through modeling extensions such as MARTE, engineers can specify the non-functional characteristics in UML software components. As part of the CHESS project for instance, researchers are examining the automatic generation of an analysis model to validate timing behavior in a simulated environment using Fraunhofer ESK's own DynaSim framework.

In order to develop resource-efficient and thus cost-effective systems, especially in embedded environments, early exploration of the design space is essential. A key factor here is integrating various application-specific methods. Apart from the pure software modeling, the characteristics of the target platform must be taken into account in the development model.

The Fraunhofer ESK researchers rely on iterative methods that provide repeated feedback from the simulation processes and other analyses. A key element here is improving the models through the use of direct feedback from the analyses.

Using models for validation

The use of model-based methods can also be advantageous during the integration and validation phase. For validating networked systems, the focus of the researchers is on the communication behavior. This phase encompasses test specification models, specific executable test models and models for the coverage, generation and evaluation of test cases. Fraunhofer ESK carries out research into passive validation models for the automated or semi-automated generation of specification models. These models run parallel to the system or components under test and are designed to identify deviations from or flaws in the specified behavior, using a method that is currently being patented.

Development tool platforms

Fraunhofer ESK is enabling the use of these improved domain-specific test methods in real development environments by integrating them into tool platforms. This is frequently accomplished by creating model transformations, which allow engineers to generate and test different communication interface implementations.