Architectures in Simulink & Stateflow

How to Manage Large Software Models - 2 days


Date Location
Feb 9–10, 2021



More dates and in-house training classes available worldwide on request:


Models are the core artifacts in 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, barely understandable, and the risk of errors increases due to unexpected behavior. The technical debt of the model demands proper countermeasures. This training class addresses deficits caused by large Simulink & Stateflow models and shows ways to overcome their risks.

Target Audience

This training class is targeted at 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

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."

Fees, Terms & Conditions

Agenda - Day 1

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
  • Assessing coherence in models
  • Software architecture and model structure of the sample application
  • 2:30 p.m. Short 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. Short 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

  • Hands-on: Improving model structures
    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: Model refactoring
    10:30 a.m. Short break
    10:45 a.m. Refactoring Stateflow charts
  • Challenges of Stateflow semantics
  • A safe modeling style for Stateflow
  • Sample refactoring rules

  • Hands-on: Refactoring 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. Short 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. Wrap up of the event
    5 p.m. End of training class