Skip to content

Commit c5d8f24

Browse files
Merge branch 'eclipse-score:main' into philippartsch_improve_detail_design
2 parents 25611c0 + 5050280 commit c5d8f24

File tree

49 files changed

+1046
-424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1046
-424
lines changed

MODULE.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
module(
1515
name = "score_process",
16-
version = "1.3.2",
16+
version = "1.4.0",
1717
compatibility_level = 1,
1818
)
1919

process/folder_templates/features/feature_name/architecture/chklst_arc_inspection.rst

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,23 @@ Checklist
162162
-
163163
-
164164
-
165+
* - ARC_04_01
166+
- If software partitioning (different operating system processes) is used to implement freedom from interference between the processes with different rating (QM/ASIL), is effectiveness evidence generated during integration and verification tests?
167+
168+
Note: see ISO 26262-6, 7.4.9 and Annex D for partitioning
169+
- manual
170+
-
171+
a) the usage of shared resources (cpu time, shared memory, ...) are checked in a way that freedom from interference between the processes is ensured,
172+
b) check if the operating system supports freedom from interference between the processes
173+
-
174+
-
175+
-
176+
* - ARC_04_02
177+
- Is an upper estimation of the required resources (RAM, ROM, non volatile memory, communication) available and documented?
178+
179+
Note: see ISO 26262-6, 7.4.11
180+
- manual
181+
-
182+
-
183+
-
184+
-

process/folder_templates/features/feature_name/requirements/chklst_req_inspection.rst

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,6 @@ Requirement Inspection Checklist
9494
-
9595
-
9696
* - REQ_03_01
97-
- For stakeholder requirements: Is the *rationale* correct?
98-
- Rationales explain why the top level requirements were created. Do those cover the requirement?
99-
-
100-
-
101-
-
102-
* - REQ_03_02
10397
- Is the *linkage to the parent requirement* correct?
10498
- Linkage to correct levels and ASIL attributes is checked automatically, but it needs checking if the child requirement implements (at least) a part of the parent requirement.
10599
-
@@ -130,7 +124,7 @@ Requirement Inspection Checklist
130124
-
131125
-
132126
* - REQ_07_02
133-
- Is the attribute *security* set correctly?
127+
- Is the *security* attribute set correctly?
134128
- For feature requirements this checklist item is supported by automated check: "Every requirement which satisfies a stakeholder requirement with security attribute set to YES inherits this". But the feature requirements/architecture may additionally also be subject to a :ref:`Software Security Analysis <security_analysis>`.
135129
-
136130
-
@@ -142,12 +136,6 @@ Requirement Inspection Checklist
142136
-
143137
-
144138
* - REQ_09_01
145-
- For stakeholder requirements: Do those cover assumed safety mechanisms needed by the hardware and system?
146-
- Note that stakeholder requirements covering safety mechanisms come from rationales, whereas feature requirements are covering safety mechanisms coming from :need:`gd_chklst__safety_analysis`
147-
-
148-
-
149-
-
150-
* - REQ_09_02
151139
- Do the feature requirements defining a safety mechanism contain the error reaction leading to a safe state?
152140
- Alternatively to the safe state there could also be "repair" mechanisms. Also do not forget to consider REQ_05_01 for these.
153141
-

process/folder_templates/features/feature_name/safety_planning/index.rst

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
1515
.. _feature_safety_wp_template:
1616

17-
Safety Planning
18-
###############
17+
Feature Safety Work Products List
18+
#################################
1919

2020
.. document:: [Your Feature Name] Safety WPs
2121
:id: doc__feature_name_safety_wp
@@ -52,78 +52,71 @@ Safety Work products List
5252
* - Work product Id
5353
- Link to process
5454
- Process status
55-
- Link to issue
5655
- Link to WP
57-
- WP/doc status
5856

5957
* - :need:`wp__feat_request`
6058
- :need:`gd_temp__change_feature_request`
6159
- :ndf:`copy('status', need_id='gd_temp__change_feature_request')`
62-
- <link to issue>
6360
- :need:`doc__feature_name`
64-
- :ndf:`copy('status', need_id='doc__feature_name')`
6561

6662
* - :need:`wp__requirements_feat`
6763
- :need:`gd_temp__req_feat_req`
6864
- :ndf:`copy('status', need_id='gd_temp__req_feat_req')`
69-
- <link to issue>
7065
- :need:`doc__feature_name_requirements`
71-
- doc :ndf:`copy('status', need_id='doc__feature_name_requirements')` & WP below
7266

