Certkitiec Ug
Certkitiec Ug
Certkitiec Ug
User's Guide
R2015a
www.mathworks.com
www.mathworks.com/sales_and_services
User community:
www.mathworks.com/matlabcentral
Technical support:
www.mathworks.com/support/contact_us
Phone:
508-647-7000
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand
names may be trademarks or registered trademarks of their respective holders.
Patents
MathWorks products are protected by one or more U.S. patents. Please see
www.mathworks.com/patents for more information.
Revision History
March 2009
Online only
September 2009
Online only
March 2010
Online only
September 2010
Online only
April 2011
Online only
September 2011
Online only
March 2012
Online only
September 2012
Online only
March 2013
Online only
September 2013
Online only
March 2014
Online only
October 2014
Online only
March 2015
Online only
Contents
1-2
1-2
Required Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-3
1-4
Tool Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Certificate Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reference Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conformance Demonstration Template (CDT) . . . . . . . . . . . .
ISO 26262 Tool Qualification Package (TQP) . . . . . . . . . . . .
Test Procedure and Test Cases . . . . . . . . . . . . . . . . . . . . . .
Exploring the Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-6
1-7
1-7
1-8
1-9
1-9
1-10
1-10
Supporting Artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model-Based Design Information . . . . . . . . . . . . . . . . . . . .
Software Tool Inventory . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-13
1-13
1-13
1-14
1-19
1-21
1-22
1-23
1-24
1-25
1-26
1-27
1-28
Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-29
ISO 26262 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What Is ISO 26262? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ISO 26262 Compliance Considerations . . . . . . . . . . . . . . . .
ISO 26262 Tool Qualification Considerations . . . . . . . . . . .
1-30
1-30
1-30
1-31
IEC 61508 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What Is IEC 61508? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IEC 61508 Compliance Considerations . . . . . . . . . . . . . . . .
IEC 61508 Tool Certification Considerations . . . . . . . . . . . .
1-32
1-32
1-32
1-33
EN 50128 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What Is EN 50128? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN 50128 Software Tool Considerations . . . . . . . . . . . . . . .
1-35
1-35
1-35
IEC 61511 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What Is IEC 61511? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-36
1-36
Reference Workflows
Embedded Coder Reference Workflow Overview . . . . . . . . .
2-2
2-5
2-8
Contents
2-10
2-12
2-13
Certification Process
Define Certification Objectives and Requirements . . . . . . . .
3-2
3-3
3-4
3-4
3-5
3-7
4-2
4-3
4-6
4-7
vii
viii
Contents
5-2
5-2
5-2
5-2
5-5
5-6
5-7
5-8
6-2
6-2
6-3
6-3
6-6
6-6
6-7
6-8
6-9
8-2
8-3
8-4
8-5
8-6
8-7
8-8
8-9
8-9
ix
1
Getting Started with IEC Certification
Kit
IEC Certification Kit Product Description on page 1-2
Required Knowledge on page 1-3
IEC Certification Kit Component Overview on page 1-4
Tool Artifacts on page 1-6
Supporting Artifacts on page 1-13
Products Supported by IEC Certification Kit for Each MathWorks Release on page
1-14
Access Certification Artifacts for Embedded Coder on page 1-19
Access Certification Artifacts for Simulink PLC Coder on page 1-21
Access Certification Artifacts for Simulink Design Verifier on page 1-22
Access Certification Artifacts for Simulink Verification and Validation on page
1-23
Access Certification Artifacts for Polyspace Bug Finder on page 1-24
Access Certification Artifacts for Polyspace Code Prover on page 1-25
Access Supporting Artifacts for ISO 26262 on page 1-26
Access Supporting Artifacts for EN 50128 on page 1-27
Access Supporting Artifacts for IEC 61508 on page 1-28
Limitations on page 1-29
ISO 26262 on page 1-30
IEC 61508 on page 1-32
EN 50128 on page 1-35
IEC 61511 on page 1-36
Key Features
TV SD certificates and reports for supported Simulink products
TV SD certificates and reports for supported Polyspace products
ISO 26262 tool classification and qualification work products and test suites
Traceability matrix generation covering requirements, models, and generated code
Customizable templates for delivering documentation to certification authorities
Artifacts explorer for navigating and viewing artifacts for each supported product and
standard
Checks for tool-associated bug reports
1-2
Required Knowledge
Required Knowledge
Before using the IEC Certification Kit product, make sure that you have:
Knowledge about developing safety-related software.
Knowledge of the applicable safety standard:
ISO 26262 Road vehicles - Functional safety
IEC 61508 Functional safety of electrical/electronic/programmable electronic
safety-related systems
EN 50128 Railway Applications - Communications, Signalling and Processing
Systems - Software for Railway Control and Protection Systems
IEC 61511 Functional safety - Safety Instrumented Systems for the process industry
sector
Experience with MathWorks products that you use to develop, verify, or validate
software for systems that are required to comply with the applicable standard.
If you have an Embedded Coder license, also review the following information:
ISO 26262 Standard in the Embedded Coder documentation
IEC 61508 Standard in the Embedded Coder documentation
1-3
Description
More Information
Certification and
qualification evidence
Generate traceability
matrices covering model
requirements, model
objects, and generated
code.
Generate a Traceability
Matrix on page 6-2
Display Bug Reports on
page 6-9
1-4
An Artifacts Explorer
that you can use to
access and manage work
products created during
the development of highintegrity systems, including
certification artifacts.
Artifact Management
Description
More Information
Note: The rights.txt file describes allowed uses of the IEC Certification Kit product.
You can find the file at matlabroot/toolbox/qualkits/iec.
1-5
Tool Artifacts
Tool certification artifacts support you when you use MathWorks products in the
context of the ISO 26262, IEC 61508, EN 50128, or IEC 61511 standards. You can
submit certification artifacts, or derivatives thereof, as evidence of compliance with the
standards. The artifacts in the kit are not accessible from the MathWorks website.
The IEC Certification Kit provides the following types of tool artifacts:
Certificate on page 1-7
Certificate Report on page 1-7
Reference Workflow on page 1-8
Conformance Demonstration Template (CDT) on page 1-9
ISO 26262 Tool Qualification Package (TQP) on page 1-9
Test Procedure and Test Cases on page 1-10
To familiarize yourself with the artifacts, see Exploring the Artifacts on page 1-10.
To access the certification artifacts, open the Artifacts Explorer and navigate to the
product folder.
Tool Artifacts For MathWorks Products
Tool Artifact
Embedded
Coder
Simulink
Design
Verifier
Polyspace
Bug Finder
Polyspace
Code Prover
Certificate on
page 1-7
Certificate
Report on page
1-7
Reference
Workflow on page
1-8
Conformance
Demonstration
1-6
Tool Artifacts
Tool Artifact
Embedded
Coder
Template (CDT)
on page 1-9
Qualification
Package (TQP) on
page 1-9
Test Procedure
Simulink
Design
Verifier
Polyspace
Bug Finder
Polyspace
Code Prover
Certificate
A PDF file issued by TV SD as evidence that the product is suitable for use in
development processes which need to comply with IEC 61508, EN 50128, or IEC 61511 or
qualified according to ISO 26262. Each certificate has a certificate number.
Certificate Report
TV SD, a German-based certification authority, issues an audit report evaluating the
product suitability for use in development processes that must comply with IEC 61508,
EN 50128, or IEC 61511 or qualified according to ISO 26262.
The report has the following sections:
Purpose and Scope - Provides the purpose and scope of the TV SD evaluation of
the product. TV SD audits the MathWorks development organization responsible
for the product to assess their development and quality assurance processes.
Product Overview - Provides a general description and overview of how the product is
used with other products in development processes that must comply with standards.
Identification - Identifies product releases that are covered by the audit report.
Certification - Provides descriptions of the standards and the basis of the TV SD
certification.
Results - Provides the audit results, including:
1-7
Reference Workflow
A PDF file describing a reference workflow in which the product is used in Model-Based
Design development processes that must comply with ISO 26262, IEC 61508, EN 50128,
or IEC 61511.
The IEC Certification Kit product follows an in-context approach to tool certification and
qualification. This approach is based on the reference workflows used when applying the
certified and qualified tools to develop or verify software for ISO 26262, IEC 61508, and
EN 50128 applications. You must establish that the tools are used within the referenced
workflows and constraints specified in the Certificate Reports.
The reference workflow:
Describes activities intended to comply with applicable requirements of the overall
software safety lifecycles defined by IEC 61508-3, ISO 26262, and EN 50128.
Provides tool use cases detailing how the tool is used in Model-Based Design
development processes that must comply with ISO 26262, IEC 61508, EN 50128, or
IEC 61511.
Addresses risk levels:
ASIL A - ASIL D, according to ISO 26262
SIL 1 - SIL 3, according to IEC 61508
SIL 0 - SIL 3/4, according to EN 50128
You can use the conformance demonstration template (CDT) to assess your workflow
conformance to ISO 26262, IEC 61508, or EN 50128.
1-8
Tool Artifacts
Depending on the result of the tool classification, you might need to carry out a formal
tool qualification.
Open the certificate and certificate report for a product. For example, in the Artifacts
Explorer, navigate to Embedded Coder > r2015a and open the product certificate
and certificate report:
certkitiec_ecoder_certificate.pdf
certkitiec_ecoder_certreport.pdf
The certificate certkitiec_ecoder_certificate.pdf has a number, date, TV
certification mark, and the Embedded Coder product name. It indicates that TV
assessed Embedded Coder as suitable for use in development processes that must
comply with ISO 26262, IEC 61508, EN 50128, or IEC 61511.
The certificate report certkitiec_ecoder_certreport.pdf is an audit report
detailing the TV evaluation of Embedded Coder for use in development processes
that must comply with ISO 26262, IEC 61508, EN 50128, or IEC 61511.
To comply with ISO 26262, IEC 61508, EN 50128, or IEC 61511, the certificate
report section General conditions and restrictions recommends use of the
Embedded Coder Reference Workflow for safety-related applications.
1-10
Tool Artifacts
Open the Reference Workflow for a product for a product. For example, in
the Artifacts Explorer, navigate to Embedded Coder > r2015a and open
certkitiec_ecoder_workflow.pdf.
The Embedded Coder Reference Workflow describes a workflow for applicationspecific verification and validation of models and generated C and C++ code
developed using Model-Based Design with product code generation. To comply with
ISO 26262, IEC 61508, EN 50128, or IEC 61511, you should use this reference
workflow in safety-related applications.
The Embedded Coder Reference Workflow addresses these risk levels
ASIL A - ASIL D, according to ISO 26262
SIL 1 - SIL 3, according to IEC 61508
SIL 0 - SIL 3/4, according to EN 50128
Open the Conformance Demonstration Template (CDT) for a product. For example,
in the Artifacts Explorer, navigate to Embedded Coder > r2015a and open
certkitiec_ecoder_cdt.docx.
You can use the Embedded Coder Conformance Demonstration Template to
demonstrate conformance with the parts of ISO 26262-6/8, IEC 61508-3, or EN
50128 covered in the Embedded Coder Reference Workflow.
For example, in the Embedded Coder Conformance Demonstration Template,
checklist 1 lists the Technique / Measure Model Review with a reference to the
Review and Static Analysis at the Model Level in the Embedded Coder Reference
Workflow. In the third column of the checklist, you can state to what degree you
applied the Model Review technique when assessing compliance to the standard.
Open the ISO 26262 Tool Qualification Package for a product. For example,
in the Artifacts Explorer, navigate to Embedded Coder > r2015a and open
certkitiec_ecoder_tqp.docx.
The Embedded Coder Tool Qualification Package has templates for the following ISO
26262 work products:
Software Tool Criteria Evaluation Report
Software Tool Qualification Report
Confirmation Review of Tool Classification and Qualification
1-11
The Software Tool Criteria Evaluation Report provides Embedded Coder use cases
and a tool classification summary. The tool classification summary establishes these
required tool confidence levels:
TCL1 for the code generator if you follow the Embedded Coder Reference
Workflow.
TCL2 for the code generator if you follow a subset of the Embedded Coder
Reference Workflow.
6
If applicable, explore the Test Procedure / Test Cases for a product. For example, in
the Artifacts Explorer, navigate to Embedded Coder > r2015a.
To execute the test cases, see Run Test Cases and Procedures for Embedded Coder
on page 4-3.
1-12
Supporting Artifacts
Supporting Artifacts
The following artifacts provide certification support when you use MathWorks products
in the context of the ISO 26262, IEC 61508 or EN 50128 standards. The artifacts in the
kit are not accessible from the MathWorks website.
To access the supporting artifacts, open the Artifacts Explorer.
Supporting Artifact
ISO 26262
EN 50128
IEC 61508
Model-Based Design
Information on page
1-13
1-13
Embedded Coder
R2011a - R2015a
R2010a - R2015a
Polyspace Client for C/C++ and Polyspace R2008a - R2008b, R2009b - R2013a, R2009a+
Server for C/C++
Polyspace Bug Finder
R2013b - R2015a
R2013b - R2015a
R2007a+
IEC Certification Kit support for products, releases, and standards is shown in the IEC
Certification Kit Support for Standards table. The IEC Certification Kit for a release can
include certification artifacts for products in a previous release. This inclusion occurs, for
example, when the IEC Certification Kit supports a new standard or a new product.
You can use the information in the IEC Certification Kit Support for Standards table to
determine the products and standards that are supported for each release. For example:
Initial support of Embedded Coder for ISO 26262 8:2011 is provided in IEC
Certification Kit R2012a.
IEC Certification Kit R2012a provides ISO 26262 8:2011 certification artifacts for
R2011a through R2012a of Embedded Coder.
Initial support of Simulink PLC Coder for IEC 61511:2003 is provided in IEC
Certification Kit R2010b.
1-14
IEC Certification Kit R2010b provides IEC 61511:2003 certification artifacts for
R2010a and R2010b of Simulink PLC Coder .
Initial support of Simulink Verification and Validation for IEC 61508:2010 is provided
by IEC Certification Kit R2011a.
IEC Certification Kit R2011a provides IEC 61508:2010 certification artifacts for
R2010bSP1 and R2011a of Simulink Verification and Validation .
IEC Certification Kit Support for Standards
Supported
Product
Supported
Product
Release
Initial
Support
IEC 615083:
2010
Support
ISO 26262
8:
2011
Support
EN 50128:
2011
Support
IEC 61511:
2003
Support
Embedded
Coder
R2015a
R2015a
R2015a
R2015a
R2015a
R2014b
R2014b
R2014b
R2014b
R2014b
R2014a
R2014a
R2014a
R2014a
R2014a
R2013b
R2013b
R2013b
R2013b
R2013b
R2013a
R2013a
R2013a
R2013a
R2013a
R2012b
R2012b
R2012b
R2012b
R2012b
R2012a
R2012a
R2012a
R2012a
R2012a
R2011b
R2011b
R2011b
R2011a
R2011a
R2011a
R2010bSP2
R2012b
R2012b
R2012b
R2012b
R2010bSP1
R2011a
R2011a
R2012a
R2012a
R2010b
R2010b
R2010a
R2010a
R2009bSP1
R2010b
R2009b
R2009b+
R2009a
R2009a+
Real-Time
Workshop
Embedded
Coder
R2008b
R2008a
1-15
Supported
Product
Supported
Product
Release
IEC 615083:
2010
Support
ISO 26262
8:
2011
Support
EN 50128:
2011
Support
IEC 61511:
2003
Support
Simulink
PLC Coder
R2015a
R2015a
R2015a
R2015a
R2014b
R2014b
R2014b
R2014b
R2014a
R2014a
R2014a
R2014a
R2013b
R2013b
R2013b
R2013b
R2013a
R2013a
R2013a
R2013a
R2012b
R2012b
R2012b
R2012b
R2012a
R2012a
R2012a
R2012a
R2011b
R2011b
R2011b
R2011b
R2011a
R2011a
R2011a
R2011a
R2010b
R2010b
R2010b
R2010a
Simulink
Verification
and
Validation
R2015a
R2015a
R2015a
R2015a
R2015a
R2014b
R2014b
R2014b
R2014b
R2014b
R2014a
R2014a
R2014a
R2014a
R2014a
R2013b
R2013b
R2013b
R2013b
R2013b
R2013a
R2013a
R2013a
R2013a
R2013a
R2012b
R2012b
R2012b
R2012b
R2012b
R2012a
R2012a
R2012a
R2012a
R2012a
R2011b
R2011b
R2011b
R2011a
R2011a
R2011a
R2015a
R2015a
R2015a
R2015a
R2015a
R2014b
R2014b
R2014b
R2014b
R2014b
R2014a
R2014a
R2014a
R2014a
R2014a
R2013b
R2013b
R2013b
R2013b
R2013b
R2010bSP1
Simulink
Design
Verifier
1-16
Supported
Product
Supported
Product
Release
IEC 615083:
2010
Support
ISO 26262
8:
2011
Support
EN 50128:
2011
Support
R2013a
R2013a
R2013a
R2013a
R2013a
R2012b
R2012b
R2012b
R2012b
R2012b
R2012a
R2012a
R2012a
R2012a
R2012a
R2011b
R2011b
R2011b
R2011a
R2011a
R2011a
R2015a
R2015a
R2015a
R2015a
R2015a
R2014b
R2014b
R2014b
R2014b
R2014b
R2014a
R2014a
R2014a
R2014a
R2014a
R2013b
R2013b
R2013b
R2013b
R2013b
Polyspace
R2015a
Code Prover R2014b
R2015a
R2015a
R2015a
R2015a
R2014b
R2014b
R2014b
R2014b
R2014a
R2014a
R2014a
R2014a
R2014a
R2013b
R2013b
R2013b
R2013b
R2013b
R2013a
R2013a
R2013a
R2013a
R2013a
R2012b
R2012b
R2012b
R2012b
R2012b
R2012a
R2012a
R2012a
R2012a
R2012a
R2011b
R2011b
R2011b
R2011a
R2011a
R2011a
R2010b
R2010b
R2010a
R2010a
R2009b
R2009b+
IEC 61511:
2003
Support
R2010bSP1
Polyspace
Bug Finder
Polyspace
Client for
C/C++ and
Polyspace
Server for C/
C++
R2009a+
R2008b
R2008a
1-17
Supported
Product
Supported
Product
Release
Initial
Support
IEC 615083:
2010
Support
ISO 26262
8:
2011
Support
EN 50128:
2011
Support
IEC 61511:
2003
Support
Polyspace
Verifier for
C
R2007a+
R2009a+
R2011a
R2012a
1-18
File
certkitiec_ecoder_certificate.pdf
certkitiec_ecoder_certreport.pdf
certkitiec_ecoder_workflow.pdf
certkitiec_ecoder_cdt.docx/.pdf
certkitiec_ecoder_tqp.docx/.pdf
certkitiec_ecoder_tests.m
certkitiec_ecoder_modelList.m
/tests/*
1-19
Component
1-20
File
/outputs/*
/baseline/*
File
certkitiec_plccoder_certificate.pdf
certkitiec_plccoder_certreport.pdf
certkitiec_plccoder_workflow.pdf
certkitiec_plccoder_cdt.docx/.pdf
1-21
File
certkitiec_sldv_certificate.pdf
certkitiec_sldv_certreport.pdf
certkitiec_sldv_cdt.docx/.pdf
certkitiec_sldv_tqp.docx/.pdf
1-22
File
certkitiec_slvnv_certificate.pdf
certkitiec_slvnv_certreport.pdf
certkitiec_slvnv_workflow.pdf
certkitiec_slvnv_cdt.docx/.pdf
certkitiec_slvnv_tqp.docx/.pdf
certkitiec_slvnv_tests*.rpt/.xls
/tests/*
/outputs/*
1-23
File
certkitiec_bugfinder_certificate.pdf
certkitiec_bugfinder_certreport.pdf
certkitiec_bugfinder_workflow.pdf
certkitiec_bugfinder_cdt.docx/.pdf
certkitiec_bugfinder_tqp.docx/.pdf
certkitiec_bugfinder_sqo.pdf
1-24
File
certkitiec_codeprover_certificate.pdf
certkitiec_codeprover_certreport.pdf
certkitiec_codeprover_workflow.pdf
certkitiec_codeprover_cdt.docx/.pdf
certkitiec_codeprover_tqp.docx/.pdf
certkitiec_codeprover_sqo.pdf
1-25
File
certkitiec_mbd_iso26262.docx/.pdf
certkitiec_tools.docx/.pdf
1-26
File
certkitiec_mbd_en50128.docx/.pdf
certkitiec_tools.docx/.pdf
1-27
File
certkitiec_mbd_iec61508.docx/.pdf
certkitiec_tools.docx/.pdf
1-28
Limitations
Limitations
Neither compliance with nor certification to the applicable safety standard ensure the
safety of the software or the system under consideration. However, the applicable safety
standard may be considered a state-of-the-art or generally accepted rules of technology
(GART) for the development of safety-related systems in your industry. A certification
might be used as evidence that state-of-the-art procedures were applied during system
development.
1-29
ISO 26262
In this section...
What Is ISO 26262? on page 1-30
ISO 26262 Compliance Considerations on page 1-30
ISO 26262 Tool Qualification Considerations on page 1-31
1-30
Systems that consists of electrical and electronic elements, including: programmable electronic elements,
power supplies, input devices, communication paths, and output devices.
Referred to as model-based development.
ISO 26262
1-31
IEC 61508
In this section...
What Is IEC 61508? on page 1-32
IEC 61508 Compliance Considerations on page 1-32
IEC 61508 Tool Certification Considerations on page 1-33
IEC 61508
You can get IEC 61508 compliance certified by an independent, external certification
authority, such as Technischer berwachungsverein (TV) in Germany. Upon granting
certification, the certification authority issues a certificate and, if applicable, a certificate
report. A certificate report is a technical report that accompanies the certificate. The
certificate report documents details of the certification process and constraints for the
certificate.
An applicant might self-certify a system. Self-certification requires the applicant to
demonstrate IEC 61508 compliance to an internal assessor, without requiring external
certification. In this case, aspects of the standard might be relaxed or tightened.
Regardless of how an applicant achieves certification, the applicant shall document
compliance with the relevant set of IEC 61508 requirements. For software, the applicant
typically creates customized instances of software safety integrity tables. The tables
describe how you interpreted and applied each recommended technique and measure for
the software under development. If a highly recommended technique or measure is not
used, the rationale shall be documented and agreed upon with the certification authority
or internal assessor.
The customized software safety integrity tables serve as partial evidence to demonstrate
that the objectives of the standard are met. To facilitate certification, the applicant
should submit an initial version of the tables early in the software development lifecycle
to the certification authority or internal assessor for discussion and approval.
addition to a certificate and certificate report. The applicant shall ensure the tool is
used within the workflows referenced and the constraints specified in their respective
certificates.
Regardless of the tool certification, the tool user is and remains fully responsible for the
safety of the system and its embedded software.
1-34
EN 50128
EN 50128
In this section...
What Is EN 50128? on page 1-35
EN 50128 Software Tool Considerations on page 1-35
What Is EN 50128?
EN 50128 is a European safety standard titled Railway applications - Communications,
signalling and processing systems - Software for railway control and protection systems.
The standard specifies procedures and technical requirements for the development of
programmable electronic systems for use in railway control and protection applications.
EN 50128, developed by the European Committee for Electrotechnical Standardization
(CENELEC), is part of a series of standards that represent the railway applicationspecific interpretation of the IEC 61508 standard series.
1-35
IEC 61511
What Is IEC 61511?
IEC 61511 is an international functional safety standard titled Functional safety - Safety
Instrumented Systems for the process industry sector. IEC 61511 has been developed
as a process sector implementation of IEC 61508. The standard consists of three parts,
referred to as IEC 61511-1 to IEC 61511-3. Part 1 (IEC 61511-1) covers framework,
definitions, and system, hardware, and software requirements.
1-36
2
Reference Workflows
Reference Workflows
2-2
A. Pnueli, M. Siegel, E. Singerman: Translation Validation. Lecture Notes in Computer Science, Vol.
1384, pp. 151-166. Springer, 1998
Design verification: Demonstrate that the model used for production code generation
behaves as specified in its requirements.
The first step combines suitable verification and validation techniques at the model level.
The second step mainly relies on behavioral and structural comparison between the
model and the generated code.
This two-step approach allows you to complete verification and validation activities, for
the most part, at the model level. You can take advantage of the fact that you can reuse
model-level tests that are required to verify the generated code.
The following figure shows the suggested translation validation workflow. This workflow
is concerned with verifying and validating the model used for production code generation,
the generated source code, and the executable object code.
4.
2-3
Reference Workflows
Executable
specification
Modeling
...
Equivalence testing
Prevention of
unintended functionality
Generated
C/C++ code
Code
generation
Design verification
Object
code
Compilation
and linking
Code verification
Development artifact
Software development activity
Verification and validation activity
Overview of the Workflow for Application-Specific Verification and Validation of Models and Generated C
and C++ Code4
Open the Artifacts Explorer to access the Embedded Coder Reference Workflow.
Alternatively, on the MATLAB command line, type certkitiec. The Embedded Coder
Reference Workflow file certkitiec_ecoder_workflow.pdf is located in Embedded
Coder > r2015a.
2-4
A. Pnueli, M. Siegel, E. Singerman: Translation Validation. Lecture Notes in Computer Science, Vol.
1384, pp. 151-166. Springer, 1998
2-5
Reference Workflows
Design verification: Demonstrate that the model used for production code generation
behaves as specified in its requirements.
PLC code verification: Demonstrate equivalence between the model and the
generated PLC code.
The first step combines suitable verification and validation techniques at the model level.
The second step mainly relies on comparing the model and the generated PLC code.
This two-step approach allows you to complete verification and validation activities, for
the most part, at the model level. You can take advantage of the fact that you can reuse
model-level tests that when verifying the generated PLC code.
The following figure shows the suggested translation validation workflow. This workflow
is concerned with verifying and validating the model used for PLC code generation and
the generated PLC code.
2-6
Equivalence testing
Executable
specification
...
Modeling
Prevention of
unintended functionality
Generated
PLC code
PLC Code
generation
Design verification
PLC IDE
project with
test bench
Import to
PLC IDE
Development artifact
Software development activity
Verification and validation activity
Overview of the Workflow for Application-Specific Verification and Validation of Models and Generated
PLC Code6
Open the Artifacts Explorer to access the Simulink PLC Coder Reference Workflow.
Alternatively, on the MATLAB command line, type certkitiec. The Simulink PLC
Coder Reference Workflow file certkitiec_plccoder_workflow.pdf is located in
Simulink PLC Coder > r2015a.
6.
2-7
Reference Workflows
Textual
requirements
Executable
specification
Modeling
...
Generated
C/C++ code
Code
generation
Object
code
Compilation
and linking
Development artifact
Software development activity
7.
Solid arrows in the figure indicate the succession of software development activities.
2-9
Reference Workflows
of models, followed by automatic code generation and compilation and linking, as shown
in the following figure. For details about this development process, see the Embedded
Coder Reference Workflow .
Textual
requirements
Executable
specification
Modeling
...
Generated
C/C++ code
Code
generation
Object
code
Compilation
and linking
Development artifact
Software development activity
8.
Solid arrows in the figure indicate the succession of software development activities.
2-11
Reference Workflows
2-12
2-13
3
Certification Process
Define Certification Objectives and Requirements on page 3-2
Certify or Qualify Software Tools on page 3-3
Document Evidence of Using Tools Within Referenced Workflows on page 3-4
Certification Process
3-2
3-3
Certification Process
Products
Purpose
References
Embedded Coder
Tool certification
evidence for code
generator
Certificate report
MN72051C
Documentation of
reference workflow
N/A
Embedded Coder
Reference Workflow
N/A
Customized and
completed Conformance
Demonstration
Template
Tool certification
evidence for code
generator
Certificate report
MN76171C
Documentation of
reference workflow
N/A
N/A
Customized and
completed Conformance
Demonstration
Template
3-5
Certification Process
Products
Purpose
References
Simulink Design
Verifier
Tool certification
evidence for model
verification tool
Certificate report
MN83534C
Documentation of
reference workflow
N/A
Simulink Design
Verifier Reference
Workflow
N/A
Customized and
completed Conformance
Demonstration
Template
Tool certification
evidence for model
verification tool
Certificate report
MN83534C
Documentation of
reference workflow
N/A
Simulink Verification
and Validation
Reference Workflow
N/A
Customized and
completed Conformance
Demonstration
Template
Simulink Verification
and Validation
3-6
Products
Purpose
References
Tool certification
evidence for code
verification tool
Certificate Report
MN74651C
Documentation of
reference workflow
N/A
N/A
Customized and
completed Conformance
Demonstration
Template
For file names and locations, see IEC Certification Kit Component Overview on page 1-4.
3-7
4
Validate Software Tools
Software Tool Validation on page 4-2
Run Test Cases and Procedures for Embedded Coder on page 4-3
Run Test Cases and Procedures for Simulink Verification and Validation on page
4-4
Run Test Cases and Procedures for Polyspace Bug Finder on page 4-6
Run Test Cases and Procedures for Polyspace Code Prover on page 4-7
4-2
Edit the file to specify the test cases (that is, test models and supporting files) that
you want to execute. Check that the models and files that you specify exist in their
specified locations in the /tests subfolder.
Optionally, edit the file to specify baselines corresponding to the tests. Check that
the baselines that you specify exist in the /baselines subfolder.
To run the tests and generate a validation report, execute the file
certkitiec_ecoder_tests.m. You can invoke it from the MATLAB command
line or in the Certification Artifacts Explorer. Test reports are generated in HTML
format and are placed in the outputs subfolder.
Confirm that the test reports are generated without errors or warnings.
4-3
Edit the files to specify the test cases (that is, test models and supporting files) that
you want to execute, the expected results, and additional information. Check that
the models and files that you specify exist in their specified locations in the /tests
subfolder.
4-4
Run Test Cases and Procedures for Simulink Verification and Validation
Confirm that the test reports are generated without errors or warnings.
Review the generated test reports for expected results. The tool validation report for
the ISO 26262 Model Advisor checks provides the expected and actual results for the
overall check and subchecks. If one of the subchecks warns, the overall check result
is a warning.
4-5
From the top level of the relocated folder, cd into the subfolder tests.
As the tests run, reports are generated in the outputs subfolder of the relocated
folder.
Confirm that the test reports are generated without errors or warnings.
For examples of generated reports, see the outputs subfolder of the relocated folder:
certkitiec_bugfinder_qualificationreport_code_metrics.txt
certkitiec_bugfinder_qualificationreport_misrac.txt
certkitiec_bugfinder_qualificationreport_misracpp.txt
certkitiec_bugfinder_qualificationreport_tor.txt
4-6
From the top level of the relocated folder, cd into the subfolder tests.
As the tests run, reports are generated in the outputs subfolder of the relocated
folder.
Confirm that the test reports are generated without errors or warnings.
For examples of generated reports, see the outputs subfolder of the relocated folder:
certkitiec_codeprover_qualificationreport_code_metrics.txt
certkitiec_codeprover_qualificationreport_misrac.txt
certkitiec_codeprover_qualificationreport_misracpp.txt
certkitiec_codeprover_qualificationreport_tor.txt
4-7
5
Access and Manage Certification
Artifacts
Access Artifacts Using the Certification Artifacts Explorer on page 5-2
Manage Artifacts Using the Certification Artifacts Explorer on page 5-5
Delete Certification Packages from Certification Artifacts Explorer on page 5-6
Certification Artifacts Explorer Limitations on page 5-7
Certification Artifacts Explorer on Linux and Mac Platforms on page 5-8
5-2
Do this:
Do this:
Click the Apps tab and select Install App.
Navigate to matlabroot/toolbox/
qualkits/iec/
and open Compliance Artifacts
Explorer.mlappinstall.
2
Enter certkitiec.
The Certification Artifacts Explorer window displays the certification artifacts that are
available with the IEC Certification Kit product. If the IEC Certification Kit product
contains artifacts for more than one release, the window lists the artifacts for each
release. As you select folders and files, relevant information about the current selection is
dynamically displayed in the status bar. Additionally,
To display the properties of a certification package, right-click the package name and
select Properties.
To open an artifact, right-click the artifact and select Open File.
Depending on the type or state of an artifact, other right-click actions might
be available, including Copy, Paste, Delete, Open Folder, and Generate
Traceability Matrix.
5-3
5-4
Define the location where the Certification Artifacts Explorer stores the new
certification package (use right-click > Properties).
Save the new certification package. The saved package has a KIT extension.
Copy the certification artifacts for the product of interest and paste them into the
new certification package:
To copy, select the artifacts of interest and use Edit > Copy.
To paste, select the new certification package and use Edit > Paste.
To create top-level folders within the new certification package, use the copy and
paste operations in the Certification Artifacts Explorer.
Delete certification artifacts that are not required for your project.
Optionally, add related files to the certification package top-level folders using a file
browser such as Microsoft Windows Explorer. When you add files, to refresh the file
list, use File > Refresh.
Use the Certification Artifacts Explorer to access certification artifacts. For a list of
artifacts that you might need to access and modify, see Certify or Qualify Software
Tools on page 3-3.
When you create and save new certification packages, the Certification Artifacts Explorer
displays them. The certification packages that are listed remain visible unless you delete
them from the Certification Artifacts Explorer.
5-5
5-6
5-7
Linux
Ghostview
OpenOffice
Mac
OpenOffice
HTML
Preview
Files opened with Preview are read
only.
5-8
Platform
.rtf
TextEdit
HTML
5-9
6
Support Certification-Related
Development Activities
Generate a Traceability Matrix on page 6-2
Add Comments to a Traceability Matrix on page 6-6
Traceability Matrix Limitations on page 6-8
Display Bug Reports on page 6-9
of a model object. The information for a model object is in more than one row if the
object:
Appears more than once in the generated code.
Links to more than one requirement.
In the Configuration Parameters dialog box, on the Code Generation > Report
pane, select:
a
Check that you have completed the Prerequisites for Generating a Traceability
Matrix on page 6-3.
When you click the button, the Generate Traceability Matrix dialog box appears.
6-4
You can use this dialog box to browse to an existing matrix file to update or
specify a new matrix file to create. Optionally, you can also use this dialog box to
select and order the columns that appear in the generated matrix. Click OK to
update or create the specified report.
4
Review the traceability matrix and add comments in new columns. For more
information, see Add Comments to a Traceability Matrix on page 6-6.
6-5
6-6
Optionally, regenerate code for your model. Regenerating code before generating the
traceability matrix increases the likelihood that you have the latest model-to-code
traceability information.
6-7
6-8
6-9
7
Functions Alphabetical List
certkitiec
Open Certification Artifacts Explorer for IEC Certification Kit
Syntax
certkitiec
Description
certkitiec opens the Certification Artifacts Explorer and displays certification
artifacts.
Alternatives
Open the Certification Artifact Explorer from the MATLAB Toolstrip:
1
More About
Tips
For optimal performance, Microsoft Internet Explorer must be available on your
machine. Internet Explorer does not have to be your default web browser.
7-2
iec.ExportTraceReport
iec.ExportTraceReport
Generate XLS file that contains traceability matrix
Syntax
iec.ExportTraceReport('model_name')
iec.ExportTraceReport('model_name', 'file_name')
iec.ExportTraceReport('model_name', 'file_name', 'path')
Description
iec.ExportTraceReport('model_name') generates an XLS file that contains a
Traceability Matrix on page 7-4. model_name is the name of the model.
iec.ExportTraceReport('model_name', 'file_name') generates an XLS file
that contains a Traceability Matrix on page 7-4. file_name is a string that
specifies the name of the file. The first time that you call iec.ExportTraceReport,
file_name is optional. If you do not provide file_name, the function names the file
using the following convention. modelUpdate is the date and time that you last updated
the model:
model_name_Trace_modelUpdate.xls
To regenerate the traceability matrix, you must specify file_name.
iec.ExportTraceReport('model_name', 'file_name', 'path') generates
an XLS file that contains a Traceability Matrix on page 7-4. path is an optional
string that specifies the full path to the location where you want the software to save the
file.
Examples
Generate a traceability matrix with traceability between model objects and generated
code for the rtwdemo_hyperlinks model:
Note: This example requires an Embedded Coder license.
7-3
Generate a traceability matrix with traceability among model objects, generated code,
and model requirements for the slvnvdemo_fuelsys_docreq model:
Note: This example requires a Simulink Verification and Validation license.
% Open the model.
open_system('slvnvdemo_fuelsys_docreq');
% Select the code generation report and traceability report parameters.
set_param('slvnvdemo_fuelsys_docreq', 'GenerateReport', 'on');
set_param('slvnvdemo_fuelsys_docreq', 'GenerateTraceReport', 'on');
set_param('slvnvdemo_fuelsys_docreq', 'GenerateTraceReportSl', 'on');
set_param('slvnvdemo_fuelsys_docreq', 'GenerateTraceReportSf', 'on');
set_param('slvnvdemo_fuelsys_docreq', 'GenerateTraceReportEml', 'on');
% Generate code only.
set_param('slvnvdemo_fuelsys_docreq', 'GenCodeOnly', 'on');
% Initiate the build process.
rtwbuild('slvnvdemo_fuelsys_docreq');
% Generate a traceability matrix.
iec.ExportTraceReport('slvnvdemo_fuelsys_docreq');
Alternatives
You can generate a traceability matrix directly from the code generation report for your
model. Go to the Traceability Report section and click the Generate Traceability
Matrix button.
More About
Traceability Matrix
A traceability matrix provides traceability among model objects, generated code, and
model requirements. You can add comments to the generated traceability matrix. If
you change the model and regenerate the traceability matrix, the software retains your
comments.
7-4
iec.ExportTraceReport
Tips
The iec.ExportTraceReport function works on Microsoft Windows platforms only.
To include requirements documentation in the traceability matrix, attach
requirements documents to the model before using iec.ExportTraceReport.
You must generate a code generation traceability report (requires an Embedded Coder
license) for your model before using iec.ExportTraceReport.
The iec.ExportTraceReport function does not support referenced models. When
you generate a traceability matrix for a model that contains referenced models, the
traceability matrix contains information about the Model block only. The traceability
matrix does not contain information about the contents of the referenced model. If
your model contains referenced models, generate a traceability matrix for the toplevel model and each referenced model separately.
The iec.ExportTraceReport function does not support models that use the model
configuration option Classic call interface (GRTInterface).
In most cases, the iec.ExportTraceReport function identifies comments that
you add to the traceability matrix. When the function cannot identify comments, the
traceability matrix includes the text:
Row is not unique: comment
For more information, see Prerequisites for Generating a Traceability Matrix on page
6-3.
Code Tracing
Requirements Traceability
7-5
8
Model Advisor Checks
8-2
8-3
Recommended Action
See Also
Simulink Verification and Validation documentation
8-4
Recommended Action
See Also
Simulink Design Verifier documentation
8-5
Recommended Action
See Also
Simulink PLC Coder documentation
8-6
Recommended Action
See Also
IEC Certification Kit (for ISO 26262 and IEC 61508) documentation
8-7
Recommended Action
See Also
Polyspace Bug Finder
8-8
Recommended Action
See Also
Polyspace Code Prover
Note: This check does not determine whether your model might be affected by these
bugs.
Available with the IEC Certification Kit.
Input Parameters
To display bug reports modified after a certain date, use the Only show bug reports
modified after date (mm/dd/yyyy) field.
Results and Recommended Actions
Condition
Recommended Action
See Also
Embedded Coder documentation
8-10