Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
..
# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************

.. document:: [Your Component Name] Implementation Inspection Checklist
:id: doc__component_name_impl_inspection
:status: draft
:safety: ASIL_B
:security: YES
:realizes: wp__sw_implementation_inspection
:tags: template

.. attention::
The above directive must be updated according to your Component.

- Modify ``Your Component Name`` to be your Component Name
- Modify ``id`` to be your Component Name in lower snake case preceded by ``doc__`` and followed by ``_impl_inspection``
- Adjust ``status`` to be ``valid``
- Adjust ``safety``, ``security`` and ``tags`` according to your needs

Implementation Inspection Checklist
===================================

Purpose
-------

The purpose of this checklist is to collect the topics to be checked during implementation,
i.e. in the detailed design and the source code of the units.

The checklist shall be agnostic to which programming language is used. Differences shall be treated
by linking to C++ or Rust specific documentation.

Checklist
---------

.. list-table:: Implementation Checklist
:header-rows: 1
:widths: 10,30,50,6,6,8

* - Review ID
- Acceptance Criteria
- Guidance
- Passed
- Remarks
- Issue link
* - IMPL_01_01
- Is the design according to guidelines?
- see :need:`gd_temp__detailed_design` and :need:`doc_concept__imp_concept`
(e.g. are the views done with the proposed UML diagrams)
-
-
-
* - IMPL_01_02
- Is the implementation according to specification?
- Check if the linked component requirements are fulfilled
and detailed design also matches architecture description.
-
-
-
* - IMPL_01_03
- Are the design decisions and constraints documented?
- Check also for plausibility of these.
-
-
-
* - IMPL_01_04
- Are all external libraries used by the component specified in the detailed design?
- Check the automated dependency analysis.
Also make sure ASIL rated units also only use ASIL rated libraries.
-
-
-
* - IMPL_02_01
- Are the static and dynamic code analysis reports verified for violations?
- All violations in ASIL related code must be justified. This includes the checks of coding guidelines.
-
-
-
* - IMPL_02_02
- Do manual checks, that are derived from the coding guideline, find no safety critical error?
- Check this for the programming language used (e.g. C++ <link_to_checks_list>, Rust <link_to_checks_list>)
-
-
-
* - IMPL_02_03
- Are detailed design and source code consistent?
- Check if the static and dynamic design descriptions match the code (e.g. naming of elements)
and that the respective traceability is established
-
-
-
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@ Footnotes
architecture/chklst_arc_inspection.rst
component_classification.rst
detailed_design/index.rst
detailed_design/chklst_impl_inspection.rst
requirements/index.rst
requirements/chklst_req_inspection.rst
safety_analysis/fmea.rst
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,79 +83,52 @@ Module Work products List
* - Work product Id
- Link to process
- Process status
- Link to issue
- Link to WP
- WP status

* - :need:`wp__module_safety_plan`
- :need:`gd_guidl__saf_plan_definitions`
- :ndf:`copy('status', need_id='gd_guidl__saf_plan_definitions')`
- <Link to issue>
- this document
- see above

* - :need:`wp__module_safety_package`
- :need:`gd_guidl__saf_package`
- :ndf:`copy('status', need_id='gd_guidl__saf_package')`
- <Link to issue>
- this document (including the linked documentation)
- see above (and below)

* - :need:`wp__fdr_reports` (module Safety Plan)
- :need:`gd_chklst__safety_plan`
- :ndf:`copy('status', need_id='gd_chklst__safety_plan')`
- <Link to issue>
- :need:`doc__module_name_safety_plan_fdr`
- :ndf:`copy('status', need_id='doc__module_name_safety_plan_fdr')`

* - :need:`wp__fdr_reports` (module Safety Package)
- :need:`gd_chklst__safety_package`
- :ndf:`copy('status', need_id='gd_chklst__safety_package')`
- <Link to issue>
- :need:`doc__module_name_safety_package_fdr`
- :ndf:`copy('status', need_id='doc__module_name_safety_package_fdr')`

* - :need:`wp__fdr_reports` (module's Safety Analyses & DFA)
- Safety Analysis FDR tbd
- <automated>
- <Link to issue>
- :need:`gd_chklst__safety_analysis`
- :ndf:`copy('status', need_id='gd_chklst__safety_analysis')`
- <Link to WP>
- <automated>

* - :need:`wp__audit_report`
- performed by external experts
- n/a
- <Link to issue>
- <Link to WP>
- <WP status (manual)>

* - :need:`wp__module_sw_release_note`
- :need:`gd_temp__software_development_plan`
- `copy('status', need_id='gd_temp__software_development_plan')`
- <Link to issue>
- <Link to WP>
- <automated>

* - :need:`wp__module_safety_manual`
- :need:`gd_temp__safety_manual`
- :ndf:`copy('status', need_id='gd_temp__safety_manual')`
- <Link to issue>
- :need:`doc__module_name_safety_manual`
- :ndf:`copy('status', need_id='doc__module_name_safety_manual')`

* - :need:`wp__verification_module_ver_report`
- :need:`gd_temp__mod_ver_report`
- :ndf:`copy('status', need_id='gd_temp__mod_ver_report')`
- <Link to issue>
- :need:`doc__module_name_verification_report`
- :ndf:`copy('status', need_id='doc__module_name_verification_report')`

* - :need:`wp__module_sw_release_note`
- :need:`gd_temp__rel_mod_rel_note`
- :ndf:`copy('status', need_id='gd_temp__rel_mod_rel_note')`
- <Link to issue>
- :need:`doc__module_name_release_note`
- :ndf:`copy('status', need_id='doc__module_name_release_note')`

Component <name> Work products List
-----------------------------------
Expand All @@ -166,93 +139,67 @@ Component <name> Work products List
* - Work product Id
- Link to process
- Process status
- Link to issue
- Link to WP
- WP/doc status

* - :need:`wp__requirements_comp`
- :need:`gd_temp__req_comp_req`
- :ndf:`copy('status', need_id='gd_temp__req_comp_req')`
- <Link to issue>
- :need:`doc__component_name_requirements`
- doc :ndf:`copy('status', need_id='doc__component_name_requirements')` & WP below

* - :need:`wp__requirements_comp_aou`
- :need:`gd_temp__req_aou_req`
- :ndf:`copy('status', need_id='gd_temp__req_aou_req')`
- <Link to issue>
- :need:`doc__component_name_requirements`
- doc :ndf:`copy('status', need_id='doc__component_name_requirements')` & WP below

* - :need:`wp__requirements_inspect`
- :need:`gd_chklst__req_inspection`
- :ndf:`copy('status', need_id='gd_chklst__req_inspection')`
- <link to issue>
- :need:`doc__component_name_req_inspection`
- :ndf:`copy('status', need_id='doc__component_name_req_inspection')`

* - :need:`wp__component_arch`
- :need:`gd_temp__arch_comp`
- :ndf:`copy('status', need_id='gd_temp__arch_comp')`
- <Link to issue>
- :need:`doc__component_name_architecture`
- doc :ndf:`copy('status', need_id='doc__component_name_architecture')` & WP below

* - :need:`wp__sw_arch_verification`
- :need:`gd_chklst__arch_inspection_checklist`
- :ndf:`copy('status', need_id='gd_chklst__arch_inspection_checklist')`
- <link to issue>
- :need:`doc__component_name_arc_inspection`
- :ndf:`copy('status', need_id='doc__component_name_arc_inspection')`

* - :need:`wp__sw_component_fmea`
- :need:`gd_temp__comp_saf_fmea`
- :ndf:`copy('status', need_id='gd_temp__comp_saf_fmea')`
- <Link to issue>
- :need:`doc__component_name_fmea`
- doc :ndf:`copy('status', need_id='doc__component_name_fmea')` & WP below

* - :need:`wp__sw_component_dfa`
- :need:`gd_temp__comp_saf_dfa`
- :ndf:`copy('status', need_id='gd_temp__comp_saf_dfa')`
- <Link to issue>
- :need:`doc__component_name_dfa`
- doc :ndf:`copy('status', need_id='doc__component_name_dfa')` & WP below

* - :need:`wp__sw_implementation`
- :need:`gd_guidl__implementation`
- :ndf:`copy('status', need_id='gd_guidl__implementation')`
- <Link to issue>
- <Link to WP>
- <automated>
- :need:`doc__component_name_detailed_design` & <Link to code>

* - :need:`wp__verification_sw_unit_test`
- :need:`gd_guidl__verification_guide`
- :ndf:`copy('status', need_id='gd_guidl__verification_guide')`
- <Link to issue>
- <Link to WP>
- <automated>

* - :need:`wp__sw_implementation_inspection`
- :need:`gd_chklst__impl_inspection_checklist`
- :ndf:`copy('status', need_id='gd_chklst__impl_inspection_checklist')`
- <Link to issue>
- <Link to WP>
- <automated>
- :need:`doc__component_name_impl_inspection`

* - :need:`wp__verification_comp_int_test`
- :need:`gd_guidl__verification_guide`
- :ndf:`copy('status', need_id='gd_guidl__verification_guide')`
- <Link to issue>
- <Link to WP>
- <automated>

* - :need:`wp__sw_component_class`
- :need:`gd_guidl__component_classification`
- :ndf:`copy('status', need_id='gd_guidl__component_classification')`
- <Link to issue>
- :need:`doc__component_name_comp_class`
- :ndf:`copy('status', need_id='doc__component_name_comp_class')`

Note: In case the component is a new development, :need:`wp__sw_component_class` shall be removed from the above list (and also from the folders).
In case an OSS element is used in the module, part 6 has to be filled out.
Expand All @@ -262,63 +209,70 @@ OSS (sub-)component qualification plan

For the selected OSS component the following work products will be implemented (and why):

If the OSS element is classified as a
If the OSS element is classified as
- component, then the below table shall match the above, adding the reasoning for tailoring of work products according to the OSS component classification.
- lower level component, then no work products additional to the component’s will be planned and activities below are part of the component’s issues.

.. list-table:: OSS (sub-)component <name> Work products
:header-rows: 1

* - Work product Id
- Link to issue
- Reasoning for tailoring

* - :need:`wp__requirements_comp`
- <Link to issue>
- Always needed (for Q and QR classification) and also improves process Id 2

* - :need:`wp__requirements_comp_aou`
- <Link to issue>
- Always needed (for Q and QR classification) and also improves process Id 5

* - :need:`wp__requirements_inspect`
- n/a
- Checklist used in Pull Request Review
- <Reasoning for tailoring>

* - :need:`wf__cr_mt_comparch`
- <Link to issue>
- <Reasoning for tailoring, needed for example in case of deficits in process Id 3&4 and complexity Ids 1&4>

* - :need:`wp__sw_component_fmea`
- <Link to issue>
- <Reasoning for tailoring, could help arguing too high cyclomatic complexity covered by safety mechanisms>

* - :need:`wp__sw_arch_verification`
- <Link to issue>
- <Reasoning for tailoring, needed if also wf__cr_mt_comparch is required>

* - :need:`wp__sw_implementation`
- n/a
- If source code is modified, this is not a OSS qualification any more.
- Tailored - If source code is modified, this is not a OSS qualification any more.

* - :need:`wp__verification_sw_unit_test`
- <Link to issue>
- <Reasoning for tailoring, can improve deficits in process Id 6 and complexity Id 3>

* - :need:`wp__sw_implementation_inspection`
- <Link to issue>
- <Reasoning for tailoring, can improve deficits in process Id 6 and complexity Id 2>

* - :need:`wp__verification_comp_int_test`
- <Link to issue>
- Always needed (for Q and QR classification)

* - :need:`wp__sw_component_class`
- <Link to issue>
- Always needed as basis for tailoring.

Work Product Status (for Safety Package)
========================================
Module Safety Package
=====================

To create the safety package (according to :need:`gd_guidl__saf_package`) the following
documents and work products status have to go to "valid" (after the relevant verification were performed).

Module Documents Status
-----------------------

For all the work product documents the status can be seen by following the "Link to WP".
A summary of the status is also documented in the project's documentation management plan.

See <add here the section reference to the documentation management plan>

Component Documents Status
--------------------------

For all the work product documents the status can be seen by following the "Link to WP".
A summary of the status is also documented in the project's documentation management plan.

See <add here the section reference to the documentation management plan>

Component Requirements Status
-----------------------------
Expand Down
Loading
Loading