-
Notifications
You must be signed in to change notification settings - Fork 21
fix implementation review findings #717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -15,6 +15,9 @@ | |||||
| Process Requirements | ||||||
| #################### | ||||||
|
|
||||||
| Please notice, that detail design description files (within MarkDown or RestructuredText) are optional. | ||||||
| Also diagrams are optional, but if they are created, they shall have the following attributes to ensure consistency and traceability. | ||||||
|
|
||||||
| .. gd_req:: Static Diagram for Unit Interactions | ||||||
| :id: gd_req__impl_static_diagram | ||||||
| :status: valid | ||||||
|
|
@@ -26,7 +29,7 @@ Process Requirements | |||||
| std_req__iso26262__software_845[version==1], | ||||||
| std_req__aspice_40__SWE-3-BP1[version==1] | ||||||
|
|
||||||
| The static diagram shall represent the unit and their relationships using UML notations. | ||||||
| The static diagram shall represent the units and their relationships using UML notations. | ||||||
|
|
||||||
| Diagram Attributes | ||||||
| ------------------ | ||||||
|
|
@@ -42,11 +45,11 @@ Diagram Attributes | |||||
| std_req__iso26262__software_845[version==1], | ||||||
| std_req__aspice_40__SWE-3-BP2[version==1] | ||||||
|
|
||||||
| Each diagram shall have a unique ID. It shall consist of three parts: | ||||||
| Each diagram shall have a unique name. It shall consist of three parts: | ||||||
|
|
||||||
| * type of diagram | ||||||
| * structural element | ||||||
| * keyword describing the content of the diagram | ||||||
| * type of diagram | ||||||
| * structural element | ||||||
| * keyword describing the content of the diagram | ||||||
|
|
||||||
| Consider the project's naming convention. | ||||||
|
|
||||||
|
|
@@ -66,44 +69,6 @@ Diagram Attributes | |||||
|
|
||||||
| This means for example that the word "shall" is not allowed in the title for all diagram. | ||||||
|
|
||||||
| .. gd_req:: Diagram attribute: security | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Whey the attributes are deleted? I guess we should keep them if a diagram is used.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As described above. Units are within a component and inherits all properties from it. Therefore it makes no sense (independently that it would be unclear how to do) to add security and safety to a plantuml / drawio inside the detail design. |
||||||
| :id: gd_req__impl_diagram_security | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_2, attribute, mandatory | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall have a security relevance identifier: | ||||||
|
|
||||||
| * Yes | ||||||
| * No | ||||||
|
|
||||||
| .. gd_req:: Diagram attribute: safety | ||||||
| :id: gd_req__impl_diagram_safety | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_1, attribute, mandatory | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall have a automotive safety integrity level (ASIL) identifier: | ||||||
|
|
||||||
| * QM | ||||||
| * ASIL_B | ||||||
|
|
||||||
| .. gd_req:: Diagram attribute: status | ||||||
| :id: gd_req__impl_diagram_status | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_1, attribute, mandatory | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall have a status: | ||||||
|
|
||||||
| * valid | ||||||
| * invalid | ||||||
|
|
||||||
| .. gd_req:: Diagram attribute: description | ||||||
| :id: gd_req__impl_diagram_description | ||||||
| :status: valid | ||||||
|
|
@@ -112,241 +77,87 @@ Diagram Attributes | |||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall have a description. The description shall provide a needarch or image of the diagram. | ||||||
| Each diagram shall have a description. | ||||||
|
|
||||||
| .. _detailed_design_linkage: | ||||||
|
|
||||||
| Diagram Linkage | ||||||
| ''''''''''''''' | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage check Component Requirement | ||||||
| :id: gd_req__impl_diagram_check_req | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1], std_req__aspice_40__iic-13-51[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be linked to the corresponding component requirement via the attribute implements. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage Component Requirement | ||||||
| :id: gd_req__impl_diagram_linkage_req | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be automatically linked (inverse direction) to the corresponding component requirement via the "implemented by" linkage. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage check Component Architecture | ||||||
| :id: gd_req__impl_diagram_check_arch | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1], std_req__aspice_40__iic-13-51[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be linked to the corresponding component architecture via the attribute satisfies. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage Component Architecture | ||||||
| :id: gd_req__impl_diagram_linkage_arch | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be automatically linked (inverse direction) to the corresponding component architecture via the "satisfied by" linkage. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage check Component ID | ||||||
| :id: gd_req__impl_diagram_check_id | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be linked to the corresponding component id via the attribute belongs_to. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage Component ID | ||||||
| :id: gd_req__impl_diagram_linkage_id | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be automatically linked (inverse direction) to the corresponding component id via the "belongs by" linkage. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage includes | ||||||
| :id: gd_req__impl_diagram_check_includes | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be linked to the corresponding | ||||||
| - SW Unit | ||||||
| - SW Unit Interface | ||||||
| via the attribute includes. | ||||||
|
|
||||||
| .. gd_req:: Diagram Linkage includes | ||||||
| :id: gd_req__impl_diagram_linkage_includes | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each diagram shall be automatically linked (inverse direction) to the corresponding | ||||||
| - SW Unit | ||||||
| - SW Unit Interface | ||||||
| via the "included by" linkage. | ||||||
|
|
||||||
| Diagram Checks | ||||||
| '''''''''''''' | ||||||
|
|
||||||
| .. gd_req:: Diagram mandatory attributes provided | ||||||
| :id: gd_req__impl_diagram_mandatory | ||||||
| .. gd_req:: Diagram mandatory consistency | ||||||
| :id: gd_req__impl_diagram_consistency | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
|
RolandJentschETAS marked this conversation as resolved.
|
||||||
| :tags: prio_2_automation, attribute, check | ||||||
| :tags: prio_2_manual, attribute, check | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| It shall be checked if all mandatory attributes for each diagram are provided by the user. For all diagrams following attributes shall be mandatory: | ||||||
|
|
||||||
| .. needtable:: Overview mandatory Diagram attributes | ||||||
| :filter: "mandatory" in tags and "attribute" in tags and "implementation" in tags and type == "gd_req" | ||||||
| :style: table | ||||||
| :columns: title | ||||||
| :colwidths: 30 | ||||||
| It shall be checked if all diagrams are consistent with the source code and the design principles | ||||||
| outlined in the development plan. This includes checking that the naming of the units, their | ||||||
| interfaces and functions in any diagrams or descriptions matches the naming in the source code to ensure traceability. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We may could check this automated. MarCom is working on it. Could be useful as an outlook. We can connect with @hoe-jo for that
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If this would be working it will be fine. Could set it as prio_3_automation ? |
||||||
| That means the diagrams and descriptions should not be outdated and be consistent with | ||||||
| the source code and not introduce new terminology or concepts that are not present in the code. | ||||||
|
|
||||||
| Unit Attributes | ||||||
| --------------- | ||||||
|
|
||||||
| .. gd_req:: Unit attribute: UID | ||||||
| :id: gd_req__impl_unit_uid | ||||||
| .. gd_req:: Unit naming | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above |
||||||
| :id: gd_req__impl_unit_naming | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above |
||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_1, attribute, mandatory | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
| :complies: std_req__iso26262__software_843[version==1], std_req__aspice_40__SWE-3-BP1[version==1] | ||||||
|
|
||||||
| Each unit shall have a unique ID. It shall consist of three parts: | ||||||
| Each unit shall have a proper naming, which is unique within the component and | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please also consider text and following text against comment regarding UID / naming
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Units have no spinx representation. Therefore it is unclear what a UID shall be. |
||||||
| follows a consistent naming convention. The name should be descriptive and reflect | ||||||
| the functionality of the unit to ensure traceability and understandability. | ||||||
|
|
||||||
| * type of unit | ||||||
| * structural element | ||||||
| * keyword describing the content of the unit | ||||||
| The naming convention should be defined in the project guidelines and consistently applied across all units. | ||||||
|
|
||||||
| Consider the project's naming convention. | ||||||
|
|
||||||
| .. gd_req:: Unit attribute: description | ||||||
| .. gd_req:: Unit description | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above |
||||||
| :id: gd_req__impl_unit_description | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_1, attribute, mandatory | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each unit shall have a description. | ||||||
|
|
||||||
| Unit Linkage | ||||||
| '''''''''''' | ||||||
|
|
||||||
| .. gd_req:: Unit Linkage check Component ID | ||||||
| :id: gd_req__impl_unit_check_id | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each unit shall be linked to the corresponding component id via the attribute belongs_to. | ||||||
|
|
||||||
| .. gd_req:: Unit Linkage Component ID | ||||||
| :id: gd_req__impl_unit_linkage_id | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :tags: manual_prio_1, mandatory | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each unit shall be automatically linked (inverse direction) to the corresponding component id via the "belongs by" linkage. | ||||||
| Each unit shall have a description in the source code. | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Maybe we should have to sections of process requirements. If they are selected and when we use automations and if not.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Automation is normally with tags |
||||||
|
|
||||||
| Interface Attributes | ||||||
| -------------------- | ||||||
|
|
||||||
| .. gd_req:: Interface attribute: UID | ||||||
| :id: gd_req__impl_interface_uid | ||||||
| .. gd_req:: Interface naming | ||||||
| :id: gd_req__impl_interface_naming | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_1, attribute, mandatory | ||||||
| :tags: manual_prio_1, mandatory | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
| :complies: std_req__iso26262__software_843[version==1], std_req__aspice_40__SWE-3-BP1[version==1] | ||||||
|
|
||||||
| Each interface shall have a unique ID. It shall consist of three parts: | ||||||
|
|
||||||
| * type of interface | ||||||
| * structural element | ||||||
| * keyword describing the content of the interface | ||||||
| Each interface shall have a proper naming, which is unique within the component and | ||||||
| follows a consistent naming convention. The name should be descriptive and reflect | ||||||
| the functionality of the interface to ensure traceability and understandability. | ||||||
|
|
||||||
| Consider the project's naming convention. | ||||||
|
|
||||||
| .. gd_req:: Interface attribute: description | ||||||
| .. gd_req:: Interface description | ||||||
| :id: gd_req__impl_interface_description | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: manual_prio_1, attribute, mandatory | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each interface shall have a description. | ||||||
|
|
||||||
| Interface Linkage | ||||||
| ''''''''''''''''' | ||||||
|
|
||||||
| .. gd_req:: Interface Linkage check SW Unit ID | ||||||
| :id: gd_req__impl_interface_check_id | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each interface shall be linked to the corresponding SW Unit id via the attribute belongs_to. | ||||||
|
|
||||||
| .. gd_req:: Interface Linkage SW Unit ID | ||||||
| :id: gd_req__impl_interface_linkage_id | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each interface shall be automatically linked (inverse direction) to the corresponding SW Unit id via the "belongs by" linkage. | ||||||
|
|
||||||
| .. gd_req:: Interface Linkage check Architecture | ||||||
| :id: gd_req__impl_interface_check_req | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each interface shall be linked to the corresponding architecture via the attribute implements. | ||||||
|
|
||||||
| .. gd_req:: Interface Linkage Architecture | ||||||
| :id: gd_req__impl_interface_linkage_req | ||||||
| :status: valid | ||||||
| :version: 1 | ||||||
| :tags: prio_2_automation, attribute, automated | ||||||
| :tags: manual_prio_1, mandatory | ||||||
| :complies: std_req__iso26262__support_6421[version==1], std_req__iso26262__support_6425[version==1] | ||||||
| :satisfies: wf__sw_detailed_design[version==1] | ||||||
|
|
||||||
| Each interface shall be automatically linked (inverse direction) to the corresponding architecture via the "implemented by" linkage. | ||||||
| Each interface shall have a description in the source code if the source code does not | ||||||
| already provide sufficient information. It should provide a clear and comprehensive explanation | ||||||
| of the interface's purpose, its inputs and outputs, and how it interacts with other units | ||||||
| or components. The description should be sufficient to allow users of the interface | ||||||
| to understand how to interact with it without needing to read the implementation details. | ||||||
| It should also include any relevant information about the expected behavior, constraints, | ||||||
| and any assumptions made in the design of the interface. The documentation should be | ||||||
| maintained and updated as the implementation evolves to ensure it remains accurate and useful. | ||||||
|
|
||||||
| Dependency Analysis | ||||||
| ''''''''''''''''''' | ||||||
|
|
@@ -360,7 +171,8 @@ Dependency Analysis | |||||
| :complies: std_req__iso26262__software_942[version==1] | ||||||
|
|
||||||
| For each component a dependency tree view shall be created to support design inspection and Safety Analysis. | ||||||
| It shall show the libraries used by the component (i.e. which libraries are linked to the component, defined as CI build tool target) up to the leaves of the tree. | ||||||
| It shall show the libraries used by the component (i.e. which libraries are linked to the component, | ||||||
| defined as CI build tool target) up to the leaves of the tree. | ||||||
|
|
||||||
| .. needextend:: docname is not None and "process_areas/implementation" in docname | ||||||
| :+tags: implementation | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also named it unique ID in the other requirements like https://eclipse-score.github.io/process_description/pr-717/process_areas/architecture_design/guidance/architecture_process_reqs.html hat are using names. To the aspect to have it similar I would recommend to change it back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but thats an different case. In the architecture, we have this all as Sphinx Objects. Here it is simply a plant UML file without any ID. We could only say, that path + filename build the ID.