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.