7367
* - :need:`wp__requirements_feat_aou`
7468
- :need:`gd_temp__req_aou_req`
7569
- :ndf:`copy('status', need_id='gd_temp__req_aou_req')`
76-
- <link to issue>
7770
- :need:`doc__feature_name_requirements`
78-
- doc :ndf:`copy('status', need_id='doc__feature_name_requirements')` & WP below
7971

8072
* - :need:`wp__feature_arch`
8173
- :need:`gd_temp__arch_feature`
8274
- :ndf:`copy('status', need_id='gd_temp__arch_feature')`
83-
- <link to issue>
8475
- :need:`doc__feature_name_architecture`
85-
- doc :ndf:`copy('status', need_id='doc__feature_name_architecture')` & WP below
8676

8777
* - :need:`wp__feature_fmea`
8878
- :need:`gd_temp__feat_saf_fmea`
8979
- :ndf:`copy('status', need_id='gd_temp__feat_saf_fmea')`
90-
- <link to issue>
9180
- :need:`doc__feature_name_fmea`
92-
- doc :ndf:`copy('status', need_id='doc__feature_name_fmea')` & WP below
9381

9482
* - :need:`wp__feature_dfa`
9583
- :need:`gd_temp__feat_saf_dfa`
9684
- :ndf:`copy('status', need_id='gd_temp__feat_saf_dfa')`
97-
- <Link to issue>
9885
- :need:`doc__feature_name_dfa`
99-
- doc :ndf:`copy('status', need_id='doc__feature_name_dfa')` & WP below
10086

10187
* - :need:`wp__requirements_inspect`
10288
- :need:`gd_chklst__req_inspection`
10389
- :ndf:`copy('status', need_id='gd_chklst__req_inspection')`
104-
- <link to issue>
10590
- :need:`doc__feature_name_req_inspection`
106-
- :ndf:`copy('status', need_id='doc__feature_name_req_inspection')`
10791

10892
* - :need:`wp__sw_arch_verification`
10993
- :need:`gd_chklst__arch_inspection_checklist`
11094
- :ndf:`copy('status', need_id='gd_chklst__arch_inspection_checklist')`
111-
- <link to issue>
11295
- :need:`doc__feature_name_arc_inspection`
113-
- :ndf:`copy('status', need_id='doc__feature_name_arc_inspection')`
11496

11597
* - :need:`wp__verification_feat_int_test`
11698
- :need:`gd_guidl__verification_guide`
11799
- :ndf:`copy('status', need_id='gd_guidl__verification_guide')`
118-
- <link to issue>
119100
- <Link to WP>
120-
- <automated>
121101

122102
.. attention::
123103
The above table must be updated according to your feature safety planning.
124104

125-
- Create and link the issues to plan the work products (according to :need:`gd_guidl__saf_plan_definitions`)
126-
- Fill the work producs links and add their status (also possible below) to create the safety package (according to :need:`gd_guidl__saf_package`)
105+
- Fill the work producs links
106+
107+
Feature Safety Package
108+
======================
109+
110+
To create the safety package (according to :need:`gd_guidl__saf_package`) the following
111+
documents and work products status have to go to "valid" (after the relevant verification were performed).
112+
113+
Feature Documents Status
114+
------------------------
115+
116+
For all the work product documents the status can be seen by following the "Link to WP".
117+
A summary of the status is also documented in the project's documentation management plan.
118+
119+
See <add here the section reference to the documentation management plan>
127120

128121
Feature Requirements Status
129122
---------------------------
@@ -153,7 +146,7 @@ Feature Architecture Status
153146
---------------------------
154147

155148
.. needtable::
156-
:filter: "feature_name" in docname and "requirements" in docname and docname is not None
149+
:filter: "feature_name" in docname and "architecture" in docname and docname is not None
157150
:style: table
158151
:types: feat_arc_sta; feat_arc_dyn
159152
:tags: feature_name
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
..
2+
# *******************************************************************************
3+
# Copyright (c) 2025 Contributors to the Eclipse Foundation
4+
#
5+
# See the NOTICE file(s) distributed with this work for additional
6+
# information regarding copyright ownership.
7+
#
8+
# This program and the accompanying materials are made available under the
9+
# terms of the Apache License Version 2.0 which is available at
10+
# https://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# SPDX-License-Identifier: Apache-2.0
13+
# *******************************************************************************
14+
15+
.. document:: [Your Component Name] Implementation Inspection Checklist
16+
:id: doc__component_name_impl_inspection
17+
:status: draft
18+
:safety: ASIL_B
19+
:security: YES
20+
:realizes: wp__sw_implementation_inspection
21+
:tags: template
22+
23+
.. attention::
24+
The above directive must be updated according to your Component.
25+
26+
- Modify ``Your Component Name`` to be your Component Name
27+
- Modify ``id`` to be your Component Name in lower snake case preceded by ``doc__`` and followed by ``_impl_inspection``
28+
- Adjust ``status`` to be ``valid``
29+
- Adjust ``safety``, ``security`` and ``tags`` according to your needs
30+
31+
Implementation Inspection Checklist
32+
===================================
33+
34+
Purpose
35+
-------
36+
37+
The purpose of this checklist is to collect the topics to be checked during implementation,
38+
i.e. in the detailed design and the source code of the units.
39+
40+
The checklist shall be agnostic to which programming language is used. Differences shall be treated
41+
by linking to C++ or Rust specific documentation.
42+
43+
Checklist
44+
---------
45+
46+
.. list-table:: Implementation Checklist
47+
:header-rows: 1
48+
:widths: 10,30,50,6,6,8
49+
50+
* - Review ID
51+
- Acceptance Criteria
52+
- Guidance
53+
- Passed
54+
- Remarks
55+
- Issue link
56+
* - IMPL_01_01
57+
- Is the design according to guidelines?
58+
- see :need:`gd_temp__detailed_design` and :need:`doc_concept__imp_concept`
59+
(e.g. are the views done with the proposed UML diagrams)
60+
-
61+
-
62+
-
63+
* - IMPL_01_02
64+
- Is the implementation according to specification?
65+
- Check if the linked component requirements are fulfilled
66+
and detailed design also matches architecture description.
67+
-
68+
-
69+
-
70+
* - IMPL_01_03
71+
- Are the design decisions and constraints documented?
72+
- Check also for plausibility of these.
73+
-
74+
-
75+
-
76+
* - IMPL_01_04
77+
- Are all external libraries used by the component specified in the detailed design?
78+
- Check the automated dependency analysis.
79+
Also make sure ASIL rated units also only use ASIL rated libraries.
80+
-
81+
-
82+
-
83+
* - IMPL_02_01
84+
- Are the static and dynamic code analysis reports verified for violations?
85+
- All violations in ASIL related code must be justified. This includes the checks of coding guidelines.
86+
-
87+
-
88+
-
89+
* - IMPL_02_02
90+
- Do manual checks, that are derived from the coding guideline, find no safety critical error?
91+
- Check this for the programming language used (e.g. C++ <link_to_checks_list>, Rust <link_to_checks_list>)
92+
-
93+
-
94+
-
95+
* - IMPL_02_03
96+
- Are detailed design and source code consistent?
97+
- Check if the static and dynamic design descriptions match the code (e.g. naming of elements)
98+
and that the respective traceability is established
99+
-
100+
-
101+
-

process/folder_templates/modules/module_name/component_name/docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,7 @@ Footnotes
178178
architecture/chklst_arc_inspection.rst
179179
component_classification.rst
180180
detailed_design/index.rst
181+
detailed_design/chklst_impl_inspection.rst
181182
requirements/index.rst
182183
requirements/chklst_req_inspection.rst
183184
safety_analysis/fmea.rst

process/folder_templates/modules/module_name/component_name/docs/requirements/chklst_req_inspection.rst

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,6 @@ Requirement Inspection Checklist
9494
-
9595
-
9696
* - REQ_03_01
97-
- For stakeholder requirements: Is the *rationale* correct?
98-
- Rationales explain why the top level requirements were created. Do those cover the requirement?
99-
-
100-
-
101-
-
102-
* - REQ_03_02
10397
- Is the *linkage to the parent feature/component requirement* correct?
10498
- Linkage to correct levels and ASIL attributes is checked automatically, but it needs checking if the child requirement implements (at least) a part of the parent requirement.
10599
-
@@ -142,12 +136,6 @@ Requirement Inspection Checklist
142136
-
143137
-
144138
* - REQ_09_01
145-
- Note that stakeholder requirements covering safety mechanisms come from rationales, whereas component requirements are covering safety mechanisms coming from :need:`gd_chklst__safety_analysis`
146-
-
147-
-
148-
-
149-
-
150-
* - REQ_09_02
151139
- Do the requirements that define a safety mechanism specify the error reaction leading to a safe state?
152140
- Alternatively to the safe state there could also be "repair" mechanisms. Also do not forget to consider REQ_05_01 for these.
153141
-

process/folder_templates/modules/module_name/docs/safety_mgt/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ Safety Management
2121
module_safety_plan
2222
module_safety_plan_fdr
2323
module_safety_package_fdr
24+
module_safety_analysis_fdr

0 commit comments

Comments
 (0)