@@ -124,8 +124,8 @@ needs_types:
124124 mandatory_options :
125125 content : ^[\s\S]+$
126126 optional_links :
127- # req-Id: tool_req__docs_req_link_satisfies_allowed
128- # TODO: fix once process_description is fixed
127+ # req-Id: tool_req__docs_req_link_derived_from_allowed
128+ derived_from : workflow
129129 satisfies : workflow
130130 complies : std_req
131131 tags :
@@ -286,8 +286,11 @@ needs_types:
286286 status : ^(valid|invalid)$
287287 content : ^[\s\S]+$
288288 mandatory_links :
289- # req-Id: tool_req__docs_req_link_satisfies_allowed
289+ # req-Id: tool_req__docs_req_link_derived_from_allowed
290+ derived_from : stkh_req
291+ optional_links :
290292 satisfies : stkh_req
293+ belongs_to : feat # for evaluation
291294 optional_options :
292295 codelink : ^.*$
293296 testlink : ^.*$
@@ -299,8 +302,6 @@ needs_types:
299302 # req-Id: tool_req__docs_req_attr_validity_correctness
300303 valid_from : ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$
301304 valid_until : ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$
302- optional_links :
303- belongs_to : feat # for evaluation
304305 tags :
305306 - requirement
306307 - requirement_excl_process
@@ -320,9 +321,11 @@ needs_types:
320321 status : ^(valid|invalid)$
321322 content : ^[\s\S]+$
322323 mandatory_links :
323- # req-Id: tool_req__docs_req_link_satisfies_allowed
324- satisfies : feat_req
324+ # req-Id: tool_req__docs_req_link_derived_from_allowed
325+ derived_from : feat_req
325326 belongs_to : comp
327+ optional_links :
328+ satisfies : feat_req
326329 optional_options :
327330 codelink : ^.*$
328331 testlink : ^.*$
@@ -342,8 +345,9 @@ needs_types:
342345 mandatory_options :
343346 content : ^[\s\S]+$
344347 optional_links :
345- # req-Id: tool_req__docs_req_link_satisfies_allowed
348+ # req-Id: tool_req__docs_req_link_derived_from_allowed
346349 # TODO: make it mandatory
350+ derived_from : gd_req, stkh_req
347351 satisfies : gd_req, stkh_req
348352 optional_options :
349353 codelink : ^.*$
@@ -430,8 +434,10 @@ needs_types:
430434 status : ^(valid|invalid)$
431435 mandatory_links :
432436 includes : ^logic_arc_int(_op)*__.+$
433- fulfils : feat_req
437+ satisfies : feat_req
434438 belongs_to : feat # make it mandatory for evaluation
439+ optional_links :
440+ fulfils : feat_req
435441 tags :
436442 - architecture_element
437443 - architecture_view
@@ -451,8 +457,10 @@ needs_types:
451457 # req-Id: tool_req__docs_common_attr_status
452458 status : ^(valid|invalid)$
453459 mandatory_links :
454- fulfils : feat_req
460+ satisfies : feat_req
455461 belongs_to : feat
462+ optional_links :
463+ fulfils : feat_req
456464 tags :
457465 - architecture_view
458466 - architecture_element
@@ -474,6 +482,7 @@ needs_types:
474482 status : ^(valid|invalid)$
475483 optional_links :
476484 includes : logic_arc_int_op
485+ satisfies : feat_req
477486 fulfils : feat_req
478487 tags :
479488 - architecture_element
@@ -578,9 +587,10 @@ needs_types:
578587 status : ^(valid|invalid)$
579588 mandatory_links :
580589 belongs_to : comp
581- fulfils : comp_req
590+ satisfies : comp_req
582591 optional_links :
583592 uses : logic_arc_int, real_arc_int_op
593+ fulfils : comp_req
584594 tags :
585595 - architecture_view
586596 parts : 3
@@ -600,6 +610,8 @@ needs_types:
600610 status : ^(valid|invalid)$
601611 mandatory_links :
602612 belongs_to : comp
613+ satisfies : comp_req
614+ optional_links :
603615 fulfils : comp_req
604616 tags :
605617 - architecture_view
@@ -621,6 +633,7 @@ needs_types:
621633 status : ^(valid|invalid)$
622634 language : ^(cpp|rust)$
623635 optional_links :
636+ satisfies : comp_req
624637 fulfils : comp_req
625638 tags :
626639 - architecture_element
@@ -920,9 +933,9 @@ needs_extra_links:
920933 # S-CORE Metamodel
921934 # #############################################################
922935 # Requirements
923- satisfies :
924- incoming : satisfied by
925- outgoing : satisfies
936+ derived_from :
937+ incoming : derives
938+ outgoing : derived from
926939
927940 # Architecture
928941 consists_of :
@@ -933,6 +946,11 @@ needs_extra_links:
933946 incoming : has
934947 outgoing : belongs to
935948
949+ satisfies :
950+ incoming : satisfied by
951+ outgoing : satisfies
952+
953+ # kept for backward compatibility - old name for satisfies
936954 fulfils :
937955 incoming : fulfilled by
938956 outgoing : fulfils
@@ -996,15 +1014,17 @@ graph_checks:
9961014 include : stkh_req, feat_req, comp_req, aou_req, gd_req, tool_req
9971015 condition : safety == QM
9981016 check :
1017+ derived_from : safety == QM
9991018 satisfies : safety == QM
1000- explanation : QM requirements cannot satisfy ASIL requirements.
1019+ explanation : QM requirements cannot be derived from ASIL requirements.
10011020
10021021 # req-Id: tool_req__docs_arch_link_qm_to_safety_req
10031022 tool_req__docs_arch_link_qm_to_safety_req :
10041023 needs :
10051024 include : feat_arc_sta, logic_arc_int, logic_arc_int_op, comp_arc_sta, real_arc_int, real_arc_int_op
10061025 condition : safety == QM
10071026 check :
1027+ satisfies : safety != QM
10081028 fulfils : safety != QM
10091029 explanation : An QM architecture element cannot implement ASIL requirements.
10101030
0 commit comments