-
Notifications
You must be signed in to change notification settings - Fork 24
Add covers flag to meta model to link aou #489
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
cdde467
755ccba
addc974
131b062
b788509
1e8fc60
6bd0f04
4eff90a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -26,3 +26,4 @@ __pycache__/ | |
|
|
||
| # bug: This file is created in repo root on test discovery. | ||
| /consumer_test.log | ||
| /.clwb | ||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -545,6 +545,39 @@ Versioning | |||||||
| .. note:: | ||||||||
| Certain tool requirements do not have a matching process requirement. | ||||||||
|
|
||||||||
| .. tool_req:: Enables needs linking via covers attribute (Requirements to AoU) | ||||||||
| :id: tool_req__docs_req_link_covers_aou | ||||||||
| :tags: Requirements | ||||||||
| :implemented: YES | ||||||||
| :version: 1 | ||||||||
| :satisfies: gd_req__req_linkage_aou | ||||||||
| :parent_covered: YES | ||||||||
| :status: valid | ||||||||
|
|
||||||||
| Docs-as-Code shall support the ``covers`` link type to establish traceability between | ||||||||
| requirements and their Assumptions of Use (AoU), per SCORE process specification. | ||||||||
|
|
||||||||
| **Purpose**: In SEooC (Safety Element Out of Context) development, AoU capture the | ||||||||
| operational context and constraints that validate safety cases. Requirements "cover" | ||||||||
| (are bound to) specific assumptions. | ||||||||
|
|
||||||||
|
Comment on lines
+560
to
+563
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
No need to be chatty here. The reference to gd_req__req_linkage_aou is sufficient "purpose". |
||||||||
| **Allowed connections**: | ||||||||
|
|
||||||||
| .. table:: | ||||||||
| :widths: auto | ||||||||
|
|
||||||||
| ================================ ======================================================== | ||||||||
| Source Type Link Type Target Type | ||||||||
| ================================ ======================================================== | ||||||||
| Feature Requirements covers Assumptions of Use (AoU) | ||||||||
| Component Requirements covers Assumptions of Use (AoU) | ||||||||
|
Comment on lines
+572
to
+573
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure this will work. Feature requirements are in score repo?! Is this actually described somewhere by now? Sorry, I'm not up to date here.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Latest decision is dec_rec__platform__feature_delivery:
The answer here is "both" I suppose. My understanding is that we do not distinguish between "platform" and "module" for AoUs but we do for requirements. Thus, feature requirements in platform repo cover AoUs in the platform repo and component requirements in module repos cover AoUs in module repos (potentially other module repos though). |
||||||||
| ================================ ======================================================== | ||||||||
|
|
||||||||
| **Traceability chain**: Stakeholder Req β Feature Req β (covers) β AoU β Component Req | ||||||||
|
|
||||||||
| **Process reference**: :need:`gd_req__req_linkage_aou` β Requirements SHALL be linked to AoU | ||||||||
| via covers if they already cover these. | ||||||||
|
Comment on lines
+578
to
+579
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's not repeat that here, it's already covered by |
||||||||
|
|
||||||||
| .. tool_req:: Safety: enforce safe linking | ||||||||
| :id: tool_req__docs_common_attr_safety_link_check | ||||||||
| :tags: Common Attributes | ||||||||
|
|
||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -306,6 +306,8 @@ needs_types: | |||||||||||||||||||
| valid_until: ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$ | ||||||||||||||||||||
| optional_links: | ||||||||||||||||||||
| belongs_to: feat # for evaluation | ||||||||||||||||||||
| # req-Id: tool_req__docs_req_link_covers_aou | ||||||||||||||||||||
| covers: aou_req | ||||||||||||||||||||
| tags: | ||||||||||||||||||||
| - requirement | ||||||||||||||||||||
| - requirement_excl_process | ||||||||||||||||||||
|
|
@@ -336,6 +338,9 @@ needs_types: | |||||||||||||||||||
| # req-Id: tool_req__docs_req_attr_testcov | ||||||||||||||||||||
| testcovered: ^(YES|NO)$ | ||||||||||||||||||||
| hash: ^.*$ | ||||||||||||||||||||
| optional_links: | ||||||||||||||||||||
| # req-Id: tool_req__docs_req_link_covers_aou | ||||||||||||||||||||
| covers: aou_req | ||||||||||||||||||||
| tags: | ||||||||||||||||||||
| - requirement | ||||||||||||||||||||
| - requirement_excl_process | ||||||||||||||||||||
|
|
@@ -943,6 +948,12 @@ needs_extra_links: | |||||||||||||||||||
| incoming: fulfilled by | ||||||||||||||||||||
| outgoing: fulfils | ||||||||||||||||||||
|
|
||||||||||||||||||||
| covers: | ||||||||||||||||||||
| incoming: covered by | ||||||||||||||||||||
| outgoing: covers | ||||||||||||||||||||
| # req-Id: gd_req__req_linkage_aou | ||||||||||||||||||||
| # Requirement-to-AoU linking per SCORE process specification | ||||||||||||||||||||
|
Comment on lines
+951
to
+955
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||
|
|
||||||||||||||||||||
| implements: | ||||||||||||||||||||
| incoming: implemented by | ||||||||||||||||||||
| outgoing: implements | ||||||||||||||||||||
|
|
||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| .. | ||
| # ******************************************************************************* | ||
| # Copyright (c) 2026 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 | ||
| # ******************************************************************************* | ||
|
|
||
| #CHECK: check_options | ||
|
|
||
| .. Tests that `covers` on feat_req and comp_req only allows aou_req as target. | ||
| .. req-Id: tool_req__docs_req_link_covers_aou | ||
|
|
||
| .. aou_req:: AoU target for covers tests | ||
| :id: aou_req__covers__target | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: QM | ||
| :status: valid | ||
|
|
||
| AoU content used for covers-link validation tests. | ||
|
|
||
|
|
||
| .. stkh_req:: Parent stakeholder requirement for covers tests | ||
| :id: stkh_req__covers__parent | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: QM | ||
| :status: valid | ||
| :rationale: Stakeholder parent rationale for covers-link tests. | ||
|
|
||
|
|
||
| .. feat_req:: Parent feature requirement for covers tests | ||
| :id: feat_req__covers__parent | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: QM | ||
| :status: valid | ||
| :satisfies: stkh_req__covers__parent | ||
|
|
||
| Parent feature requirement used by covers-link tests. | ||
|
|
||
|
|
||
| .. Positive Test: feat_req pointing to an aou_req via covers is valid. | ||
| #EXPECT-NOT: feat_req__covers__good_1.covers (['aou_req__covers__target']): does not follow pattern `^aou_req__.*$`. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I hope that error message is not accurate?! π Recommendation: |
||
|
|
||
| .. feat_req:: Feature requirement with valid covers link | ||
| :id: feat_req__covers__good_1 | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: QM | ||
| :status: valid | ||
| :satisfies: stkh_req__covers__parent | ||
| :covers: aou_req__covers__target | ||
|
|
||
| Valid feat_req that covers an AoU requirement. | ||
|
|
||
|
|
||
| .. Positive Test: comp_req pointing to an aou_req via covers is valid. | ||
| #EXPECT-NOT: comp_req__covers__good_1.covers (['aou_req__covers__target']): does not follow pattern `^aou_req__.*$`. | ||
|
|
||
| .. comp_req:: Component requirement with valid covers link | ||
| :id: comp_req__covers__good_1 | ||
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: QM | ||
| :status: valid | ||
| :satisfies: feat_req__covers__parent | ||
| :belongs_to: comp__covers__parent | ||
| :covers: aou_req__covers__target | ||
|
|
||
| Valid comp_req that covers an AoU requirement. | ||
|
|
||
|
|
||
| .. feat:: Feature for covers tests | ||
| :id: feat__covers__parent | ||
| :security: NO | ||
| :safety: QM | ||
| :status: valid | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far the metamodel is not described at all in docs-as-code, thats the first element which has a description. If thats something we should have, this seems like a good start. But if not, then we dont need this either.
@MaximilianSoerenPollak @a-zw
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes no sense to me. Such documentation belongs into the process docs. Repeating it here just invites trouble via inconsistencies.
Undo all the changes in this file.