Analysis and improvement of model architectures for safety critical systems

Paper #:
  • 2018-01-1077

  • 2018-04-03
Model-based software development is a state-of-the-art approach to develop embedded control systems in automotive electronics. The model is the central artifact that describes the desired behavior of a system. Dedicated parts of the model serve as the starting point for the generation of the control software, which is linked to a runtime environment and loaded onto the control unit. Functions under development have become complex in the recent years. So, multi developers are involved into development leading to models of significant size, and the development of comprehensive application systems requires the distribution of functionality throughout several models. The overall architecture of these models and the resulting artifacts must meet multiple requirements: maintainability, resource requirements, and testability are just a few. This contribution presents current methods of a) rating software model architectures and b) model refactoring for architecture improvement. The contribution shows how methods relate to the ISO26262 'principles of software architectural design' and and how they contribute to the implementation of the standard. We introduce five core methods which help to implement the ISO principles for architectural design in model-based software development. The application of the methods lead not only to simpler models and higher modularity but also ensure compliance to the ISO standard. 1. Hierarchical structure of models We show why it is helpful to enforce the usage of layers in models. By using dedicated model layers for structuring purposes, developers can effectively distribute work and also control the complexity of model parts. 2. Restricted size of software components Determination and restriction the size of software components helps to control the efforts spent on development and quality assurance for individual software components. The definition of an effective metric for model size is the precondition for complexity control. 3. Clone detection In distributed development, large models exhibit a significant amount of duplicates which blow up the size of a model without need. A method for the detection of subsystem clones helps to analyze large models automatically. Clones found can be replaced by libraries, hence contributing to the demand to enforce low complexity. 4. Restricted size of interfaces ISO 26262 recommends to restrict the size of interfaces. Model based development, therefore, shall enforce the usage of buses, but also shall control the effectiveness of interfaces. We show how sparseness of interfaces in models can be determined in order to assess architectural smells. 5. High cohesion within each software component To follow the general design principle of high cohesion, developers should be possible to detect incoherent parts of the model. We demonstrate how the model improvement can be guided by detecting subsystems with high incoherence and - at the same time - high complexity.
SAE MOBILUS Subscriber? You may already have access.
Attention: This item is not yet published. Pre-Order to be notified, via email, when it becomes available.
Members save up to 36% off list price.
HTML for Linking to Page
Page URL

Related Items

Technical Paper / Journal Article
Training / Education