@@ -130,8 +130,8 @@ needs_types:
130130 # req-Id: tool_req__docs_common_attr_description
131131 content : ^[\s\S]+$
132132 optional_links :
133- # req-Id: tool_req__docs_req_link_satisfies_allowed
134- # TODO: fix once process_description is fixed
133+ # req-Id: tool_req__docs_req_link_derived_from_allowed
134+ derived_from : workflow
135135 satisfies : workflow
136136 complies : std_req
137137 tags :
@@ -293,8 +293,11 @@ needs_types:
293293 # req-Id: tool_req__docs_common_attr_description
294294 content : ^[\s\S]+$
295295 mandatory_links :
296- # req-Id: tool_req__docs_req_link_satisfies_allowed
296+ # req-Id: tool_req__docs_req_link_derived_from_allowed
297+ derived_from : stkh_req
298+ optional_links :
297299 satisfies : stkh_req
300+ belongs_to : feat # for evaluation
298301 optional_options :
299302 codelink : ^.*$
300303 testlink : ^.*$
@@ -307,7 +310,6 @@ needs_types:
307310 valid_from : ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$
308311 valid_until : ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$
309312 optional_links :
310- belongs_to : feat # for evaluation
311313 # req-Id: tool_req__docs_req_link_covers_aou
312314 covers : aou_req
313315 tags :
@@ -330,9 +332,11 @@ needs_types:
330332 # req-Id: tool_req__docs_common_attr_description
331333 content : ^[\s\S]+$
332334 mandatory_links :
333- # req-Id: tool_req__docs_req_link_satisfies_allowed
334- satisfies : feat_req
335+ # req-Id: tool_req__docs_req_link_derived_from_allowed
336+ derived_from : feat_req
335337 belongs_to : comp
338+ optional_links :
339+ satisfies : feat_req
336340 optional_options :
337341 codelink : ^.*$
338342 testlink : ^.*$
@@ -356,8 +360,9 @@ needs_types:
356360 # req-Id: tool_req__docs_common_attr_description
357361 content : ^[\s\S]+$
358362 optional_links :
359- # req-Id: tool_req__docs_req_link_satisfies_allowed
363+ # req-Id: tool_req__docs_req_link_derived_from_allowed
360364 # TODO: make it mandatory
365+ derived_from : gd_req, stkh_req
361366 satisfies : gd_req, stkh_req, feat_req, comp_req
362367 optional_options :
363368 codelink : ^.*$
@@ -444,9 +449,10 @@ needs_types:
444449 status : ^(valid|invalid)$
445450 mandatory_links :
446451 includes : ^logic_arc_int(_op)*__.+$
447- # req-Id: tool_req__docs_arch_link_fulfils, tool_req__docs_arch_link_fulfils_aou
448- fulfils : feat_req, aou_req
452+ satisfies : feat_req, aou_req
449453 belongs_to : feat # make it mandatory for evaluation
454+ optional_links :
455+ fulfils : feat_req
450456 tags :
451457 - architecture_element
452458 - architecture_view
@@ -466,8 +472,10 @@ needs_types:
466472 # req-Id: tool_req__docs_common_attr_status
467473 status : ^(valid|invalid)$
468474 mandatory_links :
469- fulfils : feat_req
475+ satisfies : feat_req
470476 belongs_to : feat
477+ optional_links :
478+ fulfils : feat_req
471479 tags :
472480 - architecture_view
473481 - architecture_element
@@ -489,6 +497,7 @@ needs_types:
489497 status : ^(valid|invalid)$
490498 optional_links :
491499 includes : logic_arc_int_op
500+ satisfies : feat_req
492501 fulfils : feat_req
493502 tags :
494503 - architecture_element
@@ -595,10 +604,10 @@ needs_types:
595604 status : ^(valid|invalid)$
596605 mandatory_links :
597606 belongs_to : comp
598- # req-Id: tool_req__docs_arch_link_fulfils, tool_req__docs_arch_link_fulfils_aou
599- fulfils : comp_req, aou_req
607+ satisfies : comp_req, aou_req
600608 optional_links :
601609 uses : logic_arc_int, real_arc_int_op
610+ fulfils : comp_req
602611 tags :
603612 - architecture_view
604613 parts : 3
@@ -618,6 +627,8 @@ needs_types:
618627 status : ^(valid|invalid)$
619628 mandatory_links :
620629 belongs_to : comp
630+ satisfies : comp_req
631+ optional_links :
621632 fulfils : comp_req
622633 tags :
623634 - architecture_view
@@ -639,6 +650,7 @@ needs_types:
639650 status : ^(valid|invalid)$
640651 language : ^(cpp|rust)$
641652 optional_links :
653+ satisfies : comp_req
642654 fulfils : comp_req
643655 tags :
644656 - architecture_element
@@ -986,9 +998,9 @@ needs_extra_links:
986998 # S-CORE Metamodel
987999 # #############################################################
9881000 # Requirements
989- satisfies :
990- incoming : satisfied by
991- outgoing : satisfies
1001+ derived_from :
1002+ incoming : derives
1003+ outgoing : derived from
9921004
9931005 # req-Id: tool_req__docs_req_link_covers_aou
9941006 covers :
@@ -1004,6 +1016,11 @@ needs_extra_links:
10041016 incoming : has
10051017 outgoing : belongs to
10061018
1019+ satisfies :
1020+ incoming : satisfied by
1021+ outgoing : satisfies
1022+
1023+ # kept for backward compatibility - old name for satisfies
10071024 fulfils :
10081025 incoming : fulfilled by
10091026 outgoing : fulfils
@@ -1067,15 +1084,17 @@ graph_checks:
10671084 include : stkh_req, feat_req, comp_req, aou_req, gd_req, tool_req
10681085 condition : safety == QM
10691086 check :
1087+ derived_from : safety == QM
10701088 satisfies : safety == QM
1071- explanation : QM requirements cannot satisfy ASIL requirements.
1089+ explanation : QM requirements cannot be derived from ASIL requirements.
10721090
10731091 # req-Id: tool_req__docs_arch_link_qm_to_safety_req
10741092 tool_req__docs_arch_link_qm_to_safety_req :
10751093 needs :
10761094 include : feat_arc_sta, logic_arc_int, logic_arc_int_op, comp_arc_sta, real_arc_int, real_arc_int_op
10771095 condition : safety == QM
10781096 check :
1097+ satisfies : safety != QM
10791098 fulfils : safety != QM
10801099 explanation : An QM architecture element cannot implement ASIL requirements.
10811100
0 commit comments