Skip to content

justynazander/MiLEST

Repository files navigation

Model-in-the-Loop for Embedded System Test (MiLEST)

Developed between 2005 and 2008 by Justyna Zander, Abel Marrero Perez, and Xuezheng Xiong at Fraunhofer Institute FOKUS, Berlin, Germany. Supervised by Ina Schieferdecker.

====== The main contribution of this thesis applies to the software built into embedded systems. In particular, it refers to the software models from which systems are built. An approach to functional black-box testing based on the system models by providing a test model is developed. It is contrasted with the currently applied test methods that form dedicated solutions, usually specialized in a concrete testing context. The test framework proposed herewith, is realized in the MATLAB®/Simulink®/Stateflow® [MathML, MathSL, MathSF] environment and is called Model-in-the-Loop for Embedded System Test (MiLEST).

The developed signal-feature – oriented paradigm allows the abstract description of signals and their properties. It addresses the problem of missing reference signal flows as well as the issue of systematic test data selection. Numerous signal features are identified. Furthermore, predefined test patterns help build hierarchical test specifications, which enables a construction of the test specification along modular divide-and-conquer principles. The processing of both discrete and continuous signals is possible, so that the hybrid behavior of embedded systems can be addressed. The testing with MiLEST starts in the requirements phase and goes down to the test execution level. The essential steps in this test process are automated, such as the test data generation and test evaluation to name the most important.

Three case studies based on adaptive cruise control are presented. These examples correspond to component, component-in-the-loop, and integration level tests. Moreover, the quality of the test specification process, the test model, and the resulting test cases is investigated in depth. The resulting test quality metrics are applied during the test design and test execution phases so as to assess whether and how the proposed method is more effective than established techniques.