@@ -129,8 +129,8 @@ needs_types:
129129 mandatory_options :
130130 content : ^[\s\S]+$
131131 optional_links :
132- # req-Id: tool_req__docs_req_link_satisfies_allowed
133- # TODO: fix once process_description is fixed
132+ # req-Id: tool_req__docs_req_link_derived_from_allowed
133+ derived_from : workflow
134134 satisfies : workflow
135135 complies : std_req
136136 tags :
@@ -291,8 +291,11 @@ needs_types:
291291 status : ^(valid|invalid)$
292292 content : ^[\s\S]+$
293293 mandatory_links :
294- # req-Id: tool_req__docs_req_link_satisfies_allowed
294+ # req-Id: tool_req__docs_req_link_derived_from_allowed
295+ derived_from : stkh_req
296+ optional_links :
295297 satisfies : stkh_req
298+ belongs_to : feat # for evaluation
296299 optional_options :
297300 codelink : ^.*$
298301 testlink : ^.*$
@@ -304,8 +307,6 @@ needs_types:
304307 # req-Id: tool_req__docs_req_attr_validity_correctness
305308 valid_from : ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$
306309 valid_until : ^v(0|[1-9]\d*)\.(0|[1-9]\d*)(\.(0|[1-9]\d*))?$
307- optional_links :
308- belongs_to : feat # for evaluation
309310 tags :
310311 - requirement
311312 - requirement_excl_process
@@ -325,9 +326,11 @@ needs_types:
325326 status : ^(valid|invalid)$
326327 content : ^[\s\S]+$
327328 mandatory_links :
328- # req-Id: tool_req__docs_req_link_satisfies_allowed
329- satisfies : feat_req
329+ # req-Id: tool_req__docs_req_link_derived_from_allowed
330+ derived_from : feat_req
330331 belongs_to : comp
332+ optional_links :
333+ satisfies : feat_req
331334 optional_options :
332335 codelink : ^.*$
333336 testlink : ^.*$
@@ -347,8 +350,9 @@ needs_types:
347350 mandatory_options :
348351 content : ^[\s\S]+$
349352 optional_links :
350- # req-Id: tool_req__docs_req_link_satisfies_allowed
353+ # req-Id: tool_req__docs_req_link_derived_from_allowed
351354 # TODO: make it mandatory
355+ derived_from : gd_req, stkh_req
352356 satisfies : gd_req, stkh_req, feat_req, comp_req
353357 optional_options :
354358 codelink : ^.*$
@@ -434,8 +438,10 @@ needs_types:
434438 status : ^(valid|invalid)$
435439 mandatory_links :
436440 includes : ^logic_arc_int(_op)*__.+$
437- fulfils : feat_req
441+ satisfies : feat_req
438442 belongs_to : feat # make it mandatory for evaluation
443+ optional_links :
444+ fulfils : feat_req
439445 tags :
440446 - architecture_element
441447 - architecture_view
@@ -455,8 +461,10 @@ needs_types:
455461 # req-Id: tool_req__docs_common_attr_status
456462 status : ^(valid|invalid)$
457463 mandatory_links :
458- fulfils : feat_req
464+ satisfies : feat_req
459465 belongs_to : feat
466+ optional_links :
467+ fulfils : feat_req
460468 tags :
461469 - architecture_view
462470 - architecture_element
@@ -478,6 +486,7 @@ needs_types:
478486 status : ^(valid|invalid)$
479487 optional_links :
480488 includes : logic_arc_int_op
489+ satisfies : feat_req
481490 fulfils : feat_req
482491 tags :
483492 - architecture_element
@@ -584,9 +593,10 @@ needs_types:
584593 status : ^(valid|invalid)$
585594 mandatory_links :
586595 belongs_to : comp
587- fulfils : comp_req
596+ satisfies : comp_req
588597 optional_links :
589598 uses : logic_arc_int, real_arc_int_op
599+ fulfils : comp_req
590600 tags :
591601 - architecture_view
592602 parts : 3
@@ -606,6 +616,8 @@ needs_types:
606616 status : ^(valid|invalid)$
607617 mandatory_links :
608618 belongs_to : comp
619+ satisfies : comp_req
620+ optional_links :
609621 fulfils : comp_req
610622 tags :
611623 - architecture_view
@@ -627,6 +639,7 @@ needs_types:
627639 status : ^(valid|invalid)$
628640 language : ^(cpp|rust)$
629641 optional_links :
642+ satisfies : comp_req
630643 fulfils : comp_req
631644 tags :
632645 - architecture_element
@@ -926,9 +939,9 @@ needs_extra_links:
926939 # S-CORE Metamodel
927940 # #############################################################
928941 # Requirements
929- satisfies :
930- incoming : satisfied by
931- outgoing : satisfies
942+ derived_from :
943+ incoming : derives
944+ outgoing : derived from
932945
933946 # Architecture
934947 consists_of :
@@ -939,6 +952,11 @@ needs_extra_links:
939952 incoming : has
940953 outgoing : belongs to
941954
955+ satisfies :
956+ incoming : satisfied by
957+ outgoing : satisfies
958+
959+ # kept for backward compatibility - old name for satisfies
942960 fulfils :
943961 incoming : fulfilled by
944962 outgoing : fulfils
@@ -1002,15 +1020,17 @@ graph_checks:
10021020 include : stkh_req, feat_req, comp_req, aou_req, gd_req, tool_req
10031021 condition : safety == QM
10041022 check :
1023+ derived_from : safety == QM
10051024 satisfies : safety == QM
1006- explanation : QM requirements cannot satisfy ASIL requirements.
1025+ explanation : QM requirements cannot be derived from ASIL requirements.
10071026
10081027 # req-Id: tool_req__docs_arch_link_qm_to_safety_req
10091028 tool_req__docs_arch_link_qm_to_safety_req :
10101029 needs :
10111030 include : feat_arc_sta, logic_arc_int, logic_arc_int_op, comp_arc_sta, real_arc_int, real_arc_int_op
10121031 condition : safety == QM
10131032 check :
1033+ satisfies : safety != QM
10141034 fulfils : safety != QM
10151035 explanation : An QM architecture element cannot implement ASIL requirements.
10161036
0 commit comments