In the automotive domain software developers are confronted with steadily increasing complexity of models in MATLAB/Simulink. To assist developers with complexity handling, we suggest automatic analyses resulting in special views on Simulink models, e. g. to visualise dependencies of model parts. To this end, we present (1) a modelbased approach based on the Eclipse Modeling Framework (EMF) and model transformations and (2) an alternative approach applying a central database combined with MATLAB/Simulink and Java functionality. We compare the approaches with each other especially in terms of scalability and efficiency.
Abstract: In dieser Arbeit werden Konzepte präsentiert, mit denen Verknüpfungen zwischen Elementen, welche während der Produktlinienentwicklung entstehen, analysiert und im Fall von identifizierten Inkonsistenzen die semiautomatische Ausführung von korrektiven Maßnahmen ermöglicht wird. Dies geschieht auf Basis entwicklungsrelevanter Meta-Informationen, speziell den Merkmalen, welche mittels Annotationen an den Artefaktelementen hinterlegt werden. Betrachtet werden Inkonsistenzen zwischen verschiedenen Artefakten und die einem Artefakt inhärenten, wobei den artefaktübergreifenden Inkonsistenzen Prioritäten zugewiesen werden. Die prototypische Realisierung orientiert sich an einer für die Industrie typischen Werkzeuglandschaft.
This paper presents a framework for model-based product lines of embedded systems. We show how to integrate model-based product line techniques into a consistent framework that can deal with large product lines as they are common in industry. The framework demonstrates the strengths of model-based techniques like abstraction, support for customised representations, and a high degree of automation. In particular, we provide the following contributions: (1) to shift existing product lines towards a model-based approach, we support the (semi-) automated extraction of models from existing requirement, test, and implementation artefacts; (2) to cope with the complexity of artefacts and their interrelations in industrial product lines, we support the generation of context-specific views. These views support developers, e.g., in analysing complex dependencies between different artefacts; (3) finally, we support automated product derivation based on an integrated hardware abstraction layer. Most of the presented concepts have been inspired by challenges arising in the industrial application of product line techniques in the model-based engineering of embedded systems. We report on experiences gathered during the application of the techniques to a prototypical product line (on a rapid prototyping platform in the university lab) and to industrial sample cases (at the industry partner).
In automotive software development, dependencies among process artefacts, i. e. requirements, implementation and test cases, are often not obvious. This causes time-intensive manual analysis efforts to incorporate changes during software evolution. Therefore, automated tool support is essential to establish an efficient change management during the software life cycle. This paper presents a model-based concept which integrates the artefacts themselves as well as development-related meta information about them to establish both functional and process-related artefact analyses. To this end, we represent them as models in the Eclipse Modeling Framework and apply model transformations to support different kinds of automated analyses.
In model-based development of embedded software product lines, artefacts, i. e. the requirements document, implementation model, and tests, often become extremely complex w. r. t. size and dependencies. Moreover, the interrelationships among the artefacts are not obvious and information about development, design decisions as well as variability-related aspects are missing. Hence, engineers have to thoroughly analyse such dependencies to incorporate changes during evolution of the product (line) to assure quality. As this task is time-intensive and error-prone such analysis efforts have to be automated. This paper presents a comprehensive and extensible framework under development which provides (1) artefact integration and (2) analysis functionality to address these issues by following an approach based on a central database.
In embedded systems in general and in automotive systems in particular the systematic reuse of existing assets is crucial. Moreover, companies in these domains often offer whole families of similar products. Hence, the application of product line engineering seems to be an obvious option. However, current products have reached a complexity level where management of products within a product line cannot be handled with current techniques and tools (e.g. Matlab/Simulink) alone. To sustain an efficient engineering process and to reach the required quality levels of the products, additional techniques are required. In this paper we report on a prototypical framework for the analysis of embedded systems product lines. The techniques and tools offered by the framework were developed to support engineers in typical tasks, which occur during design, implementation, and maintenance of embedded software product lines. The techniques allow to analyse product line artefacts by transforming them into models, which are then used in an analysis process based on model transformation languages.
When applying model-based techniques to the engineering of embedded application software, a typical challenge is the complexity of dependencies between application elements. In many situations, e.g., during rollout of products or in the evolution of product lines, the understanding of these dependencies is a key capability. In this paper, we discuss how model-based techniques, in particular, model transformations can help to reduce the complexity of such analysis tasks. To this end, we realised a representation of Simulink models based on the Eclipse Modeling Framework (EMF). The resulting integration allows us to apply various model-based frameworks from the Eclipse ecosystem. On this basis we developed a view that increases the visibility of functional dependencies, which otherwise would have been hidden due to a lack of abstraction in the native Simulink representation. The provided analysis framework comes in handy, when such a model has to be modified. Consequently, the developer is supported in reusing existing models and avoiding errors. The concepts and techniques are illustrated with a running example, which is derived from a real industry model from Automotive Software Engineering.