Develop ISO 26262-Compliant ADAS Applications with Model-Based Design
The IEC Certification Kit helps you fulfill the functional safety requirements for tool qualification (ISO 26262-6, Clause 11 and IEC 61508-3, Clause 7.4.4). The kit provides detailed workflows, guidance, and mapping documents between requirements of relevant standards and use cases of MATLAB® and Simulink® products.
Starting in R21a, the IEC Certification Kit ships with the highway lane following case study. The steps in the case study will help you develop your ISO 26262-compliant ADAS applications using Model-Based Design. The steps cover major activities, from requirements specification and architecture design to software integration and verification.
Explore the case study on your own and learn how to:
- Verify your designs early in the development process
- Trace your artifacts easily with each other and to ISO 26262 requirements
- Use automatic code generation to reduce risks associated with hand-coding
- Automate your activities, including report generation, as much as necessary
Published: 7 Oct 2021
Hi. Wondering how you can efficiently develop ADAS applications while meeting safety standards like ISO 26262? A useful place to start is the ISO case study shipping since Release 2021A in the IEC Certification Kit product.
The case study demonstrates how you can develop a highway lane following application and similar ADAS applications using Model-Based Design. This spans the engineering activities required for product development at the software level, and relevant activities from other phases of the development lifecycle, as prescribed in the ISO norm. The case study highlights how you can verify your designs early in the development process, trace your artifacts easily with each other and with respect to ISO requirements, use automatic production code generation to reduce risks associated with hand coding, and automate your activities including report generation as highly as necessary.
You can launch the Simulink project by typing "ISO26262CaseStudyStart" in the MATLAB console. The project has a folder structure that is aligned with the normative clauses of the ISO standard. For instance, this folder contains artifacts related to the specification of software safety requirements detailed in clause 6 of part 6, as the folder name may suggest.
The project also comes with a MATLAB live script that automatically opens when you start the project. The script provides a detailed walkthrough of the ISO activities, and how the case study fulfills them using Model-Based Design. These activities are in full agreement with the reference workflow for ISO available in the IEC Certification Kit, which in turn is based on qualified use cases of MathWorks tools. You can use the table of contents to quickly navigate through the script, and to access activities of your choosing, and most relevant to your role in the project.
For instance, let's assume our role is to verify software units identified at the software architectural level, and which have undergone detailed design. As such, we navigate to clause 9. This section shows how you can perform verification as early as design models are developed. In particular, you will see how to use the model advisor of Simulink to check the software units against high-integrity modeling guidelines. You can also explore how to use Simulink Design Verifier to identify possible errors in your design as dead logic or possible divisions by zero, just to mention some. You will also see how to use Simulink Test to dynamically test your models and generated code against the allocated requirements. Testing at the code level is highly automated, reusing the same tests used at the model level.
For all these activities and others covered in the case study, you can automatically generate design and verification reports that you need for reviews and audits. All the traceability links you establish between requirements, architectural models, design models, and the verification artifacts find their way into the automatically-generated reports. You can also use these links to assess completion and the impact of your changes.
The case study ships additionally with many MATLAB scripts that streamline the development and verification activities. This code section in the live script, for example, checks the automatically generated code for a single software unit against MISRA C coding rules. In the case study, we take advantage of these MATLAB scripts to perform verification and report generation activities on a continuous integration server like Jenkins. Here is how this might look on the CI server, including summary of verification results. The details of this can be found in the continuous integration folder in the project.
Now it is your turn to explore the case study on your own. Enter MATLAB and type "ISO26262CaseStudyStart" in the console to get started. For more information, do not forget to consult the live script and the user guide for continuous integration.