From 7576e9bac5d068549f0a5f0f323b56ea67d37619 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 29 Apr 2026 15:15:41 +0200 Subject: [PATCH 01/10] add failure mode attributes --- docs/internals/requirements/requirements.rst | 25 +++++++++++++++++++ src/extensions/score_metamodel/metamodel.yaml | 13 ++++++++++ 2 files changed, 38 insertions(+) diff --git a/docs/internals/requirements/requirements.rst b/docs/internals/requirements/requirements.rst index dd5d8baa5..6317c5867 100644 --- a/docs/internals/requirements/requirements.rst +++ b/docs/internals/requirements/requirements.rst @@ -1126,6 +1126,31 @@ Testing Docs-As-Code shall enforce that every Safety Analysis has a short description of the failure effect (e.g. failure lead to an unintended actuation of the analysed element) + +.. tool_req:: Safety Analysis Safety Relevant Attribute + :id: tool_req__docs_saf_attrs_safety_relevant + :implemented: YES + :tags: Safety Analysis + :version: 1 + + Docs-As-Code shall allow needs of type :need:`tool_req__docs_saf_types` and + ``plat_saf_dfa`` to have an optional ``safety_relevant`` attribute. The + allowed values are: + + * yes + * no + + +.. tool_req:: FMEA: Root Cause Attribute + :id: tool_req__docs_saf_attrs_root_cause + :implemented: YES + :tags: Safety Analysis + :version: 1 + + Docs-As-Code shall allow FMEA needs (``feat_saf_fmea``, ``comp_saf_fmea``) + to have an optional ``root_cause`` attribute with non-empty content. + + ---------------------------------------------------------------- Safety Analysis (DFA + FMEA) Process to Tool Requirement Mapping ---------------------------------------------------------------- diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index a7a28c66a..5c28e7362 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -736,6 +736,7 @@ needs_types: violates: feat_arc_sta optional_options: mitigation_issue: ^https://github.com/.*$ + safety_relevant: ^(yes|no)$ optional_links: mitigated_by: stkh_req, aou_req parts: 3 @@ -758,6 +759,8 @@ needs_types: optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue mitigation_issue: ^https://github.com/.*$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ optional_links: # req-Id: tool_req__docs_saf_attrs_mitigated_by # (only mandatory once valid status == valid) @@ -782,6 +785,8 @@ needs_types: optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue mitigation_issue: ^https://github.com/.*$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_sta @@ -810,6 +815,10 @@ needs_types: optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue mitigation_issue: ^https://github.com/.*$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ + # req-Id: tool_req__docs_saf_attrs_root_cause + root_cause: ^[\s\S]+$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: feat_arc_dyn @@ -837,6 +846,10 @@ needs_types: optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue mitigation_issue: ^https://github.com/.*$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ + # req-Id: tool_req__docs_saf_attrs_root_cause + root_cause: ^[\s\S]+$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_dyn From b7c37535605f9a77be1a48272e893b4c3a11a02e Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Sat, 4 Jul 2026 01:48:32 +0200 Subject: [PATCH 02/10] Add linking to process requirements --- docs/internals/requirements/requirements.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/internals/requirements/requirements.rst b/docs/internals/requirements/requirements.rst index 7a01f28c7..8a1f11494 100644 --- a/docs/internals/requirements/requirements.rst +++ b/docs/internals/requirements/requirements.rst @@ -1162,6 +1162,7 @@ Testing :implemented: YES :tags: Safety Analysis :version: 1 + :satisfies: gd_req__saf_attr_safety_relevant Docs-As-Code shall allow needs of type :need:`tool_req__docs_saf_types` and ``plat_saf_dfa`` to have an optional ``safety_relevant`` attribute. The @@ -1176,6 +1177,7 @@ Testing :implemented: YES :tags: Safety Analysis :version: 1 + :satisfies: gd_req__saf_attr_failure_root_cause Docs-As-Code shall allow FMEA needs (``feat_saf_fmea``, ``comp_saf_fmea``) to have an optional ``root_cause`` attribute with non-empty content. From 1e01e3711c702cad8cc77ab5da0bf7941e6499b3 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Sat, 4 Jul 2026 02:21:06 +0200 Subject: [PATCH 03/10] Add requirement attributes --- docs/internals/requirements/requirements.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/internals/requirements/requirements.rst b/docs/internals/requirements/requirements.rst index 8a1f11494..afe61269c 100644 --- a/docs/internals/requirements/requirements.rst +++ b/docs/internals/requirements/requirements.rst @@ -1163,6 +1163,7 @@ Testing :tags: Safety Analysis :version: 1 :satisfies: gd_req__saf_attr_safety_relevant + :parent_covered: YES Docs-As-Code shall allow needs of type :need:`tool_req__docs_saf_types` and ``plat_saf_dfa`` to have an optional ``safety_relevant`` attribute. The @@ -1178,6 +1179,7 @@ Testing :tags: Safety Analysis :version: 1 :satisfies: gd_req__saf_attr_failure_root_cause + :parent_covered: YES Docs-As-Code shall allow FMEA needs (``feat_saf_fmea``, ``comp_saf_fmea``) to have an optional ``root_cause`` attribute with non-empty content. From 36e007c8a834b4bd7105756e6850ea14d4ce0803 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 29 Apr 2026 15:15:41 +0200 Subject: [PATCH 04/10] merge with main --- docs/internals/requirements/requirements.rst | 25 +++++++++++++++++++ src/extensions/score_metamodel/metamodel.yaml | 13 ++++++++++ 2 files changed, 38 insertions(+) diff --git a/docs/internals/requirements/requirements.rst b/docs/internals/requirements/requirements.rst index 6e3df561c..8ff4aa24f 100644 --- a/docs/internals/requirements/requirements.rst +++ b/docs/internals/requirements/requirements.rst @@ -1259,6 +1259,31 @@ Safety Analysis (DFA + FMEA) Process to Tool Requirement Mapping to have an optional ``root_cause`` attribute with non-empty content. +.. tool_req:: Safety Analysis Safety Relevant Attribute + :id: tool_req__docs_saf_attrs_safety_relevant + :implemented: YES + :tags: Safety Analysis + :version: 1 + + Docs-As-Code shall allow needs of type :need:`tool_req__docs_saf_types` and + ``plat_saf_dfa`` to have an optional ``safety_relevant`` attribute. The + allowed values are: + + * yes + * no + + +.. tool_req:: FMEA: Root Cause Attribute + :id: tool_req__docs_saf_attrs_root_cause + :implemented: YES + :tags: Safety Analysis + :version: 1 + + Docs-As-Code shall allow FMEA needs (``feat_saf_fmea``, ``comp_saf_fmea``) + to have an optional ``root_cause`` attribute with non-empty content. + + + 🔒 Security Analysis ##################### diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index 3d72555c4..b8fe72949 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -700,6 +700,7 @@ needs_types: optional_options: safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ + safety_relevant: ^(yes|no)$ optional_links: mitigated_by: stkh_req, aou_req parts: 3 @@ -727,6 +728,8 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ optional_links: # req-Id: tool_req__docs_saf_attrs_mitigated_by # (only mandatory once valid status == valid) @@ -753,6 +756,8 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_sta @@ -785,6 +790,10 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_root_cause root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ + # req-Id: tool_req__docs_saf_attrs_root_cause + root_cause: ^[\s\S]+$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: feat_arc_dyn, feat_arc_sta @@ -816,6 +825,10 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_root_cause root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ + # req-Id: tool_req__docs_saf_attrs_safety_relevant + safety_relevant: ^(yes|no)$ + # req-Id: tool_req__docs_saf_attrs_root_cause + root_cause: ^[\s\S]+$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_dyn, comp_arc_sta From c00c71f379ac64afdd80f784dc6200a0c8aad59f Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 8 Jul 2026 11:31:13 +0200 Subject: [PATCH 05/10] remove duplicate attributes from metamodel --- src/extensions/score_metamodel/metamodel.yaml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index b8fe72949..5fd53844e 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -700,7 +700,6 @@ needs_types: optional_options: safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ - safety_relevant: ^(yes|no)$ optional_links: mitigated_by: stkh_req, aou_req parts: 3 @@ -723,13 +722,12 @@ needs_types: violates: feat_arc_sta optional_options: # req-Id: tool_req__docs_saf_attrs_ - - + + # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ - # req-Id: tool_req__docs_saf_attrs_safety_relevant - safety_relevant: ^(yes|no)$ + optional_links: # req-Id: tool_req__docs_saf_attrs_mitigated_by # (only mandatory once valid status == valid) @@ -756,8 +754,6 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ - # req-Id: tool_req__docs_saf_attrs_safety_relevant - safety_relevant: ^(yes|no)$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_sta @@ -790,10 +786,6 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_root_cause root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ - # req-Id: tool_req__docs_saf_attrs_safety_relevant - safety_relevant: ^(yes|no)$ - # req-Id: tool_req__docs_saf_attrs_root_cause - root_cause: ^[\s\S]+$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: feat_arc_dyn, feat_arc_sta @@ -826,9 +818,6 @@ needs_types: root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ # req-Id: tool_req__docs_saf_attrs_safety_relevant - safety_relevant: ^(yes|no)$ - # req-Id: tool_req__docs_saf_attrs_root_cause - root_cause: ^[\s\S]+$ mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_dyn, comp_arc_sta From 18780e11b4d73d9dbde4d760aab5b7a5953e10ce Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 8 Jul 2026 12:29:50 +0200 Subject: [PATCH 06/10] fix formatting issues --- src/extensions/score_metamodel/metamodel.yaml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index 5fd53844e..99209bde2 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -721,9 +721,7 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_violates violates: feat_arc_sta optional_options: - # req-Id: tool_req__docs_saf_attrs_ - - + # req-Id: tool_req__docs_saf_attrs_mitigation_issue # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ @@ -817,7 +815,6 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_root_cause root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ - # req-Id: tool_req__docs_saf_attrs_safety_relevant mandatory_links: # req-Id: tool_req__docs_saf_attrs_violates violates: comp_arc_dyn, comp_arc_sta From 2b760142d45625834ac4b3dcd405ab49fe970288 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 8 Jul 2026 13:37:56 +0200 Subject: [PATCH 07/10] fix build issue --- src/extensions/score_metamodel/metamodel.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index 99209bde2..a789a4036 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -812,7 +812,6 @@ needs_types: # req-Id: tool_req__docs_saf_attrs_mitigation_issue # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ - # req-Id: tool_req__docs_saf_attrs_root_cause root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ mandatory_links: From d009468508e0d65d5ca712755e6746ae0bd1b7f6 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 8 Jul 2026 14:06:07 +0200 Subject: [PATCH 08/10] fix build issues --- src/extensions/score_metamodel/metamodel.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index a789a4036..4a75ec480 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -1060,7 +1060,7 @@ needs_extra_links: outgoing: included by mitigated_by: - incoming: mititages + incoming: mitigates outgoing: mitigated_by violates: @@ -1074,6 +1074,10 @@ needs_extra_links: partially_verifies: incoming: partially_verified_by outgoing: partially_verifies + + affects: + incoming: affected by + outgoing: affects ############################################################## # Graph Checks # The graph checks focus on the relation of the needs and their attributes. From 2a633c7022067ee3c92a5f33f6c234b9da8dde30 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 8 Jul 2026 14:34:20 +0200 Subject: [PATCH 09/10] fix build issues --- docs/internals/requirements/requirements.rst | 25 ------------------- src/extensions/score_metamodel/metamodel.yaml | 4 +-- 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/docs/internals/requirements/requirements.rst b/docs/internals/requirements/requirements.rst index 8ff4aa24f..6e3df561c 100644 --- a/docs/internals/requirements/requirements.rst +++ b/docs/internals/requirements/requirements.rst @@ -1259,31 +1259,6 @@ Safety Analysis (DFA + FMEA) Process to Tool Requirement Mapping to have an optional ``root_cause`` attribute with non-empty content. -.. tool_req:: Safety Analysis Safety Relevant Attribute - :id: tool_req__docs_saf_attrs_safety_relevant - :implemented: YES - :tags: Safety Analysis - :version: 1 - - Docs-As-Code shall allow needs of type :need:`tool_req__docs_saf_types` and - ``plat_saf_dfa`` to have an optional ``safety_relevant`` attribute. The - allowed values are: - - * yes - * no - - -.. tool_req:: FMEA: Root Cause Attribute - :id: tool_req__docs_saf_attrs_root_cause - :implemented: YES - :tags: Safety Analysis - :version: 1 - - Docs-As-Code shall allow FMEA needs (``feat_saf_fmea``, ``comp_saf_fmea``) - to have an optional ``root_cause`` attribute with non-empty content. - - - 🔒 Security Analysis ##################### diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index 4a75ec480..2474ea089 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -1075,9 +1075,7 @@ needs_extra_links: incoming: partially_verified_by outgoing: partially_verifies - affects: - incoming: affected by - outgoing: affects + ############################################################## # Graph Checks # The graph checks focus on the relation of the needs and their attributes. From 4fd4bc91ab0564b78e07131ec366af3c13131a37 Mon Sep 17 00:00:00 2001 From: "Negm Adham (ETAS-ECM/ESY3)" Date: Wed, 8 Jul 2026 14:47:20 +0200 Subject: [PATCH 10/10] remove duplicate attributes --- src/extensions/score_metamodel/metamodel.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/extensions/score_metamodel/metamodel.yaml b/src/extensions/score_metamodel/metamodel.yaml index 2474ea089..80ba610f2 100644 --- a/src/extensions/score_metamodel/metamodel.yaml +++ b/src/extensions/score_metamodel/metamodel.yaml @@ -722,7 +722,6 @@ needs_types: violates: feat_arc_sta optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue - # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ @@ -749,7 +748,6 @@ needs_types: content: ^[\s\S]+$ optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue - # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$ mandatory_links: @@ -810,7 +808,6 @@ needs_types: content: ^[\s\S]+$ optional_options: # req-Id: tool_req__docs_saf_attrs_mitigation_issue - # req-Id: tool_req__docs_saf_attrs_safety_relevant safety_relevant: ^(yes|no)$ root_cause: ^[\s\S]+$ mitigation_issue: ^https://github\.com/[^/]+/[^/]+/issues/\d+$