arcadia 7; project lifecycle_native "Lifecycle native contract" id "5ceab400-0000-4000-8000-000000000001" { include "rationale.arcadia"; description "Fixed semantic inputs; lifecycle geometry is derived and never authored."; oa_activity life_oa_10 "OA Controller work" id "5ceab400-0000-4000-8000-0000000003f2" { description ""; parent none; } oa_activity life_oa_11 "OA Receiver work" id "5ceab400-0000-4000-8000-0000000003f3" { description ""; parent none; } oa_scenario life_oa_100 "OA 01 Root create action delete" id "5ceab400-0000-4000-8000-00000000044c" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_oa_110, @life_oa_111, @life_oa_112]; viewpoint OperationalActivity; } oa_lifeline life_oa_101 "OA Controller lane" id "5ceab400-0000-4000-8000-00000000044d" { description ""; parent @life_oa_100; represented @life_oa_10; } oa_lifeline life_oa_102 "abcdefghijklmnopé尾" id "5ceab400-0000-4000-8000-00000000044e" { description ""; parent @life_oa_100; represented @life_oa_11; } oa_occurrence life_oa_110 "OA Create receiver" id "5ceab400-0000-4000-8000-000000000456" { body { Exchange { exchange @life_oa_service; message_kind Create; receiver @life_oa_102; reply_to none; sender @life_oa_101; values []; }; }; description ""; parent @life_oa_100; postcondition ""; precondition ""; } oa_occurrence life_oa_111 "OA Receiver action" id "5ceab400-0000-4000-8000-000000000457" { body { Action { action @life_oa_11; lifeline @life_oa_102; }; }; description ""; parent @life_oa_100; postcondition ""; precondition ""; } oa_occurrence life_oa_112 "OA Delete receiver" id "5ceab400-0000-4000-8000-000000000458" { body { Exchange { exchange @life_oa_service; message_kind Delete; receiver @life_oa_102; reply_to none; sender @life_oa_101; values []; }; }; description ""; parent @life_oa_100; postcondition ""; precondition ""; } oa_scenario life_oa_200 "OA 02 Preexisting empty" id "5ceab400-0000-4000-8000-0000000004b0" { context none; description ""; parent none; postcondition ""; precondition ""; steps []; viewpoint OperationalActivity; } oa_lifeline life_oa_201 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000004b1" { description ""; parent @life_oa_200; represented @life_oa_10; } oa_lifeline life_oa_202 "OA Receiver lane" id "5ceab400-0000-4000-8000-0000000004b2" { description ""; parent @life_oa_200; represented @life_oa_11; } oa_scenario life_oa_300 "OA 03 Create only" id "5ceab400-0000-4000-8000-000000000514" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_oa_310]; viewpoint OperationalActivity; } oa_lifeline life_oa_301 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000515" { description ""; parent @life_oa_300; represented @life_oa_10; } oa_lifeline life_oa_302 "OA Receiver lane" id "5ceab400-0000-4000-8000-000000000516" { description ""; parent @life_oa_300; represented @life_oa_11; } oa_occurrence life_oa_310 "OA Create only receiver" id "5ceab400-0000-4000-8000-00000000051e" { body { Exchange { exchange @life_oa_service; message_kind Create; receiver @life_oa_302; reply_to none; sender @life_oa_301; values []; }; }; description ""; parent @life_oa_300; postcondition ""; precondition ""; } oa_scenario life_oa_400 "OA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000578" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_oa_410, @life_oa_411]; viewpoint OperationalActivity; } oa_lifeline life_oa_401 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000579" { description ""; parent @life_oa_400; represented @life_oa_10; } oa_lifeline life_oa_402 "OA Receiver lane" id "5ceab400-0000-4000-8000-00000000057a" { description ""; parent @life_oa_400; represented @life_oa_11; } oa_occurrence life_oa_410 "OA Open call" id "5ceab400-0000-4000-8000-000000000582" { body { Exchange { exchange @life_oa_service; message_kind Call; receiver @life_oa_402; reply_to none; sender @life_oa_401; values []; }; }; description ""; parent @life_oa_400; postcondition ""; precondition ""; } oa_occurrence life_oa_411 "OA ALT delete or keep" id "5ceab400-0000-4000-8000-000000000583" { body { Fragment { branches [@life_oa_412, @life_oa_413]; operator Alternative; }; }; description ""; parent @life_oa_400; postcondition ""; precondition ""; } oa_occurrence life_oa_412 "OA Left delete operand" id "5ceab400-0000-4000-8000-000000000584" { body { Branch { guard "stop_requested"; occurrences [@life_oa_414]; }; }; description ""; parent @life_oa_411; postcondition ""; precondition ""; } oa_occurrence life_oa_413 "OA Right empty operand" id "5ceab400-0000-4000-8000-000000000585" { body { Branch { guard "else"; occurrences []; }; }; description ""; parent @life_oa_411; postcondition ""; precondition ""; } oa_occurrence life_oa_414 "OA Conditional delete receiver" id "5ceab400-0000-4000-8000-000000000586" { body { Exchange { exchange @life_oa_service; message_kind Delete; receiver @life_oa_402; reply_to none; sender @life_oa_401; values []; }; }; description ""; parent @life_oa_412; postcondition ""; precondition ""; } oa_scenario life_oa_500 "OA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000005dc" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_oa_510, @life_oa_511]; viewpoint OperationalActivity; } oa_lifeline life_oa_501 "OA Controller lane" id "5ceab400-0000-4000-8000-0000000005dd" { description ""; parent @life_oa_500; represented @life_oa_10; } oa_lifeline life_oa_502 "OA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000005de" { description ""; parent @life_oa_500; represented none; } oa_occurrence life_oa_510 "OA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e6" { body { Exchange { exchange none; message_kind Create; receiver @life_oa_502; reply_to none; sender @life_oa_501; values []; }; }; description ""; parent @life_oa_500; postcondition ""; precondition ""; } oa_occurrence life_oa_511 "OA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000005e7" { body { Exchange { exchange none; message_kind Delete; receiver @life_oa_502; reply_to none; sender @life_oa_501; values []; }; }; description ""; parent @life_oa_500; postcondition ""; precondition ""; } oa_scenario life_oa_600 "OA 06 Self delete" id "5ceab400-0000-4000-8000-000000000640" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_oa_610]; viewpoint OperationalActivity; } oa_lifeline life_oa_601 "OA Controller lane" id "5ceab400-0000-4000-8000-000000000641" { description ""; parent @life_oa_600; represented @life_oa_10; } oa_occurrence life_oa_610 "OA Self delete controller" id "5ceab400-0000-4000-8000-00000000064a" { body { Exchange { exchange none; message_kind Delete; receiver @life_oa_601; reply_to none; sender @life_oa_601; values []; }; }; description ""; parent @life_oa_600; postcondition ""; precondition ""; } sa_function life_sa_10 "SA Controller work" id "5ceab400-0000-4000-8000-0000000007da" { description ""; parent none; } sa_function life_sa_11 "SA Receiver work" id "5ceab400-0000-4000-8000-0000000007db" { description ""; parent none; } sa_scenario life_sa_100 "SA 01 Root create action delete" id "5ceab400-0000-4000-8000-000000000834" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_sa_110, @life_sa_111, @life_sa_112]; viewpoint Functional; } sa_lifeline life_sa_101 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000835" { description ""; parent @life_sa_100; represented @life_sa_10; } sa_lifeline life_sa_102 "abcdefghijklmnop👩‍🔬 tail" id "5ceab400-0000-4000-8000-000000000836" { description ""; parent @life_sa_100; represented @life_sa_11; } sa_occurrence life_sa_110 "SA Create receiver" id "5ceab400-0000-4000-8000-00000000083e" { body { Exchange { exchange @life_sa_service; message_kind Create; receiver @life_sa_102; reply_to none; sender @life_sa_101; values []; }; }; description ""; parent @life_sa_100; postcondition ""; precondition ""; } sa_occurrence life_sa_111 "SA Receiver action" id "5ceab400-0000-4000-8000-00000000083f" { body { Action { action @life_sa_11; lifeline @life_sa_102; }; }; description ""; parent @life_sa_100; postcondition ""; precondition ""; } sa_occurrence life_sa_112 "SA Delete receiver" id "5ceab400-0000-4000-8000-000000000840" { body { Exchange { exchange @life_sa_service; message_kind Delete; receiver @life_sa_102; reply_to none; sender @life_sa_101; values []; }; }; description ""; parent @life_sa_100; postcondition ""; precondition ""; } sa_scenario life_sa_200 "SA 02 Preexisting empty" id "5ceab400-0000-4000-8000-000000000898" { context none; description ""; parent none; postcondition ""; precondition ""; steps []; viewpoint Functional; } sa_lifeline life_sa_201 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000899" { description ""; parent @life_sa_200; represented @life_sa_10; } sa_lifeline life_sa_202 "SA Receiver lane" id "5ceab400-0000-4000-8000-00000000089a" { description ""; parent @life_sa_200; represented @life_sa_11; } sa_scenario life_sa_300 "SA 03 Create only" id "5ceab400-0000-4000-8000-0000000008fc" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_sa_310]; viewpoint Functional; } sa_lifeline life_sa_301 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000008fd" { description ""; parent @life_sa_300; represented @life_sa_10; } sa_lifeline life_sa_302 "SA Receiver lane" id "5ceab400-0000-4000-8000-0000000008fe" { description ""; parent @life_sa_300; represented @life_sa_11; } sa_occurrence life_sa_310 "SA Create only receiver" id "5ceab400-0000-4000-8000-000000000906" { body { Exchange { exchange @life_sa_service; message_kind Create; receiver @life_sa_302; reply_to none; sender @life_sa_301; values []; }; }; description ""; parent @life_sa_300; postcondition ""; precondition ""; } sa_scenario life_sa_400 "SA 04 Conditional delete" id "5ceab400-0000-4000-8000-000000000960" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_sa_410, @life_sa_411]; viewpoint Functional; } sa_lifeline life_sa_401 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000961" { description ""; parent @life_sa_400; represented @life_sa_10; } sa_lifeline life_sa_402 "SA Receiver lane" id "5ceab400-0000-4000-8000-000000000962" { description ""; parent @life_sa_400; represented @life_sa_11; } sa_occurrence life_sa_410 "SA Open call" id "5ceab400-0000-4000-8000-00000000096a" { body { Exchange { exchange @life_sa_service; message_kind Call; receiver @life_sa_402; reply_to none; sender @life_sa_401; values []; }; }; description ""; parent @life_sa_400; postcondition ""; precondition ""; } sa_occurrence life_sa_411 "SA ALT delete or keep" id "5ceab400-0000-4000-8000-00000000096b" { body { Fragment { branches [@life_sa_412, @life_sa_413]; operator Alternative; }; }; description ""; parent @life_sa_400; postcondition ""; precondition ""; } sa_occurrence life_sa_412 "SA Left delete operand" id "5ceab400-0000-4000-8000-00000000096c" { body { Branch { guard "stop_requested"; occurrences [@life_sa_414]; }; }; description ""; parent @life_sa_411; postcondition ""; precondition ""; } sa_occurrence life_sa_413 "SA Right empty operand" id "5ceab400-0000-4000-8000-00000000096d" { body { Branch { guard "else"; occurrences []; }; }; description ""; parent @life_sa_411; postcondition ""; precondition ""; } sa_occurrence life_sa_414 "SA Conditional delete receiver" id "5ceab400-0000-4000-8000-00000000096e" { body { Exchange { exchange @life_sa_service; message_kind Delete; receiver @life_sa_402; reply_to none; sender @life_sa_401; values []; }; }; description ""; parent @life_sa_412; postcondition ""; precondition ""; } sa_scenario life_sa_500 "SA 05 Unassigned receiver" id "5ceab400-0000-4000-8000-0000000009c4" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_sa_510, @life_sa_511]; viewpoint Functional; } sa_lifeline life_sa_501 "SA Controller lane" id "5ceab400-0000-4000-8000-0000000009c5" { description ""; parent @life_sa_500; represented @life_sa_10; } sa_lifeline life_sa_502 "SA Unassigned receiver lane" id "5ceab400-0000-4000-8000-0000000009c6" { description ""; parent @life_sa_500; represented none; } sa_occurrence life_sa_510 "SA Create unassigned receiver" id "5ceab400-0000-4000-8000-0000000009ce" { body { Exchange { exchange none; message_kind Create; receiver @life_sa_502; reply_to none; sender @life_sa_501; values []; }; }; description ""; parent @life_sa_500; postcondition ""; precondition ""; } sa_occurrence life_sa_511 "SA Delete unassigned receiver" id "5ceab400-0000-4000-8000-0000000009cf" { body { Exchange { exchange none; message_kind Delete; receiver @life_sa_502; reply_to none; sender @life_sa_501; values []; }; }; description ""; parent @life_sa_500; postcondition ""; precondition ""; } sa_scenario life_sa_600 "SA 06 Self delete" id "5ceab400-0000-4000-8000-000000000a28" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@life_sa_610]; viewpoint Functional; } sa_lifeline life_sa_601 "SA Controller lane" id "5ceab400-0000-4000-8000-000000000a29" { description ""; parent @life_sa_600; represented @life_sa_10; } sa_occurrence life_sa_610 "SA Self delete controller" id "5ceab400-0000-4000-8000-000000000a32" { body { Exchange { exchange none; message_kind Delete; receiver @life_sa_601; reply_to none; sender @life_sa_601; values []; }; }; description ""; parent @life_sa_600; postcondition ""; precondition ""; } sa_port sa_lifecycle_service_input "SA Lifecycle service input" id "a4a6ecc0-3e12-51a5-b08b-199ad743525c" { contract { FunctionInput { incoming_items []; }; }; description ""; legacy none; parent @life_sa_11; } sa_port sa_lifecycle_service_output "SA Lifecycle service output" id "b1aa66c4-0e8e-5091-beda-2b8d2005b688" { contract { FunctionOutput { outgoing_items []; }; }; description ""; legacy none; parent @life_sa_10; } interaction life_oa_service "OA Lifecycle service" id "5ceab400-0000-4000-8000-0000000003f4" { description ""; items []; source @life_oa_10; target @life_oa_11; } functional_exchange life_sa_service "SA Lifecycle service" id "5ceab400-0000-4000-8000-0000000007dc" { description ""; items []; source @life_sa_10; source_port @sa_lifecycle_service_output; target @life_sa_11; target_port @sa_lifecycle_service_input; } }