Skip to content

Commit 3e9e3f0

Browse files
authored
Merge pull request #470 from etas-contrib/improvement_process_linking_safety_audit_architecture
add linking to iso26262 and add requirements according to ISO
2 parents 3f4ee14 + f750105 commit 3e9e3f0

File tree

8 files changed

+42
-15
lines changed

8 files changed

+42
-15
lines changed

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ Checklist
151151
allocated to single design element, number of interfaces and operations in an interface,
152152
function parameters, global variables, complex types, limited comprehensibility.
153153

154-
Note: If the "number" above exceeds "3" a design rationale is mandatory (for all types)
154+
Note: If the "number" above exceeds "3" a design rationale is mandatory (for all types).
155155
-
156156
-
157157
-
@@ -165,7 +165,7 @@ Checklist
165165
* - ARC_04_01
166166
- 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?
167167

168-
Note: see ISO 26262-6, 7.4.9 and Annex D for partitioning
168+
Note: see :need:`std_req__iso26262__software_749` and Annex D for partitioning
169169
- manual
170170
-
171171
a) the usage of shared resources (cpu time, shared memory, ...) are checked in a way that freedom from interference between the processes is ensured,
@@ -176,7 +176,16 @@ Checklist
176176
* - ARC_04_02
177177
- Is an upper estimation of the required resources (RAM, ROM, non volatile memory, communication) available and documented?
178178

179-
Note: see ISO 26262-6, 7.4.11
179+
Note: see :need:`std_req__iso26262__software_7411`
180+
- manual
181+
-
182+
-
183+
-
184+
-
185+
* - ARC_04_03
186+
- Are the the scheduling properties for the component defined and documented?
187+
188+
Note: see :need:`std_req__iso26262__software_743`
180189
- manual
181190
-
182191
-

process/folder_templates/modules/module_name/component_name/docs/architecture/chklst_arc_inspection.rst

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,13 +145,19 @@ Checklist
145145
-
146146
-
147147
* - ARC_03_03
148-
- Are simplicity and avoidance of unnecessary complexity present in the software architecture?
148+
- Are simplicity and avoidance of unnecessary complexity present in the software architecture and the component?
149149
- manual
150150
- Indicators for complexity are: number of use cases (corresponding to dynamic diagrams)
151151
allocated to single design element, number of interfaces and operations in an interface,
152152
function parameters, global variables, complex types, limited comprehensibility.
153+
The belonging code metrics should be checked.
154+
155+
Notes:
156+
157+
If the "number" above exceeds "3" a design rationale is mandatory (for all types)
158+
159+
See also if component classification :need:`gd_temp__component_classification` as measure is present.
153160

154-
Note: If the "number" above exceeds "3" a design rationale is mandatory (for all types)
155161
-
156162
-
157163
-

process/process_areas/architecture_design/guidance/architecture_guideline.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Architecture Guideline
2020
.. gd_guidl:: Architectural Design
2121
:id: gd_guidl__arch_design
2222
:status: valid
23-
:complies: std_req__isopas8926__44411, std_req__isopas8926__44412, std_req__iso26262__software_744, std_req__iso26262__software_745
23+
:complies: std_req__isopas8926__44411, std_req__isopas8926__44412, std_req__iso26262__software_743, std_req__iso26262__software_744, std_req__iso26262__software_745
2424

2525
The guideline focuses on the steps which need to be performed in order to create the architectural design. The concept behind those steps is described in the :need:`[[title]] <doc_concept__arch_process>`.
2626

process/process_areas/architecture_design/guidance/architecture_inspection_checklist.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Inspection Checklist Template
2121
:id: gd_chklst__arch_inspection_checklist
2222
:status: valid
2323
:tags: architecture_design
24-
:complies: std_req__iso26262__software_647, std_req__iso26262__software_749, std_req__iso26262__software_7413
24+
:complies: std_req__iso26262__software_647, std_req__iso26262__software_743, std_req__iso26262__software_749, std_req__iso26262__software_7413
2525

2626
For the content see here:
2727

process/process_areas/architecture_design/guidance/architecture_process_reqs.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ Architectural Model
3333
:id: gd_req__arch_hierarchical_structure
3434
:status: valid
3535
:tags: done_automation
36-
:complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432
36+
:complies: std_req__iso26262__support_6431, std_req__iso26262__support_6432, std_req__iso26262__software_743
3737
:satisfies: wf__cr_mt_featarch, wf__cr_mt_comparch
3838

3939
The architectural elements shall be hierarchically structured on two levels:
4040

4141
* Feature Level (=Logical Level)
42-
* Component Level
42+
* Component Level (allows also recursive decomposition on lower levels)
4343

4444
.. gd_req:: Structuring of the architectural elements
4545
:id: gd_req__arch_build_blocks
@@ -218,15 +218,15 @@ Checks for Architectural Design
218218
:satisfies: wf__cr_mt_featarch, wf__cr_mt_comparch
219219
:complies: std_req__iso26262__software_746, std_req__iso26262__software_748
220220

221-
It shall be checked that valid safety architectural elements (Safety != QM) can only be linked against valid safety architectural elements.
221+
It shall be checked that valid safety architectural elements (Safety!=QM) can only be linked against valid safety architectural elements.
222222

223223
.. gd_req:: Architecture linkage security
224224
:id: gd_req__arch_linkage_security_trace
225225
:status: valid
226226
:tags: prio_2_automation, attribute, check
227227
:satisfies: wf__cr_mt_featarch, wf__cr_mt_comparch
228228

229-
It shall be checked that security relevant architectural elements (Security == YES) can only be linked against security relevant architectural elements.
229+
It shall be checked that security relevant architectural elements (Security==YES) can only be linked against security relevant architectural elements.
230230

231231
.. gd_req:: Architecture linkage requirement
232232
:id: gd_req__arch_linkage_requirement

process/process_areas/implementation/guidance/implementation_process_reqs.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,3 +327,15 @@ Dependency Analysis
327327

328328
.. needextend:: docname is not None and "process_areas/implementation" in docname
329329
:+tags: implementation
330+
331+
332+
Complexity Analyses
333+
'''''''''''''''''''
334+
335+
.. gd_req:: Design Complexity Analysis
336+
:id: gd_req__impl_complexity_analysis
337+
:status: valid
338+
:tags: prio_3_automation, model, check
339+
:complies: std_req__iso26262__software_743, std_req__aspice_40__SWE-3-BP3
340+
341+
A complexity analysis for the components shall be performed. It shall consider appropriate code metrics like lines of code, cyclomatic complexity, number of public interfaces, number of parameters and so on. The results of the analysis shall be documented in the SW Verification Report. The project specific limits for the complexity measures shall be defined in the project guidelines.

process/process_areas/safety_management/guidance/template_component_classification.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Component Classification Template
1818
.. gd_temp:: Component Classification Template
1919
:id: gd_temp__component_classification
2020
:status: valid
21-
:complies: std_req__isopas8926__441, std_req__isopas8926__4421, std_req__isopas8926__4422, std_req__isopas8926__4423, std_req__isopas8926__4424, std_req__isopas8926__4425, std_req__isopas8926__4426, std_req__isopas8926__4427, std_req__isopas8926__4428, std_req__isopas8926__4429, std_req__isopas8926__44210
21+
:complies: std_req__isopas8926__441, std_req__isopas8926__4421, std_req__isopas8926__4422, std_req__isopas8926__4423, std_req__isopas8926__4424, std_req__isopas8926__4425, std_req__isopas8926__4426, std_req__isopas8926__4427, std_req__isopas8926__4428, std_req__isopas8926__4429, std_req__isopas8926__44210, std_req__iso26262__software_743
2222

2323

2424
| Classification of <component>

process/standards/aspice_40/swe/swe.3.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ Base practices
110110

111111
Examples for coding principles at capability level 1 are not to use implicit type conversions,
112112
only one entry and one exit point in subroutines, and range checks (design-by-contract, defensive
113-
programming). Further examples see e.g, ISO 26262-6 clause 8.4.5 together with table 6.
113+
programming). Further examples see e.g, :need:`std_req__iso26262__software_845` together with table 6.
114114

115115

116116
.. std_req:: SWE.3.BP4: Ensure consistency and establish bidirectional traceability
@@ -150,5 +150,5 @@ Base practices
150150
affected parties.
151151

152152

153-
.. needextend:: "c.this_doc()"
154-
:+tags: aspice40_swe3
153+
.. needextend:: "c.this_doc()"
154+
:+tags: aspice40_swe3

0 commit comments

Comments
 (0)