Skip to content

Commit 179dc3f

Browse files
Merge pull request #401 from eclipse-score/aschemmel-tech-safety-plan-templates
Update safety mgt templates after piloting
2 parents 90d295f + ba2316b commit 179dc3f

File tree

9 files changed

+390
-162
lines changed

9 files changed

+390
-162
lines changed
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
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+
16+
.. document:: [Your Feature Name] Architecture Inspection Checklist
17+
:id: doc__feature_name_arc_inspection
18+
:status: draft
19+
:safety: ASIL_B
20+
:security: YES
21+
:realizes: wp__sw_arch_verification
22+
:tags: template
23+
24+
.. attention::
25+
The above directive must be updated according to your Feature.
26+
27+
- Modify ``Your Feature Name`` to be your Feature Name
28+
- Modify ``id`` to be your Feature Name in lower snake case preceded by ``doc__`` and followed by ``_arc_inspection``
29+
- Adjust ``status`` to be ``valid``
30+
- Adjust ``safety``, ``security`` and ``tags`` according to your needs
31+
32+
Architecture Inspection Checklist
33+
=================================
34+
35+
Purpose
36+
-------
37+
38+
The purpose of the software architecture checklist is to ensure that the design meets the criteria and quality as
39+
defined per project processes and guidelines for feature and component architectural design elements.
40+
It helps to check the compliance with requirements, identify errors or inconsistencies, and ensure adherence to best
41+
practices.
42+
The checklist guides evaluation of the architecture design, identifies potential problems, and aids in
43+
communication and documentation of architectural decisions to stakeholders.
44+
45+
Checklist
46+
---------
47+
48+
.. list-table:: Architecture Design Review Checklist
49+
:header-rows: 1
50+
51+
* - Review Id
52+
- Acceptance criteria
53+
- Type
54+
- Guidance
55+
- passed
56+
- Remarks
57+
- Issue link
58+
* - ARC_01_01
59+
- Is the traceability from software architectural elements to requirements, and other level architectural
60+
elements (e.g. component to interface) established according to the "Relations between the architectural elements" as described in :need:`doc_concept__arch_process`?
61+
- automated
62+
- Trace should be checked by Sphinx. Will be removed from checklist once requirement is implemented.
63+
-
64+
-
65+
-
66+
* - ARC_01_02
67+
- If the architectural element is related to any supplier manuals (incl. safety and security)
68+
are the relevant parts covered?
69+
- manual
70+
- If the architecture makes use of supplied elements, their manuals (like safety) have to be considered (i.e. its provided functionality matches the expectation and assumptions are fulfilled). Note that in case of safety component this means that assumed Technical Safety Requirements and AoUs of the safety manual are covered.
71+
-
72+
-
73+
-
74+
* - ARC_01_03
75+
- Is the architectural element traceable to the lower level artifacts as defined by the workproduct traceability?
76+
- automated
77+
- Will be removed from checklist once requirement is implemented by automated tool check.
78+
Details of possible linking can be depicted from `traceability concept <https://eclipse-score.github.io/process_description/main/general_concepts/score_traceability_concept.html>`_
79+
-
80+
-
81+
-
82+
* - ARC_02_01
83+
- Is the software architecture design compliant with the (overall) feature architecture?
84+
- manual
85+
- On component level check against the feature architecture, on feature level check other features with common components used.
86+
-
87+
-
88+
-
89+
* - ARC_02_02
90+
- Is appropriate and comprehensible operation/interface naming present in the architectural design?
91+
- manual
92+
- Check :need:`gd_guidl__arch_design`
93+
-
94+
-
95+
-
96+
* - ARC_02_03
97+
- Are correctness of data flow and control flow within the architectural elements considered?
98+
- manual
99+
- E.g. examine definitions, transformations, integrity, and interaction of data; check error handling, data
100+
exchange between elements, correct response to inputs and documented decision making.
101+
Note: consistency is ensured by the process/tooling, by defining each interface only once.
102+
-
103+
-
104+
-
105+
* - ARC_02_04
106+
- Are the interfaces between the software architectural element and other architectural elements well-defined?
107+
- manual
108+
- Check if the interface reacts on non-defined behavior or errors; can established protocols be used; are the
109+
interfaces for inputs, outputs, error codes documented; is loose coupling considered and only limited exposure;
110+
can unit or integration test be written against the interface; data amount transferred; no sensitive data
111+
exposure;
112+
-
113+
-
114+
-
115+
* - ARC_02_05
116+
- Does the software architectural element consider the timing constraints (from the parent requirement)?
117+
- manual
118+
- If there are hard requirements on the timing a programming time estimation should be performed and also
119+
deadline supervision considered.
120+
-
121+
-
122+
-
123+
* - ARC_02_06
124+
- Is the documentation of the software architectural element, including textual and graphical descriptions
125+
(e.g., UML diagrams), comprehensible and complete?
126+
- manual
127+
- Use of semi-formal notation is expected for architectural elements with an allocated ASIL level.
128+
Is the architecture template correctly filled?
129+
-
130+
-
131+
-
132+
* - ARC_03_01
133+
- Is the architectural element modular and encapsulated?
134+
- manual
135+
- Check e.g. that only minimal interfaces are used. Design should be object oriented. Interfaces and interactions are clearly defined. Usage of access types (private, protected) properly set. Limited global variables.
136+
-
137+
-
138+
-
139+
* - ARC_03_02
140+
- Is the suitability of the software architecture for future modifications and maintainability considered?
141+
- manual
142+
- Check for e.g. loose coupling, separation of concerns, high cohesion, versioning strategy for interfaces,
143+
decision records, use of established design patterns.
144+
-
145+
-
146+
-
147+
* - ARC_03_03
148+
- Are simplicity and avoidance of unnecessary complexity present in the software architecture?
149+
- manual
150+
- Indicators for complexity are: number of use cases (corresponding to dynamic diagrams)
151+
allocated to single design element, number of interfaces and operations in an interface,
152+
function parameters, global variables, complex types, limited comprehensibility.
153+
154+
Note: If the "number" above exceeds "3" a design rationale is mandatory (for all types)
155+
-
156+
-
157+
-
158+
* - ARC_03_04
159+
- Is the software architecture design following best practices and design principles?
160+
- manual
161+
- Refer to architectural guidelines and recommendations within the project documentation.
162+
-
163+
-
164+
-

process/folder_templates/features/feature_name/index.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,10 @@ Footnotes
187187
.. toctree::
188188
:hidden:
189189

190+
architecture/index.rst
191+
architecture/chklst_arc_inspection.rst
190192
requirements/index.rst
191193
requirements/chklst_req_inspection.rst
192-
architecture/index.rst
193-
safety_planning/index.rst
194194
safety_analysis/fmea.rst
195195
safety_analysis/dfa.rst
196+
safety_planning/index.rst

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
:id: doc__feature_name_req_inspection
1818
:status: draft
1919
:safety: ASIL_B
20+
:security: YES
2021
:realizes: wp__requirements_inspect
2122
:tags: template
2223

@@ -26,7 +27,7 @@
2627
- Modify ``Your Feature Name`` to be your Feature Name
2728
- Modify ``id`` to be your Feature Name in lower snake case preceded by ``doc__`` and followed by ``_req_inspection``
2829
- Adjust ``status`` to be ``valid``
29-
- Adjust ``safety`` and ``tags`` according to your needs
30+
- Adjust ``safety``, ``security`` and ``tags`` according to your needs
3031

3132
Requirement Inspection Checklist
3233
================================

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

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

17-
Feature Safety Planning
18-
=======================
17+
Safety Planning
18+
###############
1919

2020
.. document:: [Your Feature Name] Safety WPs
2121
:id: doc__feature_name_safety_wp
@@ -33,6 +33,19 @@ Feature Safety Planning
3333
- Adjust ``status`` to be ``valid``
3434
- Adjust ``safety`` and ``tags`` according to your needs
3535

36+
Tailoring
37+
=========
38+
39+
Additional to the tailoring in the SW platform project as defined in the project's :need:`wp__platform_safety_plan` we define here the additional tailoring on feature level.
40+
41+
- Excluded for this feature are additionally the following work products (and their related requirements):
42+
43+
- <work product/requirement> - <Argumentation why it is not needed or replaced by another work product or activity.>
44+
45+
46+
Safety Work products List
47+
=========================
48+
3649
.. list-table:: Feature <feature_name> Work products
3750
:header-rows: 1
3851

@@ -55,14 +68,14 @@ Feature Safety Planning
5568
- :ndf:`copy('status', need_id='gd_temp__req_feat_req')`
5669
- <link to issue>
5770
- :need:`doc__feature_name_requirements`
58-
- doc :ndf:`copy('status', need_id='doc__feature_name')` & WP below
71+
- doc :ndf:`copy('status', need_id='doc__feature_name_requirements')` & WP below
5972

6073
* - :need:`wp__requirements_feat_aou`
6174
- :need:`gd_temp__req_aou_req`
6275
- :ndf:`copy('status', need_id='gd_temp__req_aou_req')`
6376
- <link to issue>
6477
- :need:`doc__feature_name_requirements`
65-
- doc :ndf:`copy('status', need_id='doc__feature_name')` & WP below
78+
- doc :ndf:`copy('status', need_id='doc__feature_name_requirements')` & WP below
6679

6780
* - :need:`wp__feature_arch`
6881
- :need:`gd_temp__arch_feature`
@@ -88,16 +101,16 @@ Feature Safety Planning
88101
* - :need:`wp__requirements_inspect`
89102
- :need:`gd_chklst__req_inspection`
90103
- :ndf:`copy('status', need_id='gd_chklst__req_inspection')`
91-
- n/a
92-
- Checklist used in Pull Request Review
93-
- n/a
104+
- <link to issue>
105+
- :need:`doc__feature_name_req_inspection`
106+
- :ndf:`copy('status', need_id='doc__feature_name_req_inspection')`
94107

95108
* - :need:`wp__sw_arch_verification`
96109
- :need:`gd_chklst__arch_inspection_checklist`
97110
- :ndf:`copy('status', need_id='gd_chklst__arch_inspection_checklist')`
98-
- n/a
99-
- Checklist used in Pull Request Review
100-
- n/a
111+
- <link to issue>
112+
- :need:`doc__feature_name_arc_inspection`
113+
- :ndf:`copy('status', need_id='doc__feature_name_arc_inspection')`
101114

102115
* - :need:`wp__verification_feat_int_test`
103116
- :need:`gd_guidl__verification_guide`

0 commit comments

Comments
 (0)