Requirements classification#3068
Conversation
4419e4e to
2f86d5f
Compare
Classification of requirements into feature and component requirements
2f86d5f to
9dc2535
Compare
Several lifecycle requirements used the .. comp_req:: directive but kept copy-pasted feat_req__ IDs and derived_from links to stakeholder requirements (stkh_req__), violating score_metamodel rules: - comp_req IDs must match ^comp_req__[0-9a-z_]+$ - comp_req must derive_from a feat_req, not a stkh_req Rename the 64 affected IDs to comp_req__lifecycle__* and point derived_from at the appropriate parent feat_req, updating all cross-references in the lifecycle architecture docs accordingly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4446a98 to
11cf564
Compare
|
The created documentation from the pull request is available at: docu-html |
FScholPer
left a comment
There was a problem hiding this comment.
I think we should not only reclassify but also move them out to lifecycle repo and link them to feature requirements
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :derived_from: feat_req__lifecycle__waitfor_support[version==1] |
There was a problem hiding this comment.
Based on the linkage, should we think about renaming feat_req__lifecycle__waitfor_support requirement?
Maybe something like feat_req__lifecycle__conditional_startup represent functionality in a better way.
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :derived_from: feat_req__lifecycle__waitfor_support[version==1] |
There was a problem hiding this comment.
Maybe feat_req__lifecycle__terminationn_dependency could be a better fit here.
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :derived_from: feat_req__lifecycle__smart_watchdog_config[version==1] |
There was a problem hiding this comment.
My interpretation of this requirement tells me that we are talking about conditional startup here.
Maybe we should map this requirement to feat_req__lifecycle__waitfor_support?
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :derived_from: feat_req__lifecycle__smart_watchdog_config[version==1] |
There was a problem hiding this comment.
Are we sure that we are talking about watchdog monitoring here?
My interpretation of the requirement suggest, that we are talking more about existence / crash monitoring. In that case it could be linked to feat_req__lifecycle__running_processes or feat_req__lifecycle__process_monitoring
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :derived_from: feat_req__lifecycle__smart_watchdog_config[version==1] |
There was a problem hiding this comment.
I think a better fit will be feat_req__lifecycle__switch_run_targets
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :derived_from: feat_req__lifecycle__multi_instance_support[version==1] |
There was a problem hiding this comment.
This requirement sounds to me like feature requirement.
If we leave it at this level, then we should map feat_req__lifecycle__lm_ext_wdg_failed_test to this requirement. Additionally all requirements mapping to feat_req__lifecycle__lm_ext_wdg_failed_test should be probably mapped to this one.
| @@ -977,12 +983,12 @@ Monitoring, Notification and Recovery | |||
| The :term:`Launch Manager` shall not trigger an external :term:`Watchdog` | |||
There was a problem hiding this comment.
Just checking. Are we sure that it is intended to have shall not trigger in this requirement?
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__dev_experience__logging_support[version==1] | ||
| :derived_from: feat_req__lifecycle__lm_ext_wdg_failed_test[version==1] |
There was a problem hiding this comment.
I'm not sure where this requirement should be mapped, but feat_req__lifecycle__lm_ext_wdg_failed_test doesn't sound like the right mapping.
Please note that we have quite few logging requirements, maybe we should create feature requirement for this and map them accordingly?
| .. feat_req:: Configuration file support | ||
| :id: feat_req__lifecycle__modular_config_support | ||
| .. comp_req:: Configuration file support | ||
| :id: comp_req__lifecycle__modular_config_support |
There was a problem hiding this comment.
We probably need feature level requirement for configuration.
Mapping configuration requirements to feat_req__lifecycle__lm_ext_wdg_failed_test doesn't sounds right.
| @@ -1103,24 +1109,24 @@ Configuration file | |||
There was a problem hiding this comment.
At the moment we have Run Targets and Components.
Should we also introduce modules? If not, maybe we can adapt language to better reflect current status.
we agreed that we do the migration in 2 steps. 1 classification of the requirements. 2 migration of comp requirements to the new repo. |
Address SimonKozik's review comments on PR #3068: - Rename feat_req__lifecycle__waitfor_support to feat_req__lifecycle__conditional_startup and comp_req__lifecycle__stop_sequence to comp_req__lifecycle__termination_dependency for clarity; update all cross-references in requirements and architecture docs. - Fix comp_req derived_from mappings that incorrectly pointed to feat_req__lifecycle__smart_watchdog_config: configurable_wait_time now maps to conditional_startup, monitoring_processes to liveliness_detection, and failure_detect to switch_run_targets. - Merge the duplicate feat_req__lifecycle__process_monitoring into feat_req__lifecycle__liveliness_detection, resolving the existing TODO; re-derive dependent comp_reqs accordingly. - Promote comp_req__lifecycle__lm_self_health_check to a feat_req, and demote feat_req__lifecycle__lm_ext_watchdog_notify and feat_req__lifecycle__lm_ext_wdg_failed_test to comp_reqs derived from it, along with lm_ext_watchdog_cfg. - Introduce feat_req__lifecycle__logging_support and feat_req__lifecycle__configuration_file_support to correctly group the logging and configuration comp_reqs that were previously (incorrectly) all derived from lm_ext_wdg_failed_test. - Reword feat_req__lifecycle__clustering_modules_supp (renamed to feat_req__lifecycle__component_group_config) to reuse existing Component/Run Target terminology instead of introducing a new 'Module' term. All requirement ID cross-references verified to resolve across the docs tree. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Thanks for the detailed review, @SimonKozik! I pushed a follow-up commit addressing all the points:
|
Fix two score_metamodel errors introduced by the previous commit that failed the docs-build CI check: - feat_req__lifecycle__lm_self_health_check must derive from a Stakeholder Requirement (stkh_req), not another feat_req. Changed its :derived_from: from feat_req__lifecycle__multi_instance_support to stkh_req__execution_model__processes, matching sibling requirements. - feat_req__lifecycle__configuration_file_support exceeded the 45 character id length limit (47 chars). Shortened to feat_req__lifecycle__config_file_support and updated its two dependent comp_req derived_from references. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Thanks @ramceb for fixing those issues. As for the I see that we have two requirements: The
IMHO we don't need |
There was a problem hiding this comment.
Inline comments plus:
There are no feature and component requirements documented for the "Health Monitor" which should be derived from stkh_req__dependability__safety_features_1 - this will be solved in another PR by @pawelrutkaq.
| :status: invalid | ||
| :version: 1 | ||
|
|
||
| The :term:`Launch Manager` shall provide support for ordering the launching of |
There was a problem hiding this comment.
Please change this and the other feature requirements below to "The :term:Lifecycle Feature shall"
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] | ||
| :status: invalid |
There was a problem hiding this comment.
recommend to set the status of the requirements to "valid" (after this review), maybe with the exception of the ones which have a "TBD"?
| :status: invalid | ||
| :version: 1 | ||
|
|
||
| The Launch Manager shall be able to validate the pre-start conditions of the executable using the conditions. |
There was a problem hiding this comment.
for consistency please also use :term:Launch Manager as above (also in other component requirements)
| :status: invalid | ||
| :version: 1 | ||
|
|
||
| The time to wait, before SIGKILL is sent shall be configurable. In case "0" is |
There was a problem hiding this comment.
To be consistent with other requirements better: " The :term:Launch Manager shall offer a configuration of ..."
| :reqtype: Functional | ||
| :security: NO | ||
| :safety: ASIL_B | ||
| :derived_from: stkh_req__execution_model__processes[version==1] |
There was a problem hiding this comment.
I think this could also be derived from stkh_req__dependability__safety_features_1
Signed-off-by: ramceb <89037993+ramceb@users.noreply.github.com>
Classification of requirements into feature and component requirements