From 29c409310a58290af5a893225dc2d3c0e5e3e397 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" Date: Tue, 1 Sep 2026 08:45:40 +0200 Subject: [PATCH 1/5] add example for auto generated module verifiaction report --- .../module_verification_report.rst | 145 +++++++++++------- .../docs/architecture_modeling_example.rst | 29 +++- 2 files changed, 119 insertions(+), 55 deletions(-) diff --git a/docs/verification_report/module_verification_report.rst b/docs/verification_report/module_verification_report.rst index 500a2a7a..9758c1a8 100644 --- a/docs/verification_report/module_verification_report.rst +++ b/docs/verification_report/module_verification_report.rst @@ -18,80 +18,119 @@ Verification Report .. note:: Document header .. document:: [Module Name] Verification Report - :id: doc__mod_temp_module_name_verification_report - :status: draft - :version: 1 - :safety: ASIL_B - :security: NO - :realizes: wp__verification_module_ver_report - :tags: template + :id: doc__mod_temp_module_name_verification_report + :status: draft + :version: 1 + :safety: ASIL_B + :security: NO + :realizes: wp__verification_module_ver_report + :tags: template .. attention:: + In a module the above directive must be replaced by the following directive. + +.. code-block:: rst + + .. document:: {module pretty name} Module Verification Report + :id: doc__{module formal name = same as in ..mod}_verification_report + :post_template: module_verification_report + :status: valid + :safety: QM + :security: NO + :realizes: wp__verification_module_ver_report + :version: 1 + +.. attention:: + The above directive must be updated according to your Module. - - Modify ``Your Module Name`` to be your Module Name - - Modify ``id`` to be your Module Name in upper snake case preceded by ``doc_`` and succeeded by ``verification_report`` + - Modify ``module pretty name`` to be your Module Name + - Modify ``module formal name`` to be your Module Name in lower case - Adjust ``status`` to be ``valid`` - Adjust ``safety`` and ``tags`` according to your needs -This verification report is based on the :need:`gd_temp__verification_plan`. -It covers all the components of the above stated module. +.. note:: + + The verification report is generated automatically by the codeblock above by the tools and contains all the needed information for the module verification. The report is based on the module verification plan and covers all the components of the module. + + The generated report should contain the following parts: + + .. code-block:: rst -Verification Report contains: + This verification report is based on the :need:`gd_temp__verification_plan`. + It covers all the components of the above stated module. -**1. Verification Coverage** + Verification Report contains: -**1.1. on Requirements** - - Lists of component requirements (incl. AoU satisfied by the component) tested by which test case, passed/failed and completeness verdict - (this shall be generated by tools and accompanied by progress charts to be usable also for project steering) - - For external component Assumptions of Use: coverage by platform safety manual or feature/components incl. test case, passed/failed and completeness verdict - - This is split in a list of QM requirements tested and a separate list of tests for ASIL rated requirements. - - List of component requirements (ASIL rated) linked to inspection checklist and verdict (derived from PR export) + **1. Verification Coverage** -**1.2. on Architecture** - - List of component architecture tags tested by which test case, passed/failed and completeness verdict - (this shall be generated by tools and accompanied by progress charts to be usable also for project steering) - - This is split in a list of QM components tested and a separate list of tests for ASIL rated components. - - List of component architecture tags (ASIL rated) linked to inspection checklist and verdict (derived from PR export) + **1.1. on Requirements** + - Lists of component requirements (incl. AoU satisfied by the component) tested by which test + case, passed/failed and completeness verdict + - (this shall be generated by tools and accompanied by progress charts to be usable also for + project steering) + - For external component Assumptions of Use: coverage by platform safety manual or + feature/components incl. test case, passed/failed and completeness verdict + - This is split in a list of QM requirements tested and a separate list of tests for ASIL + rated requirements. + - List of component requirements (ASIL rated) linked to inspection checklist and verdict + (derived from PR export) -**1.3. on Detailed Design** - - List of detailed design tags tested by which test case, passed/failed and completeness verdict - (this shall be generated by tools and accompanied by progress charts to be usable also for project steering) - - This is split in a list of QM components tested and a separate list of tests for ASIL rated components. - - List of detailed design tags (ASIL rated) linked to inspection checklist and verdict (derived from PR export) + **1.2. on Architecture** + - List of component architecture tags tested by which test case, passed/failed and completeness + verdict + - (this shall be generated by tools and accompanied by progress charts to be usable also for + project steering) + - This is split in a list of QM components tested and a separate list of tests for ASIL rated + components. + - List of component architecture tags (ASIL rated) linked to inspection checklist and verdict + (derived from PR export) - - The lists may also contain other verification methods like "Analysis" - process tbd + **1.3. on Detailed Design** + - List of detailed design tags tested by which test case, passed/failed and completeness verdict + - (this shall be generated by tools and accompanied by progress charts to be usable also for + project steering) + - This is split in a list of QM components tested and a separate list of tests for ASIL rated + components. + - List of detailed design tags (ASIL rated) linked to inspection checklist and verdict (derived + from PR export) + - The lists may also contain other verification methods like "Analysis" - for example + by :need:`doc__mod_temp_component_name_impl_inspection` -**2. DFA Report** - - List of the performed component DFA, pass/fail with open mitigations + **2. DFA Report** + - List of the performed component DFA, pass/fail with open mitigations -**3. Safety Analysis Report** - - List of the performed component Safety Analysis, pass/fail with open mitigations + **3. Safety Analysis Report** + - List of the performed component Safety Analysis, pass/fail with open mitigations -**4. Unit Verification Coverage** + **4. Unit Verification Coverage** -**4.1. Structural Coverage** - - List of the units with C0(line) and C1(branch) coverage absolute and percentage - (this shall be generated by tools and accompanied by progress charts to be usable also for project steering) - - List includes a column for the safety rating of each unit. + **4.1. Structural Coverage** + - List of the units with C0(line) and C1(branch) coverage absolute and percentage + - (this shall be generated by tools and accompanied by progress charts to be usable also for + project steering) + - List includes a column for the safety rating of each unit. -**4.2. Static Code Analysis** - - List of the units with compiler warning numbers and coding rule violation numbers - (this shall be generated by tools and accompanied by progress charts to be usable also for project steering) - - List includes a column for the safety rating of each unit. + **4.2. Static Code Analysis** + - List of the units with compiler warning numbers and coding rule violation numbers + - (this shall be generated by tools and accompanied by progress charts to be usable also for + project steering) + - List includes a column for the safety rating of each unit. -**4.3. Manual Code Inspection** - - List of components (ASIL rated) linked to inspection checklist and verdict (derived from PR export) + **4.3. Manual Code Inspection** + - List of components (ASIL rated) linked to inspection checklist and verdict (derived from PR + export) -**5. Software component qualification verification report** - - Contains the needed verification results if for some components a qualification of pre-developed SW is performed. + **5. Software component qualification verification report** + - Contains the needed verification results if for some components a qualification of pre-developed + SW is performed. -**6. Test results** - - Test result per test case with status passed/failed/not_run + **6. Test results** + - Test result per test case with status passed/failed/not_run -**7. Test logs** - - Test log per test case with status passed/failed/not_run + **7. Test logs** + - Test log per test case with status passed/failed/not_run -**Note1:** The verification report is valid for the module version tagged together with the report + **Note1:** The verification report is valid for the module version tagged together with the report -**Note2:** All the above lists are generated automatically + **Note2:** All the above lists are generated automatically diff --git a/examples/docs/architecture_modeling_example.rst b/examples/docs/architecture_modeling_example.rst index ffd7a96a..dd32431e 100644 --- a/examples/docs/architecture_modeling_example.rst +++ b/examples/docs/architecture_modeling_example.rst @@ -24,6 +24,8 @@ Feature Architecture File .. note:: The feature and the logical interfaces are normally defined in the platform repo (`features folder `_) and imported from there as sphinx needs objects. In this example it is defined here only, to hold the example consistent. +.. Logical Interface Operations and Module Mapping + .. feat:: Feature 1 :id: feat__mtef :security: YES @@ -66,6 +68,9 @@ Feature Architecture File {{ draw_interface(need(), needs) }} + Logical Interface 1 provides the primary control and communication interface for the feature. + It is implemented by sub-component 1 which handles the core functionality. + .. logic_arc_int:: Logical Interface 2 :id: logic_arc_int__example_feature__if_2 @@ -82,6 +87,9 @@ Feature Architecture File {{ draw_interface(need(), needs) }} + Logical Interface 2 provides support for data processing and communication between sub-components. + It is implemented by sub-component 2 which handles data flow and processing operations. + .. logic_arc_int:: Logical Interface 3 :id: logic_arc_int__example_feature__if_3 @@ -92,6 +100,7 @@ Feature Architecture File :included_by: feat__mtef :fulfils: feat_req__example_feature__example_req + Logical Interface 3 provides additional support and monitoring capabilities for the feature. .. Logical Interface Operation @@ -169,9 +178,11 @@ Module View File :safety: ASIL_B :status: valid :version: 1 - :includes: comp__mod_temp_component_example_1, comp__mod_temp_component_example_2 + :includes: comp__mod_temp_component_example_1, comp__mod_temp_component_example_2, comp__mod_temp_archex_sub_component_1, comp__mod_temp_archex_sub_component_2 - This is Module 1. + This module describes the mapping and implementation of logical interfaces through their implementing components and sub-components. + Logical Interface 1 is implemented by Component 1 and Sub-Component 1 (core control logic, operations 1 and 2). + Logical Interface 2 is implemented by Component 2 and Sub-Component 2 (data flow and processing, operations 3 and 4). .. mod_view_sta:: Module 1 Static View :id: mod_view_sta__example_feature__1 @@ -192,6 +203,8 @@ Module View File :version: 1 :includes: comp__mod_temp_component_example_3 + This module contains Component 3 which implements Logical Interface 3 with support and monitoring capabilities. + This is Module 2. .. mod_view_sta:: Module 2 Static View @@ -269,6 +282,11 @@ Feature or Component Architecture File(s) :implements: logic_arc_int__example_feature__if_1 :belongs_to: feat__mtef + Sub-Component 1 implements Logical Interface 1 and provides the core control logic. + + This module handles the primary operations required by the feature interface and coordinates + with other sub-components through Logical Interface 2 for data exchange and synchronization. + .. comp:: Component 1_2 :id: comp__mod_temp_archex_sub_component_2 :status: valid @@ -279,6 +297,11 @@ Feature or Component Architecture File(s) :implements: logic_arc_int__example_feature__if_2 :belongs_to: feat__mtef + Sub-Component 2 implements Logical Interface 2 and provides data processing capabilities. + + This module manages data flow, processing, and communication services required by the feature. + It ensures proper data handling and supports the operations defined in the logical interfaces. + .. comp:: Component 1_3 :id: comp__mod_temp_archex_sub_component_3 :status: valid @@ -287,6 +310,8 @@ Feature or Component Architecture File(s) :security: NO :belongs_to: feat__mtef + Example Sub-Component 3 description as part of Component 1. + Requirements for the Example ============================= From 1dd74eca3ae2a9c014205059bea10a0818c66840 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" Date: Tue, 1 Sep 2026 08:50:33 +0200 Subject: [PATCH 2/5] udpate rules lint version --- MODULE.bazel | 2 +- MODULE.bazel.lock | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 3e4c8440..b2ad92a7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -69,7 +69,7 @@ register_toolchains("@llvm_toolchain//:all") # tooling bazel_dep(name = "score_tooling", version = "1.2.0", dev_dependency = True) -bazel_dep(name = "aspect_rules_lint", version = "1.10.2", dev_dependency = True) +bazel_dep(name = "aspect_rules_lint", version = "2.3.0", dev_dependency = True) bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.2", dev_dependency = True) #docs-as-code diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 52821718..ab76f5e0 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -49,7 +49,6 @@ "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/source.json": "411ec9d79d6f5fe8a083359588c21d01a5b48d88a2cbd334a4c90365015b7836", "https://bcr.bazel.build/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "e767c5dbfeb254ec03275a7701b5cfde2c4d2873676804bc7cb27ddff3728fed", "https://bcr.bazel.build/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "ed0fe929647ba21d2041e14ea3d757133ca306b72d4998e8a3d0d2f515196765", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.10.2/MODULE.bazel": "a4e49c029f1e2b3d7c412c45f10e03ab5cc80f9a579737868554044b03c90365", "https://bcr.bazel.build/modules/aspect_rules_lint/1.3.1/MODULE.bazel": "06ce330900a7d6403bc8d88e5dfad6aeeb8ae40179f66bb89e69c8bf6f6b1a0b", "https://bcr.bazel.build/modules/aspect_rules_lint/1.4.2/MODULE.bazel": "78d025facf6fa675fd6f0b62fd6a9a2bec7ef5ae1e288e5b53f4383b98017105", "https://bcr.bazel.build/modules/aspect_rules_lint/1.4.4/MODULE.bazel": "24459eeeeb084bc3e7628c338e494746718bc17b3a3cbd94415c8df5c7c6dc37", @@ -485,7 +484,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.3.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.10.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.3.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.4.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.4.4/MODULE.bazel": "not found", From fda23844bd0c02d23a8a9a43ff851400051ea147 Mon Sep 17 00:00:00 2001 From: RolandJentschETAS <135332348+RolandJentschETAS@users.noreply.github.com> Date: Tue, 1 Sep 2026 08:59:03 +0200 Subject: [PATCH 3/5] Update docs/verification_report/module_verification_report.rst Co-authored-by: Alexander Lanin Signed-off-by: RolandJentschETAS <135332348+RolandJentschETAS@users.noreply.github.com> --- docs/verification_report/module_verification_report.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/verification_report/module_verification_report.rst b/docs/verification_report/module_verification_report.rst index 9758c1a8..db9fce66 100644 --- a/docs/verification_report/module_verification_report.rst +++ b/docs/verification_report/module_verification_report.rst @@ -18,7 +18,7 @@ Verification Report .. note:: Document header .. document:: [Module Name] Verification Report - :id: doc__mod_temp_module_name_verification_report + :id: doc__mod_mtef_archex_module_1_verification_report :status: draft :version: 1 :safety: ASIL_B From 40d6c621f293efc37aa139d173922044d5288c14 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" Date: Tue, 1 Sep 2026 09:25:04 +0200 Subject: [PATCH 4/5] fix link name --- docs/module/release/release_note.rst | 2 +- docs/module/safety_mgt/module_safety_plan.rst | 2 +- docs/verification_report/module_verification_report.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/module/release/release_note.rst b/docs/module/release/release_note.rst index b4373f12..d506fa3f 100644 --- a/docs/module/release/release_note.rst +++ b/docs/module/release/release_note.rst @@ -95,7 +95,7 @@ Performed Verification ^^^^^^^^^^^^^^^^^^^^^^ This release note is based on the verification as documented in module verification report -:need:`doc__mod_temp_module_name_verification_report`. +:need:`doc__mod_temp_verification_report`. Known Issues ------------ diff --git a/docs/module/safety_mgt/module_safety_plan.rst b/docs/module/safety_mgt/module_safety_plan.rst index 033fc8bd..39994062 100644 --- a/docs/module/safety_mgt/module_safety_plan.rst +++ b/docs/module/safety_mgt/module_safety_plan.rst @@ -126,7 +126,7 @@ Module Work products List * - :need:`wp__verification_module_ver_report` - :need:`gd_temp__mod_ver_report` - :ndf:`copy('status', need_id='gd_temp__mod_ver_report')` - - :need:`doc__mod_temp_module_name_verification_report` + - :need:`doc__mod_temp_verification_report` * - :need:`wp__module_sw_release_note` - :need:`gd_temp__rel_mod_rel_note` diff --git a/docs/verification_report/module_verification_report.rst b/docs/verification_report/module_verification_report.rst index db9fce66..f5631e2a 100644 --- a/docs/verification_report/module_verification_report.rst +++ b/docs/verification_report/module_verification_report.rst @@ -18,7 +18,7 @@ Verification Report .. note:: Document header .. document:: [Module Name] Verification Report - :id: doc__mod_mtef_archex_module_1_verification_report + :id: doc__mod_temp_verification_report :status: draft :version: 1 :safety: ASIL_B From 5b639e9b8bd046b8e8403745b8b2fb40a8657d73 Mon Sep 17 00:00:00 2001 From: "jhr2hi@bosch.com" Date: Tue, 1 Sep 2026 12:11:43 +0200 Subject: [PATCH 5/5] add link to report from process --- docs/verification_report/module_verification_report.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/verification_report/module_verification_report.rst b/docs/verification_report/module_verification_report.rst index f5631e2a..8bcfea1d 100644 --- a/docs/verification_report/module_verification_report.rst +++ b/docs/verification_report/module_verification_report.rst @@ -51,9 +51,9 @@ Verification Report .. note:: - The verification report is generated automatically by the codeblock above by the tools and contains all the needed information for the module verification. The report is based on the module verification plan and covers all the components of the module. + The verification report is generated automatically by the codeblock above by the tools and contains all the needed information for the module verification. The report is based on the module verification plan and workproduct module verification product (:need:`wp__verification_module_ver_report`) and covers all the components of the module. - The generated report should contain the following parts: + The generated report should contain the following parts which bases : .. code-block:: rst