- Creating and modifying Simulink models and simulating system dynamics
- Implementing interface control of Simulink subsystems and models
- Managing requirements in Simulink models
- Partitioning models using Simulink subsystems, libraries, and model references
- Code generation and code customization options
- Dynamic in-the-loop testing of Simulink models and generated code
- Formal verification of Simulink models
- Establishing and enforcing modeling standards
Day 1 of 5
Overview of ISO 26262 and Model-Based Design
Objective: Get an overview of ISO 26262 and its role in the automotive industry. Discuss MathWorks’ involvement and level of support within this standard.
- ISO 26262 standard
- Required safety level
- Tool confidence level
- Reference workflow
- Tool qualification
Objective: Create a Simulink model and define its sample time and data types.
- Introduction to the Simulink environment
- System inputs and outputs
- Discrete signals and states
- Simulation and analysis
- Simulation data inspector
Model Timing and Execution
Objective: Simulating a single-rate and a multirate model. Data transfer considerations.
- Simulink solver overview
- Block execution
- Modeling single-rate systems
- Multirate discrete systems
- Rate transitions
- Data integrity and data determinism considerations
Objective: Explore how to set up and enforce modeling standards, check for common modeling errors, and optimize model performance.
- Understanding modeling standards
- Running edit-time checks
- Using Model Advisor
- Reporting results
Day 2 of 5
Objective: Link a Simulink model to system requirements.
- Identifying and writing high-level requirements
- Writing requirements
- Creating requirement sets
- Importing requirements
- Requirements linking
Objective: Introduce System Composer for system architecture workflows.
- Introducing System Composer
- Creating architectural elements
- Defining stereotypes for each type of element
- Analyzing architectures
- Component interfaces
- Bus objects
- Data dictionaries
- Creating architectural views
- Linking Simulink models
Objective: Discuss the pros and cons of the different features used for organizing a Simulink model into separate components.
- System component considerations
- Virtual subsystems
- Atomic subsystems
- Model references
- Component variants
Day 3 of 5
Objective: Discuss how to effectively organize a project (containing models, data, documentation, etc.) and perform configuration management tasks.
- Project setup
- File dependencies and impact
- Source control integration
- File differences
Software Unit Verification
Objective: Create time-based and logic-based test cases for a Simulink model.
- Types of verification
- Detecting desing errors
- Defining test cases
- Generating test harnesses
- Importing test inputs
- Incorporating logic in tests
- Performing requirements-based assessments
Objective: Create repeatable groups of tests and automatically generate reports from the test results.
- Creating test files
- Configuring simulation, baseline, and equivalence tests
- Configuring unit and integration tests
- Measuring model coverage
- Increasing coverage with automatic test generation
- Viewing and documenting test results
Day 4 of 5
Code Generation and Customization
Objective: Configure Simulink models for embedded code generation using optimization and customization options and effectively interpret the generated code.
- Architecture of an embedded application
- Generating code
- Modifying function prototypes
- Reusable function interface
- Setting signal storage classes
- Controlling storage classes with data objects
- Creating reconfigurable data types
Generated Code Architecture
Objective: Control the architecture of the generated code using subsystems, model references, and buses.
- Creating reusable model references
- Controlling data type of bus signals
- Generating reusable subsystem code
- Generating variant components
Software Testing and Analysis
Objective: Software testing and verification using in-the-loop testing techniques for model references and top-level model
- Software-in-the-loop testing of generated code
- Profiling generated code
- Model Reference software testing
- Hardware support overview
- Arduino setup
- Validating generated code on target
Day 5 of 5
Objective: Discuss the methods of automatically creating reports and documentation from Simulink models.
- Web views
- Standard reports
Software Development Best Practice
Objective: Perform static analysis on the generated code to ensure the code is compliant with MISRA C:2012.
- Code verification using Polyspace Bug Finder
- Software MISRA C:2012 compliance
- Analyzing code metrics
Objective: Use the IEC Certification Kit (for ISO 26262 and IEC 61508) to qualify MathWorks tools to meet compliance with ISO 26262
- Tool qualification
- IEC Certification Kit (for ISO 26262 and IEC 61508)
Objective: Apply Model-Based Design to implement a control algorithm to showcase the reference workflow.
- Requirements traceability
- Software unit design
- Software unit testing
- Integration testing
- Code generation