diff --git a/.bazelversion b/.bazelversion
index e7fdef7e2e..2bf50aaf17 100644
--- a/.bazelversion
+++ b/.bazelversion
@@ -1 +1 @@
-8.4.2
+8.3.0
diff --git a/.github/ISSUE_TEMPLATE/1-bugfix.yml b/.github/ISSUE_TEMPLATE/1-bugfix.yml
new file mode 100644
index 0000000000..c3784949cb
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/1-bugfix.yml
@@ -0,0 +1,107 @@
+# *******************************************************************************
+# Copyright (c) 2025 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+
+name: Problem Report
+description: Issue to track a bug
+title: "Bug: Your bugfix title"
+labels: ["codeowner_review"]
+type: 'Bug'
+body:
+ - type: markdown
+ attributes:
+ value: "## Bug Ticket creation"
+ - type: textarea
+ attributes:
+ label: Description
+ description: |
+ Description of the Bug
+ Root cause / Impact / Notification required?
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Analysis results
+ description: |
+ Documentation of the analysis results
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Solution
+ description: |
+ Documentation of the solution
+ Link to Pull Request containing the solution
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: Error Occurrence Rate
+ options:
+ - Single Event
+ - Sporadic
+ - Highly Intermittent
+ - Reproducible
+ - type: textarea
+ attributes:
+ label: How to reproduce
+ description: How to reproduce?
+ - type: textarea
+ attributes:
+ label: Supporting Information
+ description: |
+ During which operational state did the issue occur
+ Observations / Screenshots / Traces
+ validations:
+ required: false
+ - type: dropdown
+ attributes:
+ label: Classification
+ options:
+ - minor
+ - major
+ - critical
+ - blocker
+ default: 0
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: Affected Version
+ options:
+ - pre-0.5
+ - 0.5
+ - 1.0
+ default: 0
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: Expected Closure Version
+ options:
+ - 0.5
+ - 1.0
+ default: 0
+ validations:
+ required: false
+ - type: checkboxes
+ attributes:
+ label: Category
+ options:
+ - label: Safety Related
+ - label: Security Related
+ - type: textarea
+ attributes:
+ label: ASIL classification
+ description: Add ASIL classification, e.g. ASIL_B or ASIL_D
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/2-improvement.yml b/.github/ISSUE_TEMPLATE/2-improvement.yml
new file mode 100644
index 0000000000..fa14031a1d
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/2-improvement.yml
@@ -0,0 +1,52 @@
+# *******************************************************************************
+# Copyright (c) 2025 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+
+name: "Improvement / Task"
+description: Issue to track a improvement / task
+title: "Improvement: Your Improvement title"
+labels: ["codeowner_review"]
+body:
+ - type: textarea
+ attributes:
+ label: What
+ description: |
+ - Goal of the Improvement / Task
+ - If Req/Architecture is affected, the template of
+ [Change Management](https://eclipse-score.github.io/process_description/main/process_areas/change_management/guidance/change_management_impact_analysis_template.html) needs to be used
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: How
+ description: Details on implementation approach
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Estimates for realization
+ description: |
+ - Estimate the effort, resources, risk for the realization
+ - Impact to users of the feature
+ validations:
+ required: true
+ - type: checkboxes
+ attributes:
+ label: Category
+ options:
+ - label: Affects Detailed Design
+ - type: checkboxes
+ attributes:
+ label: Requirements / Architecture
+ options:
+ - label: Requirements / Architecture are not affected by this change?
+ required: true
diff --git a/.github/ISSUE_TEMPLATE/3-change.yml b/.github/ISSUE_TEMPLATE/3-change.yml
new file mode 100644
index 0000000000..7119196e01
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/3-change.yml
@@ -0,0 +1,94 @@
+# *******************************************************************************
+# Copyright (c) 2025 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+
+name: "Change Request"
+description: Issue to track a change
+title: "Change: Your Change Request title"
+labels: ["codeowner_review"]
+body:
+ - type: dropdown
+ attributes:
+ label: Change Request Type
+ options:
+ - Feature Request
+ - Feature Modification
+ - Component Request
+ - Component Modification
+ default: 0
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Description of the Change Request
+ description: |
+ - Exact description of the Change Request
+ - Impact to users of the feature/component
+ - Use following template within a PR and link it to this issue
+ [Change Management Feature Request Template](https://eclipse-score.github.io/process_description/main/process_areas/change_management/guidance/change_management_feature_template.html) needs to be used
+ [Change Management Component Request Template](https://eclipse-score.github.io/process_description/main/process_areas/change_management/guidance/change_management_component_template.html) needs to be used
+ [For (Process) Improvements, Improvement Issue Template](https://github.com/eclipse-score/process_description/blob/main/.github/ISSUE_TEMPLATE/2-improvement.yml) needs to be used
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Estimates for realization
+ description: |
+ - Estimate the effort, resources, risk for the realization
+ validations:
+ required: true
+ - type: checkboxes
+ attributes:
+ label: Affects work products
+ options:
+ - label: Requirements
+ - label: Architecture
+ - label: Safety/Security Analysis
+ - label: Detailed Design
+ required: true
+ - type: textarea
+ attributes:
+ label: Impact analysis
+ description: |
+ - Details on the impacted work products
+ - Use the following template and/or run the impact analysis tool provided
+ If the following template is use within a PR, link it to this issue
+ [Change Management Impact Analysis Template](https://eclipse-score.github.io/process_description/main/process_areas/change_management/guidance/change_management_impact_analysis_template.html) needs to be used
+ validations:
+ required: true
+ - type: checkboxes
+ attributes:
+ label: Safety or Security relevance
+ options:
+ - label: none
+ - label: Safety relevant
+ - label: Security relevant
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: ASIL classification
+ options:
+ - QM
+ - ASIL_B
+ default: 0
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: Expected Implementation Version
+ options:
+ - 0.5
+ - 1.0
+ default: 0
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000000..bb96199601
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,14 @@
+# *******************************************************************************
+# Copyright (c) 2025 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+
+blank_issues_enabled: true
diff --git a/.github/workflows/copyright.yml b/.github/workflows/copyright.yml
index 34f68d332f..3114bce4a9 100644
--- a/.github/workflows/copyright.yml
+++ b/.github/workflows/copyright.yml
@@ -19,6 +19,6 @@ on:
types: [checks_requested]
jobs:
copyright-check:
- uses: eclipse-score/cicd-workflows/.github/workflows/copyright.yml@c1c90b1a82a1fab0fc202979dde6686b2162d5a8 # v0.0.0
+ uses: eclipse-score/cicd-workflows/.github/workflows/copyright.yml@main
with:
bazel-target: "run //:copyright.check"
diff --git a/.github/workflows/docs-cleanup.yml b/.github/workflows/docs-cleanup.yml
index 846e9654f1..cfa4ae2444 100644
--- a/.github/workflows/docs-cleanup.yml
+++ b/.github/workflows/docs-cleanup.yml
@@ -24,6 +24,6 @@ on:
jobs:
docs-cleanup:
- uses: eclipse-score/cicd-workflows/.github/workflows/docs-cleanup.yml@c1c90b1a82a1fab0fc202979dde6686b2162d5a8 # v0.0.0
+ uses: eclipse-score/cicd-workflows/.github/workflows/docs-cleanup.yml@main
secrets:
token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index edf4c49f56..8ffcb83e8e 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -30,7 +30,7 @@ on:
jobs:
build-docs:
- uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@c1c90b1a82a1fab0fc202979dde6686b2162d5a8 # v0.0.0
+ uses: eclipse-score/cicd-workflows/.github/workflows/docs.yml@main
permissions:
contents: write
pages: write
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000000..10ea213efe
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,38 @@
+# *******************************************************************************
+# Copyright (c) 2025 Contributors to the Eclipse Foundation
+#
+# See the NOTICE file(s) distributed with this work for additional
+# information regarding copyright ownership.
+#
+# This program and the accompanying materials are made available under the
+# terms of the Apache License Version 2.0 which is available at
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# SPDX-License-Identifier: Apache-2.0
+# *******************************************************************************
+name: Bazel Tests
+
+on:
+ pull_request:
+ types: [opened, reopened, synchronize]
+ merge_group:
+ types: [checks_requested]
+
+jobs:
+ setup-and-run-tests:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4.2.2
+
+ - name: Setup Bazel with shared caching
+ uses: bazel-contrib/setup-bazel@0.14.0
+ with:
+ disk-cache: true
+ repository-cache: true
+ bazelisk-cache: true
+
+ - name: Run Tests via Bazel
+ run: |
+ echo "Running: bazel test //..."
+ bazel test //...
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 2aa6c4f384..debf8ee21f 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -45,5 +45,6 @@
"prio",
"toctree",
"workproduct"
- ]
+ ],
+ "python-envs.defaultEnvManager": "ms-python.python:system"
}
diff --git a/MODULE.bazel b/MODULE.bazel
index 01636949ef..6500714ab2 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -49,10 +49,5 @@ bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2")
#
###############################################################################
bazel_dep(name = "aspect_rules_lint", version = "1.5.3")
-bazel_dep(name = "score_tooling", version = "1.2.0")
-bazel_dep(name = "score_docs_as_code", version = "3.0.1")
-git_override(
- module_name = "score_docs_as_code",
- commit = "21640ab325b3aae147ba4e3e8b5e7ab89fc2e8f5",
- remote = "https://github.com/etas-contrib/score_docs-as-code.git",
-)
+bazel_dep(name = "score_tooling", version = "1.1.0")
+bazel_dep(name = "score_docs_as_code", version = "3.0.0")
diff --git a/process/conf.py b/process/conf.py
index db45e680f0..266dda0001 100644
--- a/process/conf.py
+++ b/process/conf.py
@@ -31,6 +31,3 @@
"sphinxcontrib.plantuml",
"score_sphinx_bundle",
]
-
-# :need:`{title}` is used in the needs templates to display the title of the need
-needs_role_need_template = "{title}"
diff --git a/process/folder_templates/features/feature_name/architecture/index.rst b/process/folder_templates/features/feature_name/architecture/index.rst
index 85aeed5e32..ab6abb5169 100644
--- a/process/folder_templates/features/feature_name/architecture/index.rst
+++ b/process/folder_templates/features/feature_name/architecture/index.rst
@@ -75,78 +75,70 @@ Mandatory: A motivation for the decomposition
Static Architecture
-------------------
-The live feature architecture template snippets are maintained in the
-`module template documentation `__.
-
-.. code-block:: rst
-
- .. feat:: Feature Name
- :id: feat__feature_name
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :includes: logic_arc_int__feature_name__interface_name1
+.. feat:: Feature Name
+ :id: feat__feature_name
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :includes: logic_arc_int__feature_name__interface_name1
+ :consists_of: comp__component_name_template
- General Feature Description
+ General Feature Description
- .. feat_arc_sta:: Feature Static View
- :id: feat_arc_sta__feature_name__static_view
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :fulfils: feat_req__feature_name__some_title
- :includes: logic_arc_int__feature_name__interface_name1
- :belongs_to: feat__feature_name
+.. feat_arc_sta:: Feature Static View
+ :id: feat_arc_sta__feature_name__static_view
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :fulfils: feat_req__feature_name__some_title
+ :includes: logic_arc_int__feature_name__interface_name1
+ :belongs_to: feat__feature_name
- .. needarch::
- :scale: 50
- :align: center
+ .. needarch::
+ :scale: 50
+ :align: center
- {{ draw_feature(need(), needs) }}
+ {{ draw_feature(need(), needs) }}
Dynamic Architecture
--------------------
-.. code-block:: rst
-
- .. feat_arc_dyn:: Dynamic View
- :id: feat_arc_dyn__feature_name__dynamic_view
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :fulfils: feat_req__feature_name__some_title
- :belongs_to: feat__feature_name
+.. feat_arc_dyn:: Dynamic View
+ :id: feat_arc_dyn__feature_name__dynamic_view
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :fulfils: feat_req__feature_name__some_title
+ :belongs_to: feat__feature_name
- Put here a sequence diagram
+ Put here a sequence diagram
Logical Interfaces
------------------
-.. code-block:: rst
-
- .. logic_arc_int:: Interface Name
- :id: logic_arc_int__feature_name__interface_name1
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :fulfils: feat_req__feature_name__some_title
+.. logic_arc_int:: Interface Name
+ :id: logic_arc_int__feature_name__interface_name1
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :fulfils: feat_req__feature_name__some_title
- General Interface Description
+ General Interface Description
- .. needarch::
- :scale: 50
- :align: center
+ .. needarch::
+ :scale: 50
+ :align: center
- {{ draw_interface(need(), needs) }}
+ {{ draw_interface(need(), needs) }}
- .. logic_arc_int_op:: Operation
- :id: logic_arc_int_op__feature_name__operation
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :included_by: logic_arc_int__feature_name__interface_name1
+.. logic_arc_int_op:: Operation
+ :id: logic_arc_int_op__feature_name__operation
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :included_by: logic_arc_int__feature_name__interface_name1
- General Operation Description
+ General Operation Description
Module Viewpoint
----------------
@@ -154,25 +146,20 @@ Module Viewpoint
The following modules are needed to be defined to be able to draw the static feature view.
They will be replaced by linking the proper module definitions in the used module's repositories as soon as those exist.
-The rendered module and used-component examples are maintained in the
-`module template documentation `_.
-
-.. code-block:: rst
-
- .. mod:: Module Name
- :id: mod__module_name
- :includes: comp__component_name_template
+.. mod:: Module Name
+ :id: mod__module_name
+ :includes: comp__component_name_template
- .. mod_view_sta:: Module Name Static View
- :id: mod_view_sta__feature_name__module_name
- :includes: comp__component_name_template
+.. mod_view_sta:: Module Name Static View
+ :id: mod_view_sta__feature_name__module_name
+ :includes: comp__component_name_template
- .. needarch::
- :scale: 50
- :align: center
+ .. needarch::
+ :scale: 50
+ :align: center
- {{ draw_module(need(), needs) }}
+ {{ draw_module(need(), needs) }}
Used Components
---------------
diff --git a/process/folder_templates/features/feature_name/requirements/chklst_req_inspection.rst b/process/folder_templates/features/feature_name/requirements/chklst_req_inspection.rst
index 62ec0dff59..ddc4ba48fa 100644
--- a/process/folder_templates/features/feature_name/requirements/chklst_req_inspection.rst
+++ b/process/folder_templates/features/feature_name/requirements/chklst_req_inspection.rst
@@ -108,7 +108,7 @@ See also :need:`doc_concept__wp_inspections` for further information about revie
-
* - REQ_04_01
- Is the requirement *internally and externally consistent*?
- - Does the requirement contradict other requirements within the same or higher levels? One may restrict the search to the feature for component requirements, for features to other features using same components. Is the description of the requirement consistent with all its attributes (if not already part of another check, e.g. does the title fit?).
+ - Does the requirement contradict other requirements within the same or higher levels? One may restrict the search to the feature for component requirements, for features to other features using same components.
-
-
-
diff --git a/process/folder_templates/features/feature_name/requirements/index.rst b/process/folder_templates/features/feature_name/requirements/index.rst
index 0e98c7d280..fe8b5f6bc6 100644
--- a/process/folder_templates/features/feature_name/requirements/index.rst
+++ b/process/folder_templates/features/feature_name/requirements/index.rst
@@ -34,33 +34,29 @@ Feature Requirements
===================================================================
-.. code-block:: rst
-
- .. feat_req:: Some Title
- :id: feat_req__feature_name__some_title
- :reqtype: Process
- :security: NO
- :safety: ASIL_B
- :satisfies: stkh_req__requirements__template
- :valid_from: v0.0.1
- :valid_until: v1.0.1
- :status: invalid
- :belongs_to: feat__feature_name
-
- The Feature shall do xyz to the user to bring him to this condition at this time.
+.. feat_req:: Some Title
+ :id: feat_req__feature_name__some_title
+ :reqtype: Process
+ :security: NO
+ :safety: ASIL_B
+ :satisfies: stkh_req__requirements__template
+ :valid_from: v0.0.1
+ :valid_until: v1.0.1
+ :status: invalid
+ :belongs_to: feat__feature_name
- Note: (optional, not to be verified)
+ The Feature shall do xyz to the user to bring him to this condition at this time.
-.. code-block:: rst
+ Note: (optional, not to be verified)
- .. aou_req:: Some Other Title
- :id: aou_req__feature_name__some_other_title
- :reqtype: Process
- :security: NO
- :safety: ASIL_B
- :status: invalid
+.. aou_req:: Some Other Title
+ :id: aou_req__feature_name__some_other_title
+ :reqtype: Process
+ :security: NO
+ :safety: ASIL_B
+ :status: invalid
- The Feature User shall do xyz to use the feature safely.
+ The Feature User shall do xyz to use the feature safely.
.. attention::
The above directives must be updated according to your feature requirements.
diff --git a/process/folder_templates/features/feature_name/safety_analysis/dfa.rst b/process/folder_templates/features/feature_name/safety_analysis/dfa.rst
index ba1afa5222..375045e6a6 100644
--- a/process/folder_templates/features/feature_name/safety_analysis/dfa.rst
+++ b/process/folder_templates/features/feature_name/safety_analysis/dfa.rst
@@ -34,8 +34,157 @@ DFA (Dependent Failure Analysis)
- Adjust ``status`` to be ``valid``
- Adjust ``safety`` and ``tags`` according to your needs
-Dependent Failure Initiators
-----------------------------
+The DFA for the feature [Your Feature Name] is performed. To show evidence that all failure initiators are considered, the applicability has to be filled out in the
+following tables. For all applicable failure initiators, the DFA has to be performed.
+
+1 Dependent Failure Initiators
+------------------------------
+
+1.1 Shared resources
+^^^^^^^^^^^^^^^^^^^^
+
+The dependent failure initiators related to shared resources are not applicable for the features. The shared resources
+will be considered in the platform DFA.
+
+1.2 Communication between the two elements:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Receiving function is affected by information that is false, lost, sent multiple times, or in the wrong order etc. from the sender.
+
+.. list-table:: DFA communication between elements
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause communication between elements
+ - Applicability
+ - Rationale
+ * - CO_01_01
+ - Information passed via argument through a function call, or via writing/reading a variable being global to the two software functions (data flow)
+ -
+ -
+ * - CO_01_02
+ - Data or message corruption / repetition / loss / delay / masquerading or incorrect addressing of information
+ -
+ -
+ * - CO_01_03
+ - Insertion / sequence of information
+ -
+ -
+ * - CO_01_04
+ - Corruption of information, inconsistent data
+ -
+ -
+ * - CO_01_05
+ - Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same information
+ -
+ -
+ * - CO_01_06
+ - Information from a sender received by only a subset of the receivers
+ -
+ -
+ * - CO_01_07
+ - Blocking access to a communication channel
+ -
+ -
+
+1.3 Shared information inputs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Same information input used by multiple functions.
+
+.. list-table:: DFA shared information inputs
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause shared information inputs
+ - Applicability
+ - Rationale
+ * - SI_01_02
+ - Configuration data
+ -
+ -
+ * - SI_01_03
+ - Constants, or variables, being global to the two software functions
+ -
+ -
+ * - SI_01_04
+ - Basic software passes data (read from hardware register and converted into logical information) to two applications software functions
+ -
+ -
+ * - SI_01_05
+ - Data / function parameter arguments / messages delivered by software function to more than one other function
+ -
+ -
+
+1.4 Unintended impact
+^^^^^^^^^^^^^^^^^^^^^
+
+Unintended impacts to function due to various failures.
+
+.. list-table:: DFA unintended impact
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause unintended impact
+ - Applicability
+ - Rationale
+ * - UI_01_01
+ - Memory miss-allocation and leaks
+ -
+ -
+ * - UI_01_02
+ - Read/Write access to memory allocated to another software element
+ -
+ -
+ * - UI_01_03
+ - Stack/Buffer under-/overflow
+ -
+ -
+ * - UI_01_04
+ - Deadlocks
+ -
+ -
+ * - UI_01_05
+ - Livelocks
+ -
+ -
+ * - UI_01_06
+ - Blocking of execution
+ -
+ -
+ * - UI_01_07
+ - Incorrect allocation of execution time
+ -
+ -
+ * - UI_01_08
+ - Incorrect execution flow
+ -
+ -
+ * - UI_01_09
+ - Incorrect synchronization between software elements
+ -
+ -
+ * - UI_01_10
+ - CPU time depletion
+ -
+ -
+ * - UI_01_11
+ - Memory depletion
+ -
+ -
+ * - UI_01_12
+ - Other HW unavailability
+ -
+ -
+
+
+2 DFA
+=====
+
+For all identified applicable failure initiators, the DFA is performed in the following section.
.. code-block:: rst
diff --git a/process/folder_templates/features/feature_name/safety_analysis/fmea.rst b/process/folder_templates/features/feature_name/safety_analysis/fmea.rst
index 89a6a5ec14..ea04fc1ee9 100644
--- a/process/folder_templates/features/feature_name/safety_analysis/fmea.rst
+++ b/process/folder_templates/features/feature_name/safety_analysis/fmea.rst
@@ -34,9 +34,86 @@ FMEA (Failure Modes and Effects Analysis)
- Adjust ``status`` to be ``valid``
- Adjust ``safety`` and ``tags`` according to your needs
+The FMEA for the feature [Your Feature Name] is performed. To show evidence that all failure initiators are considered, the applicability has to be filled out in the
+following tables. For all applicable failure initiators, the FMEA has to be performed.
+
Failure Mode List
-----------------
+Fault Models for sequence diagrams
+ .. list-table:: Fault Models for sequence diagrams
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Failure Mode
+ - Applicability
+ - Rationale
+ * - MF_01_01
+ - message is not received (is a subset/more precise description of MF_01_05)
+ -
+ -
+ * - MF_01_02
+ - message received too late (only relevant if delay is a realistic fault)
+ -
+ -
+ * - MF_01_03
+ - message received too early (usually not a problem)
+ -
+ -
+ * - MF_01_04
+ - message not received correctly by all recipients (different messages or messages partly lost). Only relevant if the same message goes to multiple recipients.
+ -
+ -
+ * - MF_01_05
+ - message is corrupted
+ -
+ -
+ * - MF_01_06
+ - message is not sent
+ -
+ -
+ * - MF_01_07
+ - message is unintended sent
+ -
+ -
+ * - CO_01_01
+ - minimum constraint boundary is violated
+ -
+ -
+ * - CO_01_02
+ - maximum constraint boundary is violated
+ -
+ -
+ * - EX_01_01
+ - Process calculates wrong result(s) (is a subset/more precise description of MF_01_05 or MF_01_04). This failure mode is related to the analysis if e.g. internal safety mechanisms are required (level 2 function, plausibility check of the output, …) because of the size / complexity of the feature.
+ -
+ -
+ * - EX_01_02
+ - processing too slow (only relevant if timing is considered)
+ -
+ -
+ * - EX_01_03
+ - processing too fast (only relevant if timing is considered)
+ -
+ -
+ * - EX_01_04
+ - loss of execution
+ -
+ -
+ * - EX_01_05
+ - processing changes to arbitrary process
+ -
+ -
+ * - EX_01_06
+ - processing is not complete (infinite loop)
+ -
+ -
+
+FMEA
+----
+For all identified applicable failure initiators, the FMEA is performed in the following section.
+
.. code-block:: rst
diff --git a/process/folder_templates/modules/module_name/component_name/docs/architecture/index.rst b/process/folder_templates/modules/module_name/component_name/docs/architecture/index.rst
index 4a660a35d3..23643a7cc7 100644
--- a/process/folder_templates/modules/module_name/component_name/docs/architecture/index.rst
+++ b/process/folder_templates/modules/module_name/component_name/docs/architecture/index.rst
@@ -72,49 +72,41 @@ The components are designed to cover the expectations from the feature architect
A component can optional also consist of subcomponents to further structure the architecture. The component and its static views can also optionally use interfaces provided by other components.
-The live component architecture template is maintained in the
-`module template documentation `_.
+.. comp:: Component Name
+ :id: comp__component_name_template
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :implements: logic_arc_int__feature_name__interface_name1
+ :consists_of: comp__archex_sub_component_1, comp__archex_sub_component_2, comp__archex_sub_component_3
-.. code-block:: rst
+.. comp_arc_sta:: Component Name (Static View)
+ :id: comp_arc_sta__component_name__static_view
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :belongs_to: comp__component_name_template
+ :uses: logic_arc_int__feature_name__interface_name1
+ :fulfils: comp_req__component_name__some_title
- .. comp:: Component Name
- :id: comp__component_name_template
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :implements: logic_arc_int__feature_name__interface_name1
- :consists_of: comp__component_name_internal_1, comp__component_name_internal_2, comp__component_name_internal_3
- :belongs_to: feat__feature_name
-
- .. comp_arc_sta:: Component Name (Static View)
- :id: comp_arc_sta__component_name__static_view
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :belongs_to: comp__component_name_template
- :uses: logic_arc_int__feature_name__interface_name1
- :fulfils: comp_req__component_name__some_title
-
- .. needarch::
- :scale: 50
- :align: center
-
- {{ draw_component(need(), needs) }}
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_component(need(), needs) }}
Dynamic Architecture
--------------------
-.. code-block:: rst
-
- .. comp_arc_dyn:: Dynamic View
- :id: comp_arc_dyn__component_name__dynamic_view
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :belongs_to: comp__component_name_template
- :fulfils: comp_req__component_name__some_title
+.. comp_arc_dyn:: Dynamic View
+ :id: comp_arc_dyn__component_name__dynamic_view
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :belongs_to: comp__component_name_template
+ :fulfils: comp_req__component_name__some_title
- Put here a sequence diagram
+ Put here a sequence diagram
Interfaces
@@ -132,38 +124,15 @@ Interfaces
Internal Components
-------------------
-.. code-block:: rst
+.. comp_arc_sta:: Component Name Static View
+ :id: comp_arc_sta__component_name__2
+ :status: invalid
+ :safety: ASIL_B
+ :security: YES
+ :fulfils: comp_req__component_name__some_title
+ :belongs_to: comp__component_example_2
- .. comp_arc_sta:: Component Name Static View
- :id: comp_arc_sta__component_name__2
- :status: invalid
- :safety: ASIL_B
- :security: YES
- :fulfils: comp_req__component_name__some_title
- :belongs_to: comp__component_name_template
-
- No architecture but detailed design
-
- .. comp:: Internal Component 1
- :id: comp__component_name_internal_1
- :status: invalid
- :safety: ASIL_B
- :security: YES
- :belongs_to: feat__feature_name
-
- .. comp:: Internal Component 2
- :id: comp__component_name_internal_2
- :status: invalid
- :safety: ASIL_B
- :security: YES
- :belongs_to: feat__feature_name
-
- .. comp:: Internal Component 3
- :id: comp__component_name_internal_3
- :status: invalid
- :safety: ASIL_B
- :security: YES
- :belongs_to: feat__feature_name
+ No architecture but detailed design
.. note::
Architecture can be split into multiple files. At component level the public interfaces to be used by the user and tester to be shown.
diff --git a/process/folder_templates/modules/module_name/component_name/docs/requirements/chklst_req_inspection.rst b/process/folder_templates/modules/module_name/component_name/docs/requirements/chklst_req_inspection.rst
index 0136a8b5d3..724ac29f76 100644
--- a/process/folder_templates/modules/module_name/component_name/docs/requirements/chklst_req_inspection.rst
+++ b/process/folder_templates/modules/module_name/component_name/docs/requirements/chklst_req_inspection.rst
@@ -108,7 +108,7 @@ See also :need:`doc_concept__wp_inspections` for further information about revie
-
* - REQ_04_01
- Is the requirement *internally and externally consistent*?
- - Does the requirement contradict other requirements within the same or higher levels? One may restrict the search to the feature for component requirements, for features to other features using same components. Is the description of the requirement consistent with all its attributes (if not already part of another check, e.g. does the title fit?).
+ - Does the requirement contradict other requirements within the same or higher levels? One may restrict the search to the feature for component requirements, for features to other features using same components.
-
-
-
diff --git a/process/folder_templates/modules/module_name/component_name/docs/requirements/index.rst b/process/folder_templates/modules/module_name/component_name/docs/requirements/index.rst
index d705cf1b44..26a26c4eac 100644
--- a/process/folder_templates/modules/module_name/component_name/docs/requirements/index.rst
+++ b/process/folder_templates/modules/module_name/component_name/docs/requirements/index.rst
@@ -37,20 +37,18 @@ Requirements
Component Requirements
----------------------
-.. code-block:: rst
-
- .. comp_req:: Some Title
- :id: comp_req__component_name__some_title
- :reqtype: Process
- :security: YES
- :safety: ASIL_B
- :satisfies: feat_req__feature_name__some_title
- :status: invalid
- :belongs_to: comp__component_name_template
+.. comp_req:: Some Title
+ :id: comp_req__component_name__some_title
+ :reqtype: Process
+ :security: YES
+ :safety: ASIL_B
+ :satisfies: feat_req__feature_name__some_title
+ :status: invalid
+ :belongs_to: comp__component_name_template
- The Component shall do xyz to another component to bring it to this condition at this time
+ The Component shall do xyz to another component to bring it to this condition at this time
- Note: (optional, not to be verified)
+ Note: (optional, not to be verified)
.. attention::
The above directive must be updated according to your component requirements.
@@ -65,31 +63,27 @@ Component Requirements
Assumption of Use Requirements
------------------------------
-.. code-block:: rst
-
- .. aou_req:: Next Title
- :id: aou_req__component_name__next_title
- :reqtype: Process
- :security: YES
- :safety: ASIL_B
- :status: invalid
+.. aou_req:: Next Title
+ :id: aou_req__component_name__next_title
+ :reqtype: Process
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
- The Component User shall do xyz to use the component safely/securely
+ The Component User shall do xyz to use the component safely/securely
Environmental Requirements
--------------------------
-.. code-block:: rst
-
- .. aou_req:: Another Title
- :id: aou_req__component_name__another_title
- :reqtype: Process
- :security: YES
- :safety: ASIL_B
- :status: invalid
- :tags: environment
+.. aou_req:: Another Title
+ :id: aou_req__component_name__another_title
+ :reqtype: Process
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :tags: environment
- The Component shall only be used in a xyz environment to ensure its proper functioning.
+ The Component shall only be used in a xyz environment to ensure its proper functioning.
Hints
-----
diff --git a/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/dfa.rst b/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/dfa.rst
index 62c8f48019..410431f82a 100644
--- a/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/dfa.rst
+++ b/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/dfa.rst
@@ -34,8 +34,157 @@ DFA (Dependent Failure Analysis)
- Adjust ``status`` to be ``valid``
- Adjust ``safety`` and ``tags`` according to your needs
-Dependent Failure Initiators
-----------------------------
+The DFA for the component [Your Component Name] is performed. To show evidence that all failure initiators are considered, the applicability has to be filled out in the
+following tables. For all applicable failure initiators, the DFA has to be performed.
+
+1 Dependent Failure Initiators
+------------------------------
+
+1.1 Shared resources
+^^^^^^^^^^^^^^^^^^^^
+
+The dependent failure initiators related to shared resources are not applicable for the component. The shared resources
+will be considered in the platform DFA.
+
+1.2 Communication between the two elements:
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Receiving function is affected by information that is false, lost, sent multiple times, or in the wrong order etc. from the sender.
+
+.. list-table:: DFA communication between elements
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause communication between elements
+ - Applicability
+ - Rationale
+ * - CO_01_01
+ - Information passed via argument through a function call, or via writing/reading a variable being global to the two software functions (data flow)
+ -
+ -
+ * - CO_01_02
+ - Data or message corruption / repetition / loss / delay / masquerading or incorrect addressing of information
+ -
+ -
+ * - CO_01_03
+ - Insertion / sequence of information
+ -
+ -
+ * - CO_01_04
+ - Corruption of information, inconsistent data
+ -
+ -
+ * - CO_01_05
+ - Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same information
+ -
+ -
+ * - CO_01_06
+ - Information from a sender received by only a subset of the receivers
+ -
+ -
+ * - CO_01_07
+ - Blocking access to a communication channel
+ -
+ -
+
+1.3 Shared information inputs
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Same information input used by multiple functions.
+
+.. list-table:: DFA shared information inputs
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause shared information inputs
+ - Applicability
+ - Rationale
+ * - SI_01_02
+ - Configuration data
+ -
+ -
+ * - SI_01_03
+ - Constants, or variables, being global to the two software functions
+ -
+ -
+ * - SI_01_04
+ - Basic software passes data (read from hardware register and converted into logical information) to two applications software functions
+ -
+ -
+ * - SI_01_05
+ - Data / function parameter arguments / messages delivered by software function to more than one other function
+ -
+ -
+
+1.4 Unintended impact
+^^^^^^^^^^^^^^^^^^^^^
+
+Unintended impacts to function due to various failures.
+
+.. list-table:: DFA unintended impact
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause unintended impact
+ - Applicability
+ - Rationale
+ * - UI_01_01
+ - Memory miss-allocation and leaks
+ -
+ -
+ * - UI_01_02
+ - Read/Write access to memory allocated to another software element
+ -
+ -
+ * - UI_01_03
+ - Stack/Buffer under-/overflow
+ -
+ -
+ * - UI_01_04
+ - Deadlocks
+ -
+ -
+ * - UI_01_05
+ - Livelocks
+ -
+ -
+ * - UI_01_06
+ - Blocking of execution
+ -
+ -
+ * - UI_01_07
+ - Incorrect allocation of execution time
+ -
+ -
+ * - UI_01_08
+ - Incorrect execution flow
+ -
+ -
+ * - UI_01_09
+ - Incorrect synchronization between software elements
+ -
+ -
+ * - UI_01_10
+ - CPU time depletion
+ -
+ -
+ * - UI_01_11
+ - Memory depletion
+ -
+ -
+ * - UI_01_12
+ - Other HW unavailability
+ -
+ -
+
+
+2 DFA
+=====
+
+For all identified applicable failure initiators, the DFA is performed in the following section.
.. code-block:: rst
diff --git a/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/fmea.rst b/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/fmea.rst
index fcb6f65ed6..683e0ca78a 100644
--- a/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/fmea.rst
+++ b/process/folder_templates/modules/module_name/component_name/docs/safety_analysis/fmea.rst
@@ -34,9 +34,86 @@ FMEA (Failure Modes and Effects Analysis)
- Adjust ``status`` to be ``valid``
- Adjust ``safety`` and ``tags`` according to your needs
+The FMEA for the component [Your Component Name] is performed. To show evidence that all failure initiators are considered, the applicability has to be filled out in the
+following tables. For all applicable failure initiators, the FMEA has to be performed.
+
Failure Mode List
-----------------
+Fault Models for sequence diagrams
+ .. list-table:: Fault Models for sequence diagrams
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Failure Mode
+ - Applicability
+ - Rationale
+ * - MF_01_01
+ - message is not received (is a subset/more precise description of MF_01_05)
+ -
+ -
+ * - MF_01_02
+ - message received too late (only relevant if delay is a realistic fault)
+ -
+ -
+ * - MF_01_03
+ - message received too early (usually not a problem)
+ -
+ -
+ * - MF_01_04
+ - message not received correctly by all recipients (different messages or messages partly lost). Only relevant if the same message goes to multiple recipients.
+ -
+ -
+ * - MF_01_05
+ - message is corrupted
+ -
+ -
+ * - MF_01_06
+ - message is not sent
+ -
+ -
+ * - MF_01_07
+ - message is unintended sent
+ -
+ -
+ * - CO_01_01
+ - minimum constraint boundary is violated
+ -
+ -
+ * - CO_01_02
+ - maximum constraint boundary is violated
+ -
+ -
+ * - EX_01_01
+ - Process calculates wrong result(s) (is a subset/more precise description of MF_01_05 or MF_01_04). This failure mode is related to the analysis if e.g. internal safety mechanisms are required (level 2 function, plausibility check of the output, …) because of the size / complexity of the feature.
+ -
+ -
+ * - EX_01_02
+ - processing too slow (only relevant if timing is considered)
+ -
+ -
+ * - EX_01_03
+ - processing too fast (only relevant if timing is considered)
+ -
+ -
+ * - EX_01_04
+ - loss of execution
+ -
+ -
+ * - EX_01_05
+ - processing changes to arbitrary process
+ -
+ -
+ * - EX_01_06
+ - processing is not complete (infinite loop)
+ -
+ -
+
+FMEA
+----
+For all identified applicable failure initiators, the FMEA is performed in the following section.
+
.. code-block:: rst
.. comp_saf_fmea::
diff --git a/process/folder_templates/modules/module_name/docs/manual/safety_manual.rst b/process/folder_templates/modules/module_name/docs/manual/safety_manual.rst
index 78fd91d17c..68c92c0dcb 100644
--- a/process/folder_templates/modules/module_name/docs/manual/safety_manual.rst
+++ b/process/folder_templates/modules/module_name/docs/manual/safety_manual.rst
@@ -64,9 +64,6 @@ List of AoUs expected from the environment the platform / module runs on:
if need and "environment" in need["tags"]:
results.append(need)
-.. attention::
- Make sure these AoU are here for a safety reason, i.e. every one "mitigates" a safety analysis entry.
-
Assumptions on the User
^^^^^^^^^^^^^^^^^^^^^^^
| As there is no assumption on which specific OS and HW is used, the integration testing of the stakeholder and feature requirements is expected to be performed by the user of the platform SEooC. Tests covering all stakeholder and feature requirements performed on a reference platform (tbd link to reference platform specification), reviewed and passed are included in the platform SEooC safety package.
@@ -92,9 +89,6 @@ This means for every feature the user selects, the platform safety manual and th
if need and "environment" not in need["tags"]:
results.append(need)
-.. attention::
- Make sure these AoU are here for a safety reason, i.e. every one "mitigates" a safety analysis entry.
-
Safety concept of the SEooC
---------------------------
|
diff --git a/process/folder_templates/modules/module_name/docs/release/release_note.rst b/process/folder_templates/modules/module_name/docs/release/release_note.rst
index fb6c5d3944..728108b2d0 100644
--- a/process/folder_templates/modules/module_name/docs/release/release_note.rst
+++ b/process/folder_templates/modules/module_name/docs/release/release_note.rst
@@ -35,86 +35,94 @@ Release Note
-| **Module Name:** [Module Name]
-| **Release Tag:** vX.Y.Z
-| **Origin Release Tag:** vU.V.W
-| **Release Date:** YYYY-MM-DD
-
-
-Overview
-^^^^^^^^
-
-This document provides an overview of the changes, improvements, and bug fixes included in the software module release version vX.Y.Z
-as compared to the module's origin release (which is usually the previous release).
-
-Disclaimer
-----------
-
-This release note does not "release for production", as it does not come with a safety argumentation and a performed safety assessment.
-The work products compiled in the safety package are created with care according to a process satisfying standards, but the as the project,
-being a non-profit and open source organization, can not take over any liability for its content.
-
-Changes to the Module
-^^^^^^^^^^^^^^^^^^^^^
-
-New Features
-------------
-
-- **Feature 1:** Brief description of the new feature.
-- **Feature 2:** Brief description of the new feature.
-- **Feature 3:** Brief description of the new feature.
-
-Improvements
-------------
-
-- **Improvement 1:** Brief description of the improvement.
-- **Improvement 2:** Brief description of the improvement.
-- **Improvement 3:** Brief description of the improvement.
-
-Bug Fixes
----------
-
-- **Bug 1:** Brief description of the bug fix.
-- **Bug 2:** Brief description of the bug fix.
-- **Bug 3:** Brief description of the bug fix.
-
-Other changes by Label
-----------------------
-
-- **Label 1/Refactor 1:** Brief description of the change.
-- **Label 2/Refactor 2:** Brief description of the change.
-- **Label 3/Refactor 3:** Brief description of the change.
-
-Compatibility
-^^^^^^^^^^^^^
-
-- **Dependencies:** List any dependencies and their versions.
-
-Performed Verification
-^^^^^^^^^^^^^^^^^^^^^^
-
-This release note is based on the verification as documented in module verification report
-:need:`doc__module_name_verification_report`.
-
-Known Issues
-------------
-
-- **Issue 1:** Brief description of the known issue. Justification regarding safety impact.
-- **Issue 2:** Brief description of the known issue. Justification regarding safety impact.
-- **Issue 3:** Brief description of the known issue. Justification regarding safety impact.
-
-Known Vulnerabilities
----------------------
-
-- **CVE 1:** Brief description of the known CVE. Justification regarding security impact.
-- **CVE 2:** Brief description of the known CVE. Justification regarding security impact.
-- **CVE 3:** Brief description of the known CVE. Justification regarding security impact.
-
-Upgrade Instructions
-^^^^^^^^^^^^^^^^^^^^
-
-1. **Step 1:** Description of the first step.
-2. **Step 2:** Description of the second step.
-3. **Step 3:** Description of the third step.
-
-For any questions or support, please contact the *Project lead* or raise an issue/discussion.
+| Module Name: [Module Name]
+| Release Tag: vX.Y.Z
+| Origin Release Tag: vU.V.W
+| Release Commit Hash: a1b2c3d4e5f6g7h8i9j0
+| Release Date: YYYY-MM-DD
+| Safety: [QM | ASIL_B]
+| Security: [NO | YES]
+|
+| Overview
+| --------
+|
+| This document provides an overview of the changes, improvements, and bug fixes included in the software module release version vX.Y.Z
+| as compared to the module's origin release (which is usually the previous release).
+|
+| Disclaimer
+| ----------
+| This release note does not "release for production", as it does not come with a safety argumentation and a performed safety assessment.
+| The work products compiled in the safety package are created with care according to a process satisfying standards, but the as the project,
+| being a non-profit and open source organization, can not take over any liability for its content.
+|
+| New Features
+| ------------
+|
+| - **Feature 1**: Brief description of the new feature.
+| - **Feature 2**: Brief description of the new feature.
+| - **Feature 3**: Brief description of the new feature.
+|
+| Improvements
+| ------------
+|
+| - **Improvement 1**: Brief description of the improvement.
+| - **Improvement 2**: Brief description of the improvement.
+| - **Improvement 3**: Brief description of the improvement.
+|
+| Bug Fixes
+| ---------
+|
+| - **Bug 1**: Brief description of the bug fix.
+| - **Bug 2**: Brief description of the bug fix.
+| - **Bug 3**: Brief description of the bug fix.
+|
+| Other changes by Label
+| ----------------------
+|
+| - **Label 1/Refactor 1**: Brief description of the change.
+| - **Label 2/Refactor 2**: Brief description of the change.
+| - **Label 3/Refactor 3**: Brief description of the change.
+|
+| Compatibility
+| -------------
+|
+| - **Dependencies**: List any dependencies and their versions.
+|
+| Performed Verification
+| ----------------------
+| This release note is based on the verification as documented in module verification report
+| :need:`doc__module_name_verification_report`.
+|
+| Known Issues
+| ------------
+|
+| - **Issue 1**: Brief description of the known issue. Justification regarding safety impact.
+| - **Issue 2**: Brief description of the known issue. Justification regarding safety impact.
+| - **Issue 3**: Brief description of the known issue. Justification regarding safety impact.
+|
+| Known Vulnerabilities
+| ---------------------
+|
+| - **CVE 1**: Brief description of the known CVE. Justification regarding security impact.
+| - **CVE 2**: Brief description of the known CVE. Justification regarding security impact.
+| - **CVE 3**: Brief description of the known CVE. Justification regarding security impact.
+|
+| Upgrade Instructions
+| --------------------
+|
+| 1. **Step 1**: Description of the first step.
+| 2. **Step 2**: Description of the second step.
+| 3. **Step 3**: Description of the third step.
+|
+| Contributors
+| ------------
+|
+| Thanks to everyone who contributed to this release:
+|
+| Contributor 1
+| Contributor 2
+|
+| Contact Information
+| -------------------
+|
+| For any questions or support, please contact the *Project lead* or raise an issue/discussion.
diff --git a/process/folder_templates/modules/module_name/docs/safety_mgt/module_safety_plan.rst b/process/folder_templates/modules/module_name/docs/safety_mgt/module_safety_plan.rst
index 2bf113dea9..f5ec018ebb 100644
--- a/process/folder_templates/modules/module_name/docs/safety_mgt/module_safety_plan.rst
+++ b/process/folder_templates/modules/module_name/docs/safety_mgt/module_safety_plan.rst
@@ -207,7 +207,7 @@ Note: In case the component is a new development, :need:`wp__sw_component_class`
In case an OSS element is used in the module, part 6 has to be filled out.
OSS (sub-)component qualification plan
---------------------------------------
+======================================
For the selected OSS component the following work products will be implemented (and why):
@@ -266,11 +266,6 @@ If the OSS element is classified as
- :need:`gd_guidl__component_classification`
- Always needed as basis for tailoring.
-Link to project planning
-------------------------
-
-
-
Module Safety Package
=====================
diff --git a/process/folder_templates/platform/docs/release/release_note.rst b/process/folder_templates/platform/docs/release/release_note.rst
index ac7f332b71..6e6d134d35 100644
--- a/process/folder_templates/platform/docs/release/release_note.rst
+++ b/process/folder_templates/platform/docs/release/release_note.rst
@@ -32,90 +32,90 @@ Platform Release Note
- Adjust ``safety`` and ``tags`` according to your needs
-| **Platform Name:**
-| **Release Tag:** vX.Y.Z
-| **Origin Release Tag:** vU.V.W
-| **Release Date:** YYYY-MM-DD
-Overview
-^^^^^^^^
-
-This document provides an overview of the changes, improvements, and bug fixes included in the software platform release version vX.Y.Z
-as compared to the platform's origin release (which is usually the previous release).
-
-Disclaimer
-----------
-
-This release note does not "release for production", as it does not come with a safety argumentation and a performed safety assessment.
-The work products compiled in the safety package are created with care according to a process satisfying standards, but the as the project,
-being a non-profit and open source organization, can not take over any liability for its content.
-
-Changes to the Platform
-^^^^^^^^^^^^^^^^^^^^^^^
-
-New Features
-------------
-
-- **Feature 1:** Brief description of the new feature.
-- **Feature 2:** Brief description of the new feature.
-- **Feature 3:** Brief description of the new feature.
-
-Improvements
-------------
-
-- **Improvement 1:** Brief description of the improvement.
-- **Improvement 2:** Brief description of the improvement.
-- **Improvement 3:** Brief description of the improvement.
-
-Other changes by Label
-----------------------
-
-- **Label 1/Refactor 1:** Brief description of the change.
-- **Label 2/Refactor 2:** Brief description of the change.
-- **Label 3/Refactor 3:** Brief description of the change.
-
-Platform Scope
-^^^^^^^^^^^^^^
-
-- **Version:**
-- **Source / tag:**
-- **Release notes:**
-
-Integrated Software Modules
----------------------------
-
-
-~~~~~~~~~~~~~
-
-
-
-- **Version:**
-- **Source / tag:**
-- **Release notes:**
-
-
-Compatibility
-^^^^^^^^^^^^^
-
-- **Dependencies:** List any dependencies and their versions.
-
-Performed Verification
-^^^^^^^^^^^^^^^^^^^^^^
-
-This release note is based on the verification as documented in platform verification report
-:need:`doc__platform_verification_report`.
-
-Known Issues/Vulnerabilities and Bug Fixes
-------------------------------------------
-
-- see release notes of every module separately
-
-
-Upgrade Instructions
-^^^^^^^^^^^^^^^^^^^^
-
-1. **Step 1:** Description of the first step.
-2. **Step 2:** Description of the second step.
-3. **Step 3:** Description of the third step.
-
-For any questions or support, please contact the *Project lead* or raise an issue/discussion.
+| Release Tag: vX.Y.Z
+| Origin Release Tag: vU.V.W
+| Release Commit Hash: a1b2c3d4e5f6g7h8i9j0
+| Release Date: YYYY-MM-DD
+| Safety: [QM | ASIL_B]
+| Security: [NO | YES]
+|
+| Overview
+| --------
+|
+| This document provides an overview of the changes, improvements, and bug fixes included in the software platform release version vX.Y.Z
+| as compared to the platform's origin release (which is usually the previous release).
+|
+| Disclaimer
+| ----------
+| This release note does not "release for production", as it does not come with a safety argumentation and a performed safety assessment.
+| The work products compiled in the safety package are created with care according to a process satisfying standards, but the as the project,
+| being a non-profit and open source organization, can not take over any liability for its content.
+|
+| New Features
+| ------------
+|
+| - **Feature 1**: Brief description of the new feature.
+| - **Feature 2**: Brief description of the new feature.
+| - **Feature 3**: Brief description of the new feature.
+|
+| Improvements
+| ------------
+|
+| - **Improvement 1**: Brief description of the improvement.
+| - **Improvement 2**: Brief description of the improvement.
+| - **Improvement 3**: Brief description of the improvement.
+|
+| Bug Fixes
+| ---------
+|
+| - **Bug 1**: Brief description of the bug fix.
+| - **Bug 2**: Brief description of the bug fix.
+| - **Bug 3**: Brief description of the bug fix.
+|
+| Other changes by Label
+| ----------------------
+|
+| - **Label 1/Refactor 1**: Brief description of the change.
+| - **Label 2/Refactor 2**: Brief description of the change.
+| - **Label 3/Refactor 3**: Brief description of the change.
+|
+| Compatibility
+| -------------
+|
+| - **Dependencies**: List any dependencies and their versions.
+|
+| Performed Verification
+| ----------------------
+| This release note is based on the verification as documented in platform verification report
+| :need:`doc__platform_verification_report`.
+|
+| Known Issues
+| ------------
+|
+| - **Issue 1**: Brief description of the known issue. Justification regarding safety impact.
+| - **Issue 2**: Brief description of the known issue. Justification regarding safety impact.
+| - **Issue 3**: Brief description of the known issue. Justification regarding safety impact.
+|
+| Known Vulnerabilities
+| ---------------------
+|
+| - **CVE 1**: Brief description of the known CVE. Justification regarding security impact.
+| - **CVE 2**: Brief description of the known CVE. Justification regarding security impact.
+| - **CVE 3**: Brief description of the known CVE. Justification regarding security impact.
+|
+| Upgrade Instructions
+| --------------------
+|
+| 1. **Step 1**: Description of the first step.
+| 2. **Step 2**: Description of the second step.
+| 3. **Step 3**: Description of the third step.
+|
+| Contributors
+| ------------
+|
+| Thanks to everyone who contributed to this release:
+|
+| Contributor 1
+| Contributor 2
+|
diff --git a/process/folder_templates/platform/docs/safety_mgt/platform_dfa.rst b/process/folder_templates/platform/docs/safety_mgt/platform_dfa.rst
index 2dafac8c92..524edf3de0 100644
--- a/process/folder_templates/platform/docs/safety_mgt/platform_dfa.rst
+++ b/process/folder_templates/platform/docs/safety_mgt/platform_dfa.rst
@@ -30,9 +30,222 @@ Platform DFA (Dependent Failure Analysis)
.. note:: Use the content of the document to describe e.g. why a fault model is not applicable for the diagram.
+The DFA for the platform is performed. To show evidence that all failure initiators are considered, the applicability has to be filled out in the
+following tables. For all applicable failure initiators, the DFA has to be performed.
+
Dependent Failure Initiators
----------------------------
+2.1 Shared resources
+
+.. note:: Shared libraries is only than applicable as a shared resource if the feature and the related safety mechanisms are using this specific library. If the library is not used by the feature or the related safety mechanisms, it is not a shared resource.
+
+
+.. list-table:: DFA shared resources (used for Platform DFA)
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause shared resources
+ - Applicability
+ - Rationale
+ * - SR_01_01
+ - Reused software modules
+ -
+ -
+ * - SR_01_02
+ - Libraries
+ -
+ -
+ * - SR_01_04
+ - Basic software
+ -
+ -
+ * - SR_01_05
+ - Operating system including scheduler
+ -
+ -
+ * - SR_01_06
+ - Any service stack, e.g. communication stack
+ -
+ -
+ * - SR_01_07
+ - Configuration data
+ -
+ -
+ * - SR_01_09
+ - Execution time
+ -
+ -
+ * - SR_01_10
+ - Allocated memory
+ -
+ -
+
+
+| 2.2 Communication between the two elements:
+| Receiving function is affected by information that is false, lost, sent multiple times, or in the wrong order etc. from the sender.
+
+.. list-table:: DFA communication between elements
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause communication between elements
+ - Applicability
+ - Rationale
+ * - CO_01_01
+ - Information passed via argument through a function call, or via writing/reading a variable being global to the two software functions (data flow)
+ -
+ -
+ * - CO_01_02
+ - Data or message corruption / repetition / loss / delay / masquerading or incorrect addressing of information
+ -
+ -
+ * - CO_01_03
+ - Insertion / sequence of information
+ -
+ -
+ * - CO_01_04
+ - Corruption of information, inconsistent data
+ -
+ -
+ * - CO_01_05
+ - Asymmetric information sent from a sender to multiple receivers, so that not all defined receivers have the same information
+ -
+ -
+ * - CO_01_06
+ - Information from a sender received by only a subset of the receivers
+ -
+ -
+ * - CO_01_07
+ - Blocking access to a communication channel
+ -
+ -
+
+| 2.3 Shared information inputs
+| Same information input used by multiple functions.
+
+.. list-table:: DFA shared information inputs
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause shared information inputs
+ - Applicability
+ - Rationale
+ * - SI_01_02
+ - Configuration data
+ -
+ -
+ * - SI_01_03
+ - Constants, or variables, being global to the two software functions
+ -
+ -
+ * - SI_01_04
+ - Basic software passes data (read from hardware register and converted into logical information) to two applications software functions
+ -
+ -
+ * - SI_01_05
+ - Data / function parameter arguments / messages delivered by software function to more than one other function
+ -
+ -
+
+| 2.4 Unintended impact
+| Unintended impacts to function due to various failures.
+
+.. list-table:: DFA unintended impact
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause unintended impact
+ - Applicability
+ - Rationale
+ * - UI_01_01
+ - Memory miss-allocation and leaks
+ -
+ -
+ * - UI_01_02
+ - Read/Write access to memory allocated to another software element
+ -
+ -
+ * - UI_01_03
+ - Stack/Buffer under-/overflow
+ -
+ -
+ * - UI_01_04
+ - Deadlocks
+ -
+ -
+ * - UI_01_05
+ - Livelocks
+ -
+ -
+ * - UI_01_06
+ - Blocking of execution
+ -
+ -
+ * - UI_01_07
+ - Incorrect allocation of execution time
+ -
+ -
+ * - UI_01_08
+ - Incorrect execution flow
+ -
+ -
+ * - UI_01_09
+ - Incorrect synchronization between software elements
+ -
+ -
+ * - UI_01_10
+ - CPU time depletion
+ -
+ -
+ * - UI_01_11
+ - Memory depletion
+ -
+ -
+ * - UI_01_12
+ - Other HW unavailability
+ -
+ -
+
+| Development failure initiators
+| Section is **only applicable if a divers SW development is needed** due to decomposition.
+
+:note: Section shall be applied only once to analyse all dependencies of the features. Results shall be checked during of the analysis of new features if this is applicable to the feature.
+
+.. list-table:: DFA development failure initiators (Platform DFA)
+ :header-rows: 1
+ :widths: 10,20,10,20
+
+ * - ID
+ - Violation cause development failure initiators
+ - Applicability
+ - Rationale
+ * - SC_01_02
+ - Same development approaches (e.g. IDE, programming and/or modelling language)
+ -
+ -
+ * - SC_01_03
+ - Same personal
+ -
+ -
+ * - SC_01_04
+ - Same social-cultural context (even if different personnel). Only applicable if diverse development is needed.
+ -
+ -
+ * - SC_01_05
+ - Development fault (e.g. human error, insufficient qualification, insufficient methods). Only applicable if diverse development is needed.
+ -
+ -
+
+
+DFA
+---
+For all identified applicable failure initiators, the DFA is performed in the following section.
+
.. code-block:: rst
.. plat_saf_dfa::
diff --git a/process/folder_templates/platform/docs/safety_mgt/platform_safety_manual.rst b/process/folder_templates/platform/docs/safety_mgt/platform_safety_manual.rst
index 5e6418c081..584590cc74 100644
--- a/process/folder_templates/platform/docs/safety_mgt/platform_safety_manual.rst
+++ b/process/folder_templates/platform/docs/safety_mgt/platform_safety_manual.rst
@@ -62,9 +62,6 @@ List of AoUs expected from the environment the platform runs on:
if need and "environment" in need["tags"]:
results.append(need)
-.. attention::
- Make sure these AoU are here for a safety reason, i.e. every one "mitigates" a safety analysis entry.
-
Assumptions on the User
^^^^^^^^^^^^^^^^^^^^^^^
| As there is no assumption on which specific OS and HW is used, the integration testing of the stakeholder requirements is expected to be performed by the user of the platform SEooC. Tests covering all stakeholder and feature requirements performed on a reference platform (tbd link to reference platform specification), reviewed and passed are included in the platform SEooC safety package.
@@ -88,9 +85,6 @@ Assumptions on the User
if need and "environment" not in need["tags"]:
results.append(need)
-.. attention::
- Make sure these AoU are here for a safety reason, i.e. every one "mitigates" a safety analysis entry.
-
Safety concept of the SEooC
---------------------------
| ****
diff --git a/process/folder_templates/platform/docs/safety_mgt/platform_safety_plan.rst b/process/folder_templates/platform/docs/safety_mgt/platform_safety_plan.rst
index d99b34ba4a..937b28e8cb 100644
--- a/process/folder_templates/platform/docs/safety_mgt/platform_safety_plan.rst
+++ b/process/folder_templates/platform/docs/safety_mgt/platform_safety_plan.rst
@@ -163,8 +163,6 @@ Functional Safety Specific SW Platform Work Products
List of all relevant work products for the platform project relevant for Functional Safety.
Including their status (which makes it cover also the "safety package").
-Link to project planning:
-
Platform Safety Plan - Feature Work Product Lists
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/process/folder_templates/platform/requirements/stakeholder/chklst_req_inspection.rst b/process/folder_templates/platform/requirements/stakeholder/chklst_req_inspection.rst
index 812607a539..cc2c20ca3e 100644
--- a/process/folder_templates/platform/requirements/stakeholder/chklst_req_inspection.rst
+++ b/process/folder_templates/platform/requirements/stakeholder/chklst_req_inspection.rst
@@ -105,7 +105,7 @@ See also :need:`doc_concept__wp_inspections` for further information about revie
-
* - REQ_04_01
- Is the requirement *internally and externally consistent*?
- - Does the requirement contradict other requirements within the same or higher levels? Is the description of the requirement consistent with all its attributes (if not already part of another check, e.g. does the title fit?).
+ - Does the requirement contradict other requirements within the same or higher levels?
-
-
-
@@ -117,7 +117,7 @@ See also :need:`doc_concept__wp_inspections` for further information about revie
-
* - REQ_06_01
- Does the requirement consider *external interfaces*?
- - This check is not needed, as on the level of stakeholder requirements interfaces do not need to be used to describe the function.
+ - The SW platform's external interfaces (to the user and external systems) are defined, so the Feature and Component Requirements should determine the input data use and setting of output data for these interfaces. Are all output values defined?
-
-
-
@@ -135,9 +135,9 @@ See also :need:`doc_concept__wp_inspections` for further information about revie
-
* - REQ_08_01
- Is the requirement *verifiable*?
- - As the stakeholder requirements are only "assumed safety requirements" and also the tests do not need to be complete, this check is not applicable.
- - n/a
+ - If at the time of the inspection already tests are created for the requirement, the answer is yes. This can be checked via traces, but also :need:`gd_req__req_attr_test_covered` shows this. In case the requirement is not sufficiently traced to test cases already, a test expert is invited to the inspection to give his opinion whether the requirement is formulated in a way that supports test development and the available test infrastructure is sufficient to perform the test.
- n/a
+ - As the stakeholder requirements are only "assumed safety requirements" and also the tests do not need to be complete, this check is not applicable.
- n/a
* - REQ_09_01
- Do those requirements cover assumed safety mechanisms needed by the hardware and system?
diff --git a/process/folder_templates/platform/requirements/stakeholder/index.rst b/process/folder_templates/platform/requirements/stakeholder/index.rst
index 7cc0cb85f7..0215408c98 100644
--- a/process/folder_templates/platform/requirements/stakeholder/index.rst
+++ b/process/folder_templates/platform/requirements/stakeholder/index.rst
@@ -32,30 +32,26 @@ Stakeholder Requirements
===================================================================
-.. code-block:: rst
-
- .. stkh_req:: Template
- :id: stkh_req__requirements__template
- :reqtype: Functional
- :safety: ASIL_B
- :security: YES
- :rationale:
- :valid_from: v0.0.1
- :valid_until: v1.0.1
- :status: invalid
-
- The platform shall ...
+.. stkh_req:: Template
+ :id: stkh_req__requirements__template
+ :reqtype: Functional
+ :safety: ASIL_B
+ :security: YES
+ :rationale:
+ :valid_from: v0.0.1
+ :valid_until: v1.0.1
+ :status: invalid
-.. code-block:: rst
+ The platform shall ...
- .. aou_req:: Some Other Title
- :id: aou_req__platform__some_other_title
- :reqtype: Interface
- :security: YES
- :safety: ASIL_B
- :status: invalid
+.. aou_req:: Some Other Title
+ :id: aou_req__platform__some_other_title
+ :reqtype: Interface
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
- The Platform User shall do xyz to use the platform safely.
+ The Platform User shall do xyz to use the platform safely.
.. attention::
The above directives must be updated according to platform requirements.
diff --git a/process/general_concepts/_assets/score_building_blocks_meta_model.drawio.svg b/process/general_concepts/_assets/score_building_blocks_meta_model.drawio.svg
index 48b596a666..2e2d3a20da 100644
--- a/process/general_concepts/_assets/score_building_blocks_meta_model.drawio.svg
+++ b/process/general_concepts/_assets/score_building_blocks_meta_model.drawio.svg
@@ -1,2292 +1,4 @@
-
+
+
+
+
diff --git a/process/general_concepts/_assets/score_building_blocks_meta_model_deployment_example.drawio.svg b/process/general_concepts/_assets/score_building_blocks_meta_model_deployment_example.drawio.svg
deleted file mode 100644
index cf1cb1a3b3..0000000000
--- a/process/general_concepts/_assets/score_building_blocks_meta_model_deployment_example.drawio.svg
+++ /dev/null
@@ -1,2532 +0,0 @@
-
diff --git a/process/general_concepts/score_building_blocks_concept.rst b/process/general_concepts/score_building_blocks_concept.rst
index 645d340ef5..ffa70151ff 100644
--- a/process/general_concepts/score_building_blocks_concept.rst
+++ b/process/general_concepts/score_building_blocks_concept.rst
@@ -126,26 +126,3 @@ developed as safety element out of context (SEooC).
:alt: Building blocks example
Building blocks example
-
-
-Deployment example
-++++++++++++++++++
-
-The following figure is an example how the meta model may deployed on several repositories.
-The project main repository has the information about the platform and the features.
-These include stakeholder requirements, platform architecture, safety/security analysis
-and platform assumptions of use. Further the features, their requirements and their
-logical interfaces.
-
-The project dependable element repository has the remaining feature artifacts and
-the components and units. There may several repositories of them.
-
-The project reference_integration repository includes only the platform integrations
-tests.
-
-.. figure:: _assets/score_building_blocks_meta_model_deployment_example.drawio.svg
- :width: 100%
- :align: center
- :alt: Building blocks deployment example
-
- Building blocks deployment example
diff --git a/process/glossary/index.rst b/process/glossary/index.rst
index 246827d95d..40336c00b6 100644
--- a/process/glossary/index.rst
+++ b/process/glossary/index.rst
@@ -81,10 +81,6 @@ Terms
- A packaging mechanism for delivering Dependable Elements (e.g., executable code or libraries) to users or integrators of the platform.
- :ref:`Building blocks concept`
- * - **Delivery Team**
- - Cross-functional team responsible for all artifacts within a Module, including development, quality, safety, and security activities.
- - :ref:`Roles`
-
* - **Dependable Element**
- The highest abstraction level in the building blocks model. A Dependable Element consists of one or more Components and can be developed as a Safety Element out of Context (SEooC). It is delivered in a Delivery Container.
- :ref:`Building blocks concept`
@@ -121,10 +117,6 @@ Terms
- Systematic analysis performed on feature architecture to verify compliance with safety and security requirements at the feature level, documenting any violations or potential faults.
- ::ref:`Building blocks concept`
- * - **Feature Team**
- - An synonym term for Delivery Team.
- - :ref:`Roles`
-
* - **Impact Analysis**
- The process of evaluating the effects and consequences of proposed changes on work products.
- :ref:`Process change management`
@@ -145,6 +137,10 @@ Terms
- An synonym term for Dependable Element
- :ref:`Building blocks concept`
+ * - **Module Team**
+ - Cross-functional team responsible for all artifacts within a Module, including development, quality, safety, and security activities.
+ - :ref:`Roles`
+
* - **Platform**
- The complete software platform consisting of features, components, and supporting infrastructure.
- :ref:`Building blocks concept`
diff --git a/process/process_areas/architecture_design/architecture_concept.rst b/process/process_areas/architecture_design/architecture_concept.rst
index ae8b9ccb06..ac4004b5d3 100644
--- a/process/process_areas/architecture_design/architecture_concept.rst
+++ b/process/process_areas/architecture_design/architecture_concept.rst
@@ -123,8 +123,22 @@ The feature architecture contain the following views:
Static View
-----------
-The first viewpoint is named as *feature architecture*. It displays the SW Components within the SW modules (= dependable elements) which are required to realize the feature including their interactions. Also the *logical interfaces* and the interaction between the feature and the user are included in this view. On this architectural level the feature requirements shall be allocated. A full rendered example for the static architecture is maintained in the
-`module template documentation `__.
+The first viewpoint is named as *feature architecture*. It displays the SW Components within the SW modules (= dependable elements) which are required to realize the feature including their interactions. Also the *logical interfaces* and the interaction between the feature and the user are included in this view. On this architectural level the feature requirements shall be allocated. An example for the static architecture is shown here:
+
+.. feat_arc_sta:: Feature 1 Architecture
+ :id: feat_arc_sta__example_feature__feature_1
+ :security: YES
+ :safety: QM
+ :status: valid
+ :includes: logic_arc_int__example_feature__archex_logical_interface_1, logic_arc_int__example_feature__archex_logical_interface_2
+ :fulfils: feat_req__example_feature__archdes_example_req
+ :belongs_to: feat__example_feature
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_feature(need(), needs) }}
In all views, the components which are marked as ASIL_B related are drawn with red borders.
@@ -150,16 +164,38 @@ See :ref:`uml_diagram_selection` in guideline for further information about the
Interface View
--------------
-On the feature level only *logical interfaces* shall be displayed. This means that only logical names shall be provided for both the interface and the operations within. Those *logical interfaces* shall be connected to component interfaces on the module view. A rendered logical-interface example is maintained in the
-`module template documentation `__.
+On the feature level only *logical interfaces* shall be displayed. This means that only logical names shall be provided for both the interface and the operations within. Those *logical interfaces* shall be connected to component interfaces on the module view.
+
+.. logic_arc_int:: Logical Interface 1
+ :id: logic_arc_int__example_feature__archcon_logical_interface_1
+ :security: YES
+ :safety: ASIL_B
+ :status: valid
+ :fulfils: feat_req__example_feature__archdes_example_req
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_interface(need(), needs) }}
SW Module View
==============
A SW Module (=dependable element) is packaging a component or a set of components which is developed, documented and released together. It is not meant to be an architectural element which means that no requirements can be allocated to it.
-On this level also a view shall be defined which is called *Module View*. It represents the allocation of components into modules and displays the dependencies between the single modules. In this view also cyclic dependencies between modules can be identified. A rendered module-view example is maintained in the
-`module template documentation `__.
+On this level also a view shall be defined which is called *Module View*. It represents the allocation of components into modules and displays the dependencies between the single modules. In this view also cyclic dependencies between modules can be identified.
+
+.. mod_view_sta:: Module 1 Static View concept
+ :id: mod_view_sta__example_feature__archcon_1
+ :includes: comp__component_example_1
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+
+ {{ draw_module(need(), needs) }}
Component View
==============
@@ -171,8 +207,19 @@ Static View
The *component architecture* describes the implementation of the functionalities in a white-box view. It describes the internal structure of SW components and their decomposition. It provides a more detailed information concerning the respective interfaces of a component. If a SW component interacts with a different component it is also included via a *use* relationship in the diagram. An example of the *component architecture* is displayed here:
-A full rendered component-architecture example is maintained in the
-`module template documentation `__.
+.. comp_arc_sta:: Component 1 Static View
+ :id: comp_arc_sta__example_feature__archdes_component_concept_1
+ :status: valid
+ :safety: ASIL_B
+ :security: NO
+ :fulfils: comp_req__example_feature__archex_example_req
+ :belongs_to: comp__component_example_1
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_component(need(), needs) }}
The decomposition is optional and relies on the complexity of the component. Thus there is no graphic representation required for it.
In all views the components which are marked as ASIL_B related are drawn in red color.
@@ -197,8 +244,21 @@ Following scenarios should be included:
Interface View
--------------
-The component interface view shows the actual interfaces of the component. Also links to their corresponding logical interfaces are displayed in this view. A rendered component-interface example is maintained in the
-`module template documentation `__.
+The component interface view shows the actual interfaces of the component. Also links to their corresponding logical interfaces are displayed in this view:
+
+.. real_arc_int:: Component Interface 1
+ :id: real_arc_int__example_feature__archdes_component_interface_1
+ :status: valid
+ :safety: ASIL_B
+ :security: NO
+ :fulfils: comp_req__example_feature__archex_example_req
+ :language: cpp
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_interface(need(), needs)}}
Platform View
=============
@@ -421,8 +481,30 @@ Here are some excerpts of UML diagrams made from the requirements of that file.
Feature Architecture
^^^^^^^^^^^^^^^^^^^^
-The following section links to the rendered feature example that is now maintained in the
-`module template documentation `__.
+The following section is an example, how an `Feature `_ looks like and how the architecture of an Feature is described. Please note that components with an "ASIL_B" safety rating are highlighted with red borders in the diagram (e.g., "Component 1").
+
+.. feat:: Feature Name
+ :id: feat__feature_name_example
+ :security: YES
+ :safety: ASIL_B
+ :status: invalid
+ :includes: logic_arc_int__example_feature__archex_logical_interface_1
+ :consists_of: comp__component_example_1
+
+.. feat_arc_sta:: Feature Static Architecture View - Rendered Example
+ :id: feat_arc_sta__example_feature__archdes_getstrt
+ :security: YES
+ :safety: QM
+ :status: valid
+ :includes: logic_arc_int__example_feature__archex_logical_interface_1, logic_arc_int__example_feature__archex_logical_interface_2
+ :fulfils: feat_req__example_feature__archdes_example_req
+ :belongs_to: feat__example_feature
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_feature(need(), needs) }}
.. code-block:: rst
@@ -454,8 +536,19 @@ Component Architecture
The following section is an example, how an component looks like and how the detail design of an component is described. Please note that components with an "ASIL_B" safety rating are highlighted with red borders in the diagram (e.g., "Component 1").
-The rendered component examples are maintained in the
-`module template documentation `__.
+.. comp_arc_sta:: Component Static View - Rendered Example
+ :id: comp_arc_sta__example_feature__component_getstrt
+ :status: valid
+ :safety: ASIL_B
+ :security: NO
+ :fulfils: comp_req__example_feature__archex_example_req
+ :belongs_to: comp__component_example_1
+
+ .. needarch::
+ :scale: 50
+ :align: center
+
+ {{ draw_component( need(), needs ) }}
.. code-block:: rst
@@ -506,8 +599,20 @@ Besides storing the output it is also possible to display the generated PlantUML
Debug example for component architecture:
-See the rendered debug example in the
-`module template documentation `__.
+.. comp_arc_sta:: Component Static View - Rendered Debug Example
+ :id: comp_arc_sta__example_feature__component_getstrt_debug
+ :status: valid
+ :safety: ASIL_B
+ :security: NO
+ :fulfils: comp_req__example_feature__archex_example_req
+ :belongs_to: comp__component_example_1
+
+ .. needarch::
+ :scale: 50
+ :align: center
+ :debug:
+
+ {{ draw_component( need(), needs ) }}
.. _manual_addition_uml:
@@ -525,18 +630,33 @@ To make *needuml* work we have to replace the *need()* call with a different fun
:status: valid
:safety: ASIL_B
:security: NO
- :uses: logic_arc_int__example_feature__archcon_logical_interface_1
+ :uses: logic_arc_int__example_feature__archex_logical_interface_1
+ :fulfils: comp_req__example_feature__archex_example_req
:belongs_to: comp__component_component_manual_getstrt
.. needuml::
- {{ draw_component( needs.get('comp__component_name_template'), needs ) }}
+ {{ draw_component( needs.__getitem__('comp__component_example_1'), needs ) }}
component "Component Manual" as CM {
}
CM -> LI1: EXTRA_LINKAGE_MANUALLY_ADDED
-See the rendered manual-edit example in the
-`module template documentation `__.
+.. comp_arc_sta:: Component Architecture Static View - Rendered Example Manually Edited
+ :id: comp_arc_sta__example_feature__component_manual_getstrt
+ :status: valid
+ :safety: ASIL_B
+ :security: NO
+ :uses: logic_arc_int__example_feature__archex_logical_interface_1
+ :fulfils: comp_req__example_feature__archex_example_req
+ :belongs_to: comp__component_example_1
+
+ .. needarch::
+
+ {{ draw_component( needs.__getitem__('comp__component_example_1'), needs ) }}
+
+ component "Component Manual" as CM {
+ }
+ CM -> logic_arc_int__example_feature__archex_logical_interface_1: EXTRA_LINKAGE_MANUALLY_ADDED
You can add any layout or additional configuration you want before you call the *draw_xyz*.
@@ -553,13 +673,13 @@ To achieve this the *need()* call needs to be replaced with the following, as *n
.. code-block:: none
- # need() => needs.get('ID OF THE REQUIREMENT YOU ARE IN')
+ # need() => needs.__getitem__('ID OF THE REQUIREMENT YOU ARE IN')
# For example, drawing the requirement:
`COMP_ARC_STA__component_manual_1`
would then look as such
- {{ draw_component( needs.get('COMP_ARC_STA__component_manual_1'), needs ) }}
+ {{ draw_component( needs.__getitem__('COMP_ARC_STA__component_manual_1'), needs ) }}
Limitations
diff --git a/process/process_areas/architecture_design/architecture_workflow.rst b/process/process_areas/architecture_design/architecture_workflow.rst
index 0ef1844fe4..d14ec92e4c 100644
--- a/process/process_areas/architecture_design/architecture_workflow.rst
+++ b/process/process_areas/architecture_design/architecture_workflow.rst
@@ -19,20 +19,6 @@ Architecture Workflows
For a detailed explanation of workflows and their role within the process model, please refer to the :ref:`processes_introduction`.
-.. workflow:: Create/Maintain Platform architecture
- :id: wf__cr_mt_platarch
- :status: valid
- :tags: architecture_design
- :responsible: rl__contributor
- :approved_by: rl__committer
- :supported_by: rl__safety_manager, rl__security_manager
- :input: wp__requirements_stkh, wp__issue_track_system
- :output: wp__platform_arch
- :contains: gd_guidl__arch_design
- :has: doc_concept__arch_process, doc_getstrt__arch_process
-
- The platform architecture is created and maintained.
-
.. workflow:: Create/Maintain Feature architecture
:id: wf__cr_mt_featarch
:status: valid
diff --git a/process/process_areas/architecture_design/architecture_workproducts.rst b/process/process_areas/architecture_design/architecture_workproducts.rst
index ee14278885..d60ecb12c0 100644
--- a/process/process_areas/architecture_design/architecture_workproducts.rst
+++ b/process/process_areas/architecture_design/architecture_workproducts.rst
@@ -17,16 +17,6 @@
Architecture Work Products
##########################
-.. workproduct:: Platform Architecture
- :id: wp__platform_arch
- :status: valid
- :complies: std_wp__iso26262__software_751, std_wp__isosae21434__development_1051, std_req__aspice_40__iic-04-04
- :tags: doc_lifecycle_model_3
-
- Platform Architecture describes the overall software structure with the belonging features, modules and their logical interfaces, i.e. top-level decomposition of the platform into features and their interactions
-
- * Static view - Overview of features, SW modules and their relationships within the platform
-
.. workproduct:: Feature Architecture
:id: wp__feature_arch
:status: valid
diff --git a/process/process_areas/architecture_design/guidance/architecture_guideline.rst b/process/process_areas/architecture_design/guidance/architecture_guideline.rst
index 41abc22592..c698da8b75 100644
--- a/process/process_areas/architecture_design/guidance/architecture_guideline.rst
+++ b/process/process_areas/architecture_design/guidance/architecture_guideline.rst
@@ -66,108 +66,34 @@ Those steps are:
- Description
- Responsible
* - 1.
- - :ref:`Create platform architecture (Concept) `
+ - :ref:`Create feature architecture (Concept) `
- :need:`[[title]] `
* - 2.
- - :ref:`Model platform architecture `
+ - :ref:`Model feature architecture `
- :need:`[[title]] `
* - 3.
- - :ref:`Allocate stakeholder requirements to architectural elements