The automotive industry has been moving towards model-based software development in recent years. Models now occupy the position of the main artifact, a position which was previously occupied by source code. Source code is generated from the models using a code generator and as such, source code is losing its importance as the artifact to be processed. As a result, model quality directly influences software quality.
One tool favored in the model-based software development of embedded systems is e. g. Matlab Simulink with dSPACE TargetLink. The used models consist of blocks (functions), connected by lines (data flows), and are structured hierarchically into sub- systems. In contrast to MDA (model-driven architecture) from OMG, Simulink does not use UML diagrams, but rather a proprietary block diagram notation. This unites the PIM (platform-independent model) and the PSM (platform-specific model) in one model that contains all information.
Simulink models are growing increasingly large and complex. Large models in the automotive domain can contain up to 15,000 blocks, 700 subsystems and 16 hierarchical levels. This makes quality assurance of models an ever more daunting undertaking.
This paper presents an approach that enables objective and automated rating of model quality with the help of a quality model. The focus of this approach lies on both the Simulink model itself and the entire model-based development process.
Metrics are used to determine the existence of desired quality criteria and their degree of fulfillment. Statements regarding the maturity of a model can be made by evaluating the metrics and aggregating the results in a quality model. This approach allows large and complex models to be rated automatically and easily, with much less effort.
A quality model can be used to determine the existence of desired quality criteria that characterize a high-quality model. It provides a way of looking at models that permits a statement regarding their quality. Consequently the quality model defines our notion of model quality. If a model fulfills all quality criteria it is of high quality.
Factors that influence model quality are defined and specific criteria are used to determine whether these factors are fulfilled. To what extent these criteria are fulfilled is measured by means of metrics. A quality model therefore has the structure of a tree, whose leaves represent the metrics. Our quality model currently consists of 6 factors, 17 criteria, and 43 metrics. Thanks to its tree-like structure, a quality model can be extended to include any number of factors, criteria, and metrics.
Quality assurance must be an integral part of the entire development process from start to finish. The goal is to detect errors as early as possible in the development process, as corrections applied at this stage only involve a limited number of development phases. In addition, this forward-looking approach reduces the cost of maintenance and support.
This paper discusses embedding the quality model in the development process by establishing the relation between the most important artifacts in the model-based development process and the quality model itself. We then proceed to describe model quality rating of the analyzed models and trend analysis. Finally, we give an overview of our prototypical implementation and further evaluation of our approach.
To read more of this external content, download the complete paper from the author archives at Tuebingen University, Germany .