Skip to content

Commit 65cd5ee

Browse files
Implementation process tooling team feedback fixes
Resolves: #55 Signed-off-by: aschemmel-tech <[email protected]>
1 parent b32a0f9 commit 65cd5ee

File tree

4 files changed

+36
-31
lines changed

4 files changed

+36
-31
lines changed

process/process_areas/implementation/guidance/implementation_checklist.rst

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,30 +52,19 @@ Checklist
5252
-
5353
-
5454
* - IMPL_01_02
55-
- Are the SOLID design principles applied?
56-
- The Unit Design shall achieve the following principles:
57-
Correct order of execution of the functions,
58-
consistency of the interfaces between the units,
59-
correctness of data flow and data control between the units,
60-
simplicity, readability and comprehensibility, robustness,
61-
suitability for modifications, verifiability
62-
-
63-
-
64-
-
65-
* - IMPL_01_03
6655
- Is the implementation according to specification?
6756
- Check if the linked component requirements are fulfilled
6857
and detailed design also matches architecture description.
6958
-
7059
-
7160
-
72-
* - IMPL_01_04
61+
* - IMPL_01_03
7362
- Are the design decisions and constraints documented?
7463
- Check also for plausibility of these.
7564
-
7665
-
7766
-
78-
* - IMPL_01_05
67+
* - IMPL_01_04
7968
- Are all external libraries used by the component specified in the detailed design?
8069
- Check the automated dependency analysis.
8170
Also make sure ASIL rated units also only use ASIL or FFI rated libraries.

process/process_areas/implementation/guidance/implementation_process_reqs.rst

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,44 @@ Process Requirements
1919
:id: gd_req__static_diagram
2020
:status: valid
2121
:tags: mandatory
22-
:satisfies: wp__sw_implementation
22+
:satisfies: wf__sw_detailed_design
2323
:complies: std_req__iso26262__software_843
2424

25-
The static diagram represents the unit and their relationships using UML 2.0 notations by using PlantUML.
25+
The static diagram shall represent the unit and their relationships using UML notations.
2626

2727
.. gd_req:: Dynamic Diagram for Unit Interactions
2828
:id: gd_req__dynamic_diagram
2929
:status: valid
3030
:tags: mandatory
31-
:satisfies: wp__sw_implementation
31+
:satisfies: wf__sw_detailed_design
3232
:complies: std_req__iso26262__software_843
3333

34-
The dynamic diagram represents the unit and their relationships using UML 2.0 notations by using PlantUML.
34+
The dynamic diagram shall represent the unit and their relationships using UML notations.
35+
36+
.. gd_req:: Design to Code Linking
37+
:id: gd_req__design_code_link
38+
:status: valid
39+
:tags: mandatory
40+
:satisfies: wf__sw_detailed_design
41+
:complies: std_req__iso26262__software_843
42+
43+
The detailed design (units and interfaces in DD document) shall be linked
44+
to the source code which implements the units and interfaces in the DD.
45+
46+
Note: Not every code element must have such a link (i.e. is represented in the detailed design),
47+
these elements are implementation detail.
48+
49+
50+
.. gd_req:: Dependency Analysis
51+
:id: gd_req__dependency_analysis
52+
:status: valid
53+
:satisfies: wf__sw_verify_implementation
54+
:complies: std_req__iso26262__software_942
55+
56+
For each component a dependency tree view shall be created to support design inspection and Safety Analysis.
57+
It shall show the libraries used by the component (i.e. which libraries are linked to the component) up to the leaves of the tree.
58+
59+
Note: This may be realized by using Bazel query mechanism.
3560

3661
.. needextend:: docname is not None and "process_areas/implementation" in docname
3762
:+tags: implementation

process/process_areas/implementation/implementation_concept.rst

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ It is represented using **UML behavioral diagrams**, including:
9898
- **Sequence Diagrams** – Depict the interactions between objects in a **time-ordered sequence**,
9999
highlighting how methods are invoked and how control flows between objects over time.
100100
- **State Machine Diagrams** – Show how the **state of an object changes** in response to events,
101-
allowing for the modeling of complex state transitions.
101+
allowing for the modeling of complex state transitions (if there is stateful behaviour).
102102

103103
These diagrams are essential for understanding the **dynamic behavior** of the component and how
104104
units collaborate to perform tasks.
@@ -120,9 +120,6 @@ For cpp using doxygen style comments-
120120
* @rst
121121
* .. sw_unit:: cpp unit
122122
* :id: sw_unit__<title>
123-
* :security:
124-
* :safety:
125-
* :status
126123
*
127124
* This implements the ....
128125
* @endrst
@@ -134,9 +131,6 @@ for rust -
134131
135132
//! .. sw_unit:: rust unit
136133
//! :id: sw_unit__<title>
137-
//! :security:
138-
//! :safety:
139-
//! :status
140134
//!
141135
//! This implements the ....
142136
@@ -156,9 +150,6 @@ For cpp using doxygen comments-
156150
* @rst
157151
* .. sw_unit_int:: cpp unit
158152
* :id: sw_unit_int__<title>
159-
* :security:
160-
* :safety:
161-
* :status
162153
*
163154
* This implements the ....
164155
* @endrst
@@ -170,8 +161,5 @@ For rust -
170161
171162
//! .. sw_unit_int:: rust unit
172163
//! :id: sw_unit_int__<title>
173-
//! :security:
174-
//! :safety:
175-
//! :status
176164
//!
177165
//! This implements the ....

process/process_areas/verification/verification_concept.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,12 @@ Following aspect should be considered when developing test cases:
139139
* **Comprehensive Coverage:** Test cases should cover all functional and tool requirements, including
140140
positive, negative, and boundary conditions. Specific attention should be given to corner cases and error handling.
141141
* **Requirements Testing:** Guarantees testing of Component, Feature, and Stakeholder requirements.
142-
* **Unit Testing:** Focus on isolating and testing individual units or components of the code.
142+
* **Unit Testing:** Focus on testing individual units or components of the code.
143143
Strive for high code coverage for branches and lines.
144144
Coverage goals are defined in the :need:`wp__verification__plan`.
145+
Consider not mocking away libraries the unit uses, as long as you can obtain sufficient
146+
structural coverage from the unit testing with included/integrated libraries,
147+
as this reduces effort on integration testing.
145148

146149
Use the following frameworks for unit testing:
147150

0 commit comments

Comments
 (0)