Skip to content

feat: Satisfy gd_req__arch_linkage_safety#557

Open
a-zw wants to merge 4 commits into
eclipse-score:mainfrom
etas-contrib:satisfy-arch-safety-linkage
Open

feat: Satisfy gd_req__arch_linkage_safety#557
a-zw wants to merge 4 commits into
eclipse-score:mainfrom
etas-contrib:satisfy-arch-safety-linkage

Conversation

@a-zw
Copy link
Copy Markdown
Contributor

@a-zw a-zw commented May 27, 2026

📌 Description

🚨 Impact Analysis

  • This change does not violate any tool requirements and is covered by existing tool requirements
  • This change does not violate any design decisions
  • Otherwise I have created a ticket for new tool qualification

✅ Checklist

  • Added/updated documentation for new or changed features
  • Added/updated tests to cover the changes
  • Followed project coding standards and guidelines

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 27, 2026

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //src:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.6.0) and connecting to it...
INFO: Invocation ID: e0d52282-411d-468a-a080-baebb516e40a
Computing main repo mapping: 
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: src
WARNING: Target pattern parsing failed.
ERROR: Skipping '//src:license-check': no such target '//src:license-check': target 'license-check' not declared in package 'src' defined by /home/runner/work/docs-as-code/docs-as-code/src/BUILD
ERROR: no such target '//src:license-check': target 'license-check' not declared in package 'src' defined by /home/runner/work/docs-as-code/docs-as-code/src/BUILD
INFO: Elapsed time: 5.544s
INFO: 0 processes.
ERROR: Build did NOT complete successfully
ERROR: Build failed. Not running target

@github-actions
Copy link
Copy Markdown

The created documentation from the pull request is available at: docu-html

@a-zw a-zw force-pushed the satisfy-arch-safety-linkage branch from 48ae479 to 5b8e488 Compare May 27, 2026 08:55
@a-zw a-zw requested review from RolandJentschETAS and pahmann May 27, 2026 11:44
Comment thread src/extensions/score_metamodel/tests/rst/graph/test_arch_safety_belongs_to.rst Outdated
Comment thread src/extensions/score_metamodel/metamodel.yaml
Comment thread docs/internals/requirements/requirements.rst
@a-zw
Copy link
Copy Markdown
Contributor Author

a-zw commented May 27, 2026

Consumer test "score" fails with three warnings:

features/baselibs/docs/architecture/index.rst:94: WARNING: feat_arc_sta__baselibs__static_view_arch: Parent need 
`feat_req__baselibs__core_utilities` does not fulfill condition `safety != QM`. Explanation: Safety architecture views 
must only fulfil safety architecture elements. 
features/baselibs/docs/architecture/index.rst:110: WARNING: feat_arc_dyn__baselibs__dynamic_view_arch: Parent need 
`feat_req__baselibs__core_utilities` does not fulfill condition `safety != QM`. Explanation: Safety architecture views 
must only fulfil safety architecture elements. 
features/persistency/architecture/index.rst:77: WARNING: feat_arc_sta__persistency__static: Parent need 
`feat_req__persistency__variant_management` does not fulfill condition `safety != QM`. Explanation: Safety architecture 
views must only fulfil safety architecture elements.

Checked one and the warning is correct.

Created eclipse-score/score#2933 to fix that.

@a-zw a-zw requested a review from pahmann May 27, 2026 12:43
:satisfies: gd_req__arch_linkage_safety
:parent_covered: YES

Enforce that valid ASIL architecture views fulfil only ASIL requirements.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we mention the exact attribute here? And what exactly is an architecture view. There was so much confusion int he past about what a "view" is, that I would love to simply have the exact need types here.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, should be static and dynamic ...

Copy link
Copy Markdown
Contributor Author

@a-zw a-zw May 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. The classics are feat_arc_sta, comp_arc_sta, logic_arc_int, real_arc_int. I'll add them.

What about logic_arc_int, real_arc_int, und mod_view_sta? At least in tool_req__docs_arch_views they are listed as architecture views.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@RolandJentschETAS Maybe it's better to extend tool_req__docs_req_arch_link_safety_to_arch to cover all architecture elements AND views? Otherwise it feels like we spread the same requirement to multiple requirements.

Comment thread src/extensions/score_metamodel/tests/rst/graph/test_arch_safety_belongs_to.rst Outdated
Comment thread src/extensions/score_metamodel/tests/rst/graph/test_arch_safety_belongs_to.rst Outdated
Copy link
Copy Markdown
Contributor

@MaximilianSoerenPollak MaximilianSoerenPollak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some comments.

Comment on lines +718 to +728
.. tool_req:: Check safety architecture view fulfils only safety requirements
:id: tool_req__docs_arch_link_safety_fulfils
:tags: Architecture
:implemented: YES
:version: 1
:satisfies: gd_req__arch_linkage_safety
:parent_covered: YES

Enforce that valid ASIL architecture views
(``feat_arc_sta``, ``feat_arc_dyn``, ``comp_arc_sta``, ``comp_arc_dyn``)
"fulfil" only ASIL requirements.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we not already have a requirement that does this?
This one here

Also this should be filtered against VALID only no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tricky question. We don't have check that in other cases. Any mandatory link may go an invalid item.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do have this check here:

https://github.com/eclipse-score/docs-as-code/blob/main/src/extensions/score_metamodel/checks/graph_checks.py#L205-L230

i have to ask where the process requirement for this is again.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe need._links.values() in graph_checks already covers all attributes including fulfil? That would imply we don't have to check it here again.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it's better to extend tool_req__docs_req_arch_link_safety_to_arch to cover all architecture elements AND views? Otherwise it feels like we spread the same requirement to multiple requirements.

Comment thread src/extensions/score_metamodel/tests/rst/graph/test_arch_safety_belongs_to.rst Outdated
- safety != QM
- status == valid
check:
fulfils: safety != QM
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has to be status == valid too.
Otherwise we would be checking also when we link against invalid requirements ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as the other comment: We don't require that for other links.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

5 participants