arcadia 7; project source7_native_contract "Reusable procedures and operation identity" id "52060906-0000-4000-8000-000000000001" { include "rationale.arcadia"; description ""; sa_function sa_work_a "A · Begin assessment" id "071edc32-5c27-5c1d-91ff-337c80b462d5" { description ""; parent none; } oa_occurrence oa_x "X · Check authorization" id "08ff2083-dac1-5f4b-ad6a-7cc81d7be29d" { body { Action { action @oa_work_x; lifeline none; }; }; description ""; parent @oa_caller; postcondition ""; precondition ""; } sa_occurrence sa_a "A · Begin assessment" id "14d1133a-697d-5b54-b624-eed0fb04a354" { body { Action { action @sa_work_a; lifeline none; }; }; description ""; parent @sa_procedure; postcondition ""; precondition ""; } sa_occurrence sa_c "C · Finish assessment" id "1a215aed-f0b1-521d-b52f-0c1cfbbf1c36" { body { Action { action @sa_work_c; lifeline none; }; }; description ""; parent @sa_procedure; postcondition ""; precondition ""; } oa_occurrence oa_r2 "Second assessment" id "1e27be58-3e3e-5869-ad30-e94a28ea2a2e" { body { SequenceReference { sequence @oa_procedure; }; }; description ""; parent @oa_caller; postcondition ""; precondition ""; } oa_process oa_caller "Caller with three assessments" id "2100ac23-79ee-54e1-b3cf-69f3d4f3b30a" { description ""; parent none; steps [@oa_x, @oa_r1, @oa_r2, @oa_r3]; } oa_activity oa_work_a "A · Begin assessment" id "25fdfe13-c45d-5822-830a-192ff13f660d" { description ""; parent none; } oa_process oa_nested_definition "Nested assessment wrapper" id "273d8df8-83c8-5d75-99d1-59a7c9fdb705" { description ""; parent none; steps [@oa_inner]; } sa_function sa_work_b "B · Review assessment" id "3360ccb1-68ac-51cd-8d9a-8893000c80ef" { description ""; parent none; } oa_activity oa_work_c "C · Finish assessment" id "47335738-0876-5f90-b25e-1636c7448e93" { description ""; parent none; } sa_occurrence sa_r3 "Nested assessment" id "4a65dad8-e2a1-51dc-87a0-02ea4ab69384" { body { SequenceReference { sequence @sa_nested_definition; }; }; description ""; parent @sa_caller; postcondition ""; precondition ""; } sa_actor operation_probe_10 "Operator console" id "52060906-0000-4000-8000-00000000000a" { description ""; parent none; } sa_system operation_probe_11 "Valve service" id "52060906-0000-4000-8000-00000000000b" { description ""; parent none; } sa_port operation_probe_12 "Service socket" id "52060906-0000-4000-8000-00000000000c" { contract { Component { kind Standard; orientation Unset; }; }; description ""; legacy none; parent @operation_probe_10; } sa_port operation_probe_13 "Service socket" id "52060906-0000-4000-8000-00000000000d" { contract { Component { kind Standard; orientation Unset; }; }; description ""; legacy none; parent @operation_probe_11; } sa_exchange_item operation_probe_20 "Reset" id "52060906-0000-4000-8000-000000000014" { description ""; kind Information; mechanism Operation; parent none; supertype none; } sa_exchange_item operation_probe_21 "ReadStatus" id "52060906-0000-4000-8000-000000000015" { description ""; kind Information; mechanism Operation; parent none; supertype none; } sa_interface operation_probe_22 "Valve commands" id "52060906-0000-4000-8000-000000000016" { description ""; parent none; supertype none; } sa_scenario operation_probe_40 "Reset then read status" id "52060906-0000-4000-8000-000000000028" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@operation_probe_43, @operation_probe_44, @reset_reply]; viewpoint BoundaryInterface; } sa_lifeline operation_probe_41 "Service participant" id "52060906-0000-4000-8000-000000000029" { description ""; parent @operation_probe_40; represented @operation_probe_10; } sa_lifeline operation_probe_42 "Service participant" id "52060906-0000-4000-8000-00000000002a" { description ""; parent @operation_probe_40; represented @operation_probe_11; } sa_occurrence operation_probe_43 "Call Reset" id "52060906-0000-4000-8000-00000000002b" { body { Exchange { exchange @operation_probe_34; message_kind Call; receiver @operation_probe_42; reply_to none; sender @operation_probe_41; values []; }; }; description ""; parent @operation_probe_40; postcondition ""; precondition ""; } sa_occurrence operation_probe_44 "Call ReadStatus" id "52060906-0000-4000-8000-00000000002c" { body { Exchange { exchange @operation_probe_34; message_kind Call; receiver @operation_probe_42; reply_to none; sender @operation_probe_41; values []; }; }; description ""; parent @operation_probe_40; postcondition ""; precondition ""; } sa_occurrence sa_x "X · Check authorization" id "53ad2109-ba9d-5859-b258-64cdaab5c4a8" { body { Action { action @sa_work_x; lifeline none; }; }; description ""; parent @sa_caller; postcondition ""; precondition ""; } sa_occurrence sa_r1 "First assessment" id "62cfdab1-a18b-5b06-8ee7-cd0b320e4024" { body { SequenceReference { sequence @sa_procedure; }; }; description ""; parent @sa_caller; postcondition ""; precondition ""; } sa_function sa_work_c "C · Finish assessment" id "6575bce8-4185-519b-a004-d96650da63dc" { description ""; parent none; } sa_functional_chain sa_nested_definition "Nested assessment wrapper" id "7932ab3a-6b60-5059-a3a0-fca3a2f9a197" { description ""; parent none; steps [@sa_inner]; } sa_function sa_work_x "X · Check authorization" id "8c3d9b89-aa12-5218-9de9-12b8b5d4e4b3" { description ""; parent none; } sa_occurrence sa_r2 "Second assessment" id "999b5e15-903f-5ca1-bc11-e51fadf80762" { body { SequenceReference { sequence @sa_procedure; }; }; description ""; parent @sa_caller; postcondition ""; precondition ""; } oa_activity oa_work_b "B · Review assessment" id "a39639dc-0ece-5b71-981d-c9523fed4914" { description ""; parent none; } sa_occurrence reset_reply "Correlated reset reply" id "aa8b674f-012f-583f-8dc7-a76407d1f8a7" { body { Exchange { exchange @operation_probe_34; message_kind Reply; receiver @operation_probe_41; reply_to @operation_probe_43; sender @operation_probe_42; values []; }; }; description ""; parent @operation_probe_40; postcondition ""; precondition ""; } oa_process oa_procedure "Reusable assessment A to C" id "af139b27-7e42-5729-9e49-53b2ac62c9e7" { description ""; parent none; steps [@oa_a, @oa_b, @oa_c]; } sa_occurrence sa_b "B · Review assessment" id "bf9ba00e-2aaa-5f04-9ba1-2c242d07b938" { body { Action { action @sa_work_b; lifeline none; }; }; description ""; parent @sa_procedure; postcondition ""; precondition ""; } sa_functional_chain sa_procedure "Reusable assessment A to C" id "c1d4eda2-fac7-5621-a7ac-25f985911bf5" { description ""; parent none; steps [@sa_a, @sa_b, @sa_c]; } oa_occurrence oa_c "C · Finish assessment" id "c40c2011-4497-52f0-9e0e-10323b3150a8" { body { Action { action @oa_work_c; lifeline none; }; }; description ""; parent @oa_procedure; postcondition ""; precondition ""; } oa_occurrence oa_r1 "First assessment" id "d48951ad-c6db-5eae-923a-edccab97155e" { body { SequenceReference { sequence @oa_procedure; }; }; description ""; parent @oa_caller; postcondition ""; precondition ""; } sa_functional_chain sa_caller "Caller with three assessments" id "d4911fd0-52ed-535c-9f87-170e8f5731d2" { description ""; parent none; steps [@sa_x, @sa_r1, @sa_r2, @sa_r3]; } oa_occurrence oa_a "A · Begin assessment" id "dc17769b-7e1e-5f15-99bb-0caf98bcb006" { body { Action { action @oa_work_a; lifeline none; }; }; description ""; parent @oa_procedure; postcondition ""; precondition ""; } oa_occurrence oa_inner "Inner assessment" id "e16033cd-3184-56ef-b462-5559ad212c84" { body { SequenceReference { sequence @oa_procedure; }; }; description ""; parent @oa_nested_definition; postcondition ""; precondition ""; } sa_occurrence sa_inner "Inner assessment" id "e21febd2-30ec-5e9d-aa4c-3c54c95c2c9f" { body { SequenceReference { sequence @sa_procedure; }; }; description ""; parent @sa_nested_definition; postcondition ""; precondition ""; } oa_activity oa_work_x "X · Check authorization" id "e78d841a-a37e-5106-8356-b1e3ce6d2501" { description ""; parent none; } oa_occurrence oa_b "B · Review assessment" id "ef2a06af-6013-5f0b-a56d-db705f0685ce" { body { Action { action @oa_work_b; lifeline none; }; }; description ""; parent @oa_procedure; postcondition ""; precondition ""; } oa_occurrence oa_r3 "Nested assessment" id "fc986c5c-eae7-5363-bcd5-b832d565a89a" { body { SequenceReference { sequence @oa_nested_definition; }; }; description ""; parent @oa_caller; postcondition ""; precondition ""; } sequence_link oa_a_then_b "a then b" id "0fc11ada-23a6-5f39-9891-e7f363a1edfb" { description ""; guard ""; source @oa_a; target @oa_b; } sequence_link oa_b_then_c "b then c" id "169f558e-a466-5fcc-b0d7-53e481952714" { description ""; guard ""; source @oa_b; target @oa_c; } interface_item_allocation operation_probe_30 "InterfaceItemAllocation 30" id "52060906-0000-4000-8000-00000000001e" { acquisition Unspecified; description ""; order 0; source @operation_probe_22; target @operation_probe_20; transmission Synchronous; } interface_item_allocation operation_probe_31 "InterfaceItemAllocation 31" id "52060906-0000-4000-8000-00000000001f" { acquisition Unspecified; description ""; order 0; source @operation_probe_22; target @operation_probe_21; transmission Synchronous; } interface_requirement operation_probe_32 "InterfaceRequirement 32" id "52060906-0000-4000-8000-000000000020" { description ""; source @operation_probe_12; target @operation_probe_22; } interface_provision operation_probe_33 "InterfaceProvision 33" id "52060906-0000-4000-8000-000000000021" { description ""; source @operation_probe_13; target @operation_probe_22; } boundary_exchange operation_probe_34 "BoundaryExchange 34" id "52060906-0000-4000-8000-000000000022" { description ""; items [@operation_probe_20, @operation_probe_21]; oriented false; source @operation_probe_12; target @operation_probe_13; } sequence_link sa_a_then_b "a then b" id "661511e2-3604-5faf-9deb-f741925615bb" { description ""; guard ""; source @sa_a; target @sa_b; } sequence_link sa_b_then_c "b then c" id "aedc3e72-fd4b-5dcd-b9c1-ced7aee3e0d1" { description ""; guard ""; source @sa_b; target @sa_c; } }