Taming the Beast – How to Manage Large Software Models


Date: tba

Models are the core artifacts in automotive software development. Over time – within a single development project or even across multiple evolution steps – models grow as they capture more and more functionality. As a result, models become hard to maintain, rarely understandable, and the risk of errors due to unexpected behavior increases. The technical debt of the model demands proper countermeasures. This training class addresses deficits caused by large models and shows ways to overcome their risks.

Also available as an in-house training class worldwide on request.
In this case, our instructors can tailor the curriculum to meet your specific needs.


Pawel Malysz,

"The seminars provide insight and ideas on how to approach handling large software projects in a systematic way with useful suggestions and quantitative metrics."


Target audience

This training class is targeted towards modelers, developers, testers, quality managers, project managers, and team leaders, whose focus is model-based development of embedded software based on MATLAB®/Simulink® for serial projects.


  • Basic concepts of software architectures
  • Assessing architectural design principles in models
  • Refactoring Simulink® models
  • Layered application architectures
  • Representing architectures in models


10 a.m. Welcome and introduction round
10:30 a.m. Overview: Model-based development and quality assurance with Simulink®
  • Foundations of model-based development
  • Overview of development and quality assurance activities
  • Characteristics of ISO 26262-compliant development
  • 12 p.m. Lunch break and open dialog
    1 p.m. Analysis and evaluation of model structure
  • Introduction to complexity metrics
  • Calculating model complexity
  • Countermeasures to overly complex models
  • Assessment of coherence in models
  • Software architecture and model structure of the sample application
  • 2:30 p.m. Break
    2:45 p.m. Software architecture
  • Basics of software architectures
  • Expected properties of an ISO 26262-compliant software architecture
  • Principles of software unit design
  • 4:15 p.m. Break
    4:30 p.m. Implementing software architectures in models
  • Software architecture in models
  • Principles for layered models
  • Interface handling in models
  • 5:15 p.m. Integrated models and distributed modeling
  • Advantages of model referencing and libraries
  • Defining distributed parameter files
  • 6 p.m. End of day

    AGENDA - DAY 2

    9 a.m. Refactoring Simulink® models and their structure
  • Modeling styles facilitating refactoring
  • Basic refactoring operations for Simulink®
  • Complex refactoring operations

  • Hands-on using MES's latest refactoring tool
    10:30 a.m. Break
    10:45 a.m. Refactoring Stateflow® charts
  • Challenges of Stateflow® semantics
  • A safe modeling style for Stateflow®
  • Sample refactoring rules

  • Hands-on with participant models
    12:15 p.m. Lunch break and open dialog
    1:15 p.m. Regression testing of models
  • Test goals on different testing levels
  • Safeguarding functional properties of model and code
  • Regression testing and back-to-back testing, MiL – SiL – PiL
  • Automatic test evaluation with test assessments
  • 2:45 p.m. Break
    3 p.m. Process concerns regarding refactoring
  • Roles and responsibilities of software architect, software developer, and test engineer
  • Distinction between architecture design (top-down approach) and architecture improvement (bottom-up approach) of emerging architectures
  • Refactoring in agile settings
  • Refactoring legacy models
  • 4:30 p.m. Summary and conclusion
    5 p.m. End of training class