Agile Model-Based Software Development

2 days or 4 half days

Date/Time Location Language
Upon request   English/German

Model-based software development has become state of the art for automotive embedded applications. Toolchains have been established, and methods and procedures have been defined to address the strong requirements of functional safety standards.

Best practices within general software development, however, propose to overcome strict waterfall process models and promote agile methods in order to address real-world challenges, such as late changes or vague requirements. These real-world scenarios exist in automotive software development, and agile methods will also be beneficial here. This training class introduces the basic principles of agile methods and elaborates on their instantiation in model-based development. The class assists participants in gaining first-hand experience in agile methods, and participants will apply some of these methods in live sessions.

Target Audience

This training class is targeted at modelers, developers, testers, quality managers, project managers, and team leaders, who want to familiarize themselves with agile methods and how agile methods comply with model-based development of embedded software based on MATLAB/Simulink and similar.

Highlights

  • Principles of model-based development with Simulink/Stateflow
  • Core concepts of agile methods like Kanban or Scrum
  • Foundations of agility in model-based development
  • Elements of continuous quality assurance
  • Approaches to continuous integration
  • Agility as viewed by either: ISO 26262 or ASPICE
  • Interactive parts that properly reflect real team situations

★★★★★ Sandra Seibold, Jungheinrich Moosburg AG & Co. KG

"This training class addresses the most important aspects of model-based software development, goes into sufficient depth, and provides best practices for everyday life. A compact and complete know-how package for anyone who works in the field of MBD.”

Languages

Available in English and German

Formats

Icon On Site Training

Open-enrollment Trainings
at one of our locations

Icon Online Training

Virtual Classroom Trainings
wherever you are

Icon Inhouse Training

In-house Trainings
online or in-house

Cost, Terms & Conditions

 

Our Trainers

Agenda

Day 1

Introduction: Agile approaches to model-based software development

  • Motivation for model-based software development
  • Why agile? Agile Manifesto and principles
  • Myths and more (interactive)
  • Typical approaches to agility: Kanban, Scrum, etc.

Overview: Model-based development and quality assurance with Simulink

  • Basic concepts of model-based development
  • Overview of development and safeguarding activities
  • Boundary conditions for safety-critical systems
  • Samples of quality assurance methods such as static and dynamic model analysis

Core elements of Scrum and Kanban

  • Development objectives in Scrum
  • Roles and timing in a Scrum team
  • Scrum quality gates: Definition of Ready (DoR), Definition of Done (DoD)
  • Principles of Kanban

Hands-on: Agile principles in a nutshell

Day 2

Model decomposition and architecture

  • Distributed modeling
  • Implementing software architectures in models
  • Analysis and evaluation of model structure
  • Version control

Hands-on: Analysis of model structure

Refactoring Simulink models and their structure

  • Refactoring: what, why, when, how
  • Refactoring based on basic guidelines
  • Refactoring based on model architecture guidelines

Hands-on: Using a model refactoring tool

Continuous integration and quality monitoring in model-based development

  • Basic concepts of continuous integration
  • Definition of integration jobs
  • Jenkins as a state-of-the-art platform
  • MES tool plugins for Jenkins
  • Quality monitoring dashboards
  • Challenges regarding a continuous integration for model-based development
  • Experience report: Validation suite for the MES Model Examiner

Using visualizations to enter the agile world

  • Getting an overview of visualizations

Hands-on: Creating a Kanban board