
Define functional safety as the absence of unreasonable risk from hazards caused by malfunctioning behavior, i.e., failure or unintended behavior relative to design intent.
Learn how software safety requirements are specified and derived from technical safety requirements, allocated to hardware and software, and decomposed for verification and testing within ISO 26262-6.
Details software architectural design as the second design step, aligning modular, low-complexity units (torque calculation, torque coordinator) with safety requirements, and using notations from natural language to formal, input-logic-output structure.
Adopt a model-based solution from ETA's, part of Bosch, to design software units with parameters, memory locations, and operators, auto-generating code with checks and optimizations to reduce manual errors.
Explore software integration and testing in ISO 26262-6:2018, verifying embedded software realizes the architectural design, demonstrates compliance with software and hardware interfaces, and checks unit functionality and robustness.
Explore the ISO 26262-6 three-level monitoring concept, detailing level one functional functions, level two monitoring, and level three hardware monitoring, and how software monitoring reduces risk in engine control units.
This course is about ISO 26262-4: Product development at the system level. All relevant clauses of this part of ISO 26262 are explained in the course. The following clauses are considered:
Clause 6: Specification of software safety requirements
Clause 7: Software architectural design
Clause 8: Software unit design and implementation
Clause 9: Software unit testing
Clause 10: Software integration and testing
Clause 11: Testing of the embedded software
The following aspects are considered in Clause 6: Specification of software safety requirements:
The ISO 26262 V-model for the software development phase
Characteristics and attributes of the software safety requirements
The following aspects are considered in Clause 7: Software architectural design:
Principles and notations for the software architectural design
Error detection mechanisms according to ISO 26262
Error reaction mechanisms according to ISO 26262
Example for the software architectural design
The following aspects are considered in Clause 8: Software unit design and implementation:
Principles and notations for the software unit design
Methods for implementation of the software unit design
Software tool qualification
Example for the software unit design
The following aspects are considered in Clause 9: Software unit testing:
Aims of software unit testing
Methods to derive test methods with several examples
Test methods
Structural coverage (statement coverage, branch coverage, modified condition/decision coverage) with examples
The following aspects are considered in Clause 10: Software integration and testing:
Aims of software integration and testing
Methods to derive test cases
Test methods
Structural coverage (function coverage, call coverage) with example
The following aspects are considered in Clause 11: Testing of the embedded software:
Aims of testing of the embedded software
Test methods
In the exercises you will learn step by step how to develop the software architectural design and software safety requirements for an electric vehicle and the safety goal "Avoid an unintented acceleration".
A possible solution for the exercises is presented in a video.