arcadia 7; project scenario_authoring "Scenario authoring contract" id "5ceaa100-0000-4000-8000-000000000001" { include "rationale.arcadia"; description "Native clicked-slot and caller-return contract."; oa_activity scenario_oa_10 "OA Inspect ticket" id "5ceaa100-0000-4000-8000-00000000006e" { description ""; parent none; } oa_activity scenario_oa_11 "OA Record result" id "5ceaa100-0000-4000-8000-00000000006f" { description ""; parent none; } oa_state_machine scenario_oa_20 "OA Ticket modes" id "5ceaa100-0000-4000-8000-000000000078" { description ""; parent none; } oa_region scenario_oa_21 "OA Ticket region" id "5ceaa100-0000-4000-8000-000000000079" { description ""; parent @scenario_oa_20; } oa_state scenario_oa_22 "OA Ready" id "5ceaa100-0000-4000-8000-00000000007a" { description ""; do_activity ""; entry ""; exit ""; kind State; parent @scenario_oa_21; } oa_scenario scenario_oa_30 "OA A caller" id "5ceaa100-0000-4000-8000-000000000082" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@scenario_oa_50, @scenario_oa_51, @scenario_oa_60, @scenario_oa_61, @scenario_oa_62]; viewpoint OperationalActivity; } oa_scenario scenario_oa_31 "OA B verification" id "5ceaa100-0000-4000-8000-000000000083" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@scenario_oa_63, @scenario_oa_64, @scenario_oa_65]; viewpoint OperationalActivity; } oa_scenario scenario_oa_32 "OA C detail" id "5ceaa100-0000-4000-8000-000000000084" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@scenario_oa_66]; viewpoint OperationalActivity; } oa_lifeline scenario_oa_40 "OA A inspector" id "5ceaa100-0000-4000-8000-00000000008c" { description ""; parent @scenario_oa_30; represented @scenario_oa_10; } oa_lifeline scenario_oa_41 "OA A recorder" id "5ceaa100-0000-4000-8000-00000000008d" { description ""; parent @scenario_oa_30; represented @scenario_oa_11; } oa_lifeline scenario_oa_42 "OA B inspector" id "5ceaa100-0000-4000-8000-00000000008e" { description ""; parent @scenario_oa_31; represented @scenario_oa_10; } oa_lifeline scenario_oa_43 "OA B recorder" id "5ceaa100-0000-4000-8000-00000000008f" { description ""; parent @scenario_oa_31; represented @scenario_oa_11; } oa_lifeline scenario_oa_44 "OA C inspector" id "5ceaa100-0000-4000-8000-000000000090" { description ""; parent @scenario_oa_32; represented @scenario_oa_10; } oa_lifeline scenario_oa_45 "OA C recorder" id "5ceaa100-0000-4000-8000-000000000091" { description ""; parent @scenario_oa_32; represented @scenario_oa_11; } oa_occurrence scenario_oa_50 "OA Root entry" id "5ceaa100-0000-4000-8000-000000000096" { body { Action { action @scenario_oa_10; lifeline @scenario_oa_40; }; }; description ""; parent @scenario_oa_30; postcondition ""; precondition ""; } oa_occurrence scenario_oa_51 "OA Outer ALT" id "5ceaa100-0000-4000-8000-000000000097" { body { Fragment { branches [@scenario_oa_52, @scenario_oa_53]; operator Alternative; }; }; description ""; parent @scenario_oa_30; postcondition ""; precondition ""; } oa_occurrence scenario_oa_52 "OA Outer chosen operand" id "5ceaa100-0000-4000-8000-000000000098" { body { Branch { guard "ticket.present"; occurrences [@scenario_oa_54]; }; }; description ""; parent @scenario_oa_51; postcondition ""; precondition ""; } oa_occurrence scenario_oa_53 "OA Outer fallback operand" id "5ceaa100-0000-4000-8000-000000000099" { body { Branch { guard "else"; occurrences [@scenario_oa_59]; }; }; description ""; parent @scenario_oa_51; postcondition ""; precondition ""; } oa_occurrence scenario_oa_54 "OA Inner ALT" id "5ceaa100-0000-4000-8000-00000000009a" { body { Fragment { branches [@scenario_oa_55, @scenario_oa_56]; operator Alternative; }; }; description ""; parent @scenario_oa_52; postcondition ""; precondition ""; } oa_occurrence scenario_oa_55 "OA Inner chosen operand" id "5ceaa100-0000-4000-8000-00000000009b" { body { Branch { guard "ticket.ready"; occurrences [@scenario_oa_57]; }; }; description ""; parent @scenario_oa_54; postcondition ""; precondition ""; } oa_occurrence scenario_oa_56 "OA Inner other operand" id "5ceaa100-0000-4000-8000-00000000009c" { body { Branch { guard "else"; occurrences [@scenario_oa_58]; }; }; description ""; parent @scenario_oa_54; postcondition ""; precondition ""; } oa_occurrence scenario_oa_57 "OA Inner anchor" id "5ceaa100-0000-4000-8000-00000000009d" { body { Action { action @scenario_oa_10; lifeline @scenario_oa_40; }; }; description ""; parent @scenario_oa_55; postcondition ""; precondition ""; } oa_occurrence scenario_oa_58 "OA Inner other anchor" id "5ceaa100-0000-4000-8000-00000000009e" { body { Action { action @scenario_oa_10; lifeline @scenario_oa_40; }; }; description ""; parent @scenario_oa_56; postcondition ""; precondition ""; } oa_occurrence scenario_oa_59 "OA Fallback anchor" id "5ceaa100-0000-4000-8000-00000000009f" { body { Action { action @scenario_oa_11; lifeline @scenario_oa_41; }; }; description ""; parent @scenario_oa_53; postcondition ""; precondition ""; } oa_occurrence scenario_oa_60 "OA First use of B" id "5ceaa100-0000-4000-8000-0000000000a0" { body { ScenarioUse { bindings [{ local @scenario_oa_40; referenced @scenario_oa_42; }, { local @scenario_oa_41; referenced @scenario_oa_43; }]; scenario @scenario_oa_31; }; }; description ""; parent @scenario_oa_30; postcondition ""; precondition ""; } oa_occurrence scenario_oa_61 "OA Second use of B" id "5ceaa100-0000-4000-8000-0000000000a1" { body { ScenarioUse { bindings [{ local @scenario_oa_40; referenced @scenario_oa_42; }, { local @scenario_oa_41; referenced @scenario_oa_43; }]; scenario @scenario_oa_31; }; }; description ""; parent @scenario_oa_30; postcondition ""; precondition ""; } oa_occurrence scenario_oa_62 "OA Root exit" id "5ceaa100-0000-4000-8000-0000000000a2" { body { Action { action @scenario_oa_11; lifeline @scenario_oa_41; }; }; description ""; parent @scenario_oa_30; postcondition ""; precondition ""; } oa_occurrence scenario_oa_63 "OA B entry" id "5ceaa100-0000-4000-8000-0000000000a3" { body { Action { action @scenario_oa_10; lifeline @scenario_oa_42; }; }; description ""; parent @scenario_oa_31; postcondition ""; precondition ""; } oa_occurrence scenario_oa_64 "OA B use of C" id "5ceaa100-0000-4000-8000-0000000000a4" { body { ScenarioUse { bindings [{ local @scenario_oa_42; referenced @scenario_oa_44; }, { local @scenario_oa_43; referenced @scenario_oa_45; }]; scenario @scenario_oa_32; }; }; description ""; parent @scenario_oa_31; postcondition ""; precondition ""; } oa_occurrence scenario_oa_65 "OA B exit" id "5ceaa100-0000-4000-8000-0000000000a5" { body { Action { action @scenario_oa_11; lifeline @scenario_oa_43; }; }; description ""; parent @scenario_oa_31; postcondition ""; precondition ""; } oa_occurrence scenario_oa_66 "OA C entry" id "5ceaa100-0000-4000-8000-0000000000a6" { body { Action { action @scenario_oa_10; lifeline @scenario_oa_44; }; }; description ""; parent @scenario_oa_32; postcondition ""; precondition ""; } sa_function scenario_sa_10 "SA Inspect ticket" id "5ceaa100-0000-4000-8000-0000000000d2" { description ""; parent none; } sa_function scenario_sa_11 "SA Record result" id "5ceaa100-0000-4000-8000-0000000000d3" { description ""; parent none; } sa_state_machine scenario_sa_20 "SA Ticket modes" id "5ceaa100-0000-4000-8000-0000000000dc" { description ""; parent none; } sa_region scenario_sa_21 "SA Ticket region" id "5ceaa100-0000-4000-8000-0000000000dd" { description ""; parent @scenario_sa_20; } sa_state scenario_sa_22 "SA Ready" id "5ceaa100-0000-4000-8000-0000000000de" { description ""; do_activity ""; entry ""; exit ""; kind State; parent @scenario_sa_21; } sa_scenario scenario_sa_30 "SA A caller" id "5ceaa100-0000-4000-8000-0000000000e6" { context none; description ""; parent none; postcondition ""; precondition ""; steps [ @sa_native_action,@scenario_sa_50, @scenario_sa_51, @scenario_sa_60, @scenario_sa_61, @scenario_sa_62]; viewpoint Functional; sa_occurrence sa_native_action "SA native action" id "bf113d5d-3ea3-44f3-9d9f-b1e11bfdc9a6" { body { Action { action @scenario_sa_10; lifeline @scenario_sa_40; }; }; description ""; postcondition ""; precondition ""; } } sa_scenario scenario_sa_31 "SA B verification" id "5ceaa100-0000-4000-8000-0000000000e7" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@scenario_sa_63, @scenario_sa_64, @scenario_sa_65]; viewpoint Functional; } sa_scenario scenario_sa_32 "SA C detail" id "5ceaa100-0000-4000-8000-0000000000e8" { context none; description ""; parent none; postcondition ""; precondition ""; steps [@scenario_sa_66]; viewpoint Functional; } sa_lifeline scenario_sa_40 "SA A inspector" id "5ceaa100-0000-4000-8000-0000000000f0" { description ""; parent @scenario_sa_30; represented @scenario_sa_10; } sa_lifeline scenario_sa_41 "SA A recorder" id "5ceaa100-0000-4000-8000-0000000000f1" { description ""; parent @scenario_sa_30; represented @scenario_sa_11; } sa_lifeline scenario_sa_42 "SA B inspector" id "5ceaa100-0000-4000-8000-0000000000f2" { description ""; parent @scenario_sa_31; represented @scenario_sa_10; } sa_lifeline scenario_sa_43 "SA B recorder" id "5ceaa100-0000-4000-8000-0000000000f3" { description ""; parent @scenario_sa_31; represented @scenario_sa_11; } sa_lifeline scenario_sa_44 "SA C inspector" id "5ceaa100-0000-4000-8000-0000000000f4" { description ""; parent @scenario_sa_32; represented @scenario_sa_10; } sa_lifeline scenario_sa_45 "SA C recorder" id "5ceaa100-0000-4000-8000-0000000000f5" { description ""; parent @scenario_sa_32; represented @scenario_sa_11; } sa_occurrence scenario_sa_50 "SA Root entry" id "5ceaa100-0000-4000-8000-0000000000fa" { body { Action { action @scenario_sa_10; lifeline @scenario_sa_40; }; }; description ""; parent @scenario_sa_30; postcondition ""; precondition ""; } sa_occurrence scenario_sa_51 "SA Outer ALT" id "5ceaa100-0000-4000-8000-0000000000fb" { body { Fragment { branches [@scenario_sa_52, @scenario_sa_53]; operator Alternative; }; }; description ""; parent @scenario_sa_30; postcondition ""; precondition ""; } sa_occurrence scenario_sa_52 "SA Outer chosen operand" id "5ceaa100-0000-4000-8000-0000000000fc" { body { Branch { guard "ticket.present"; occurrences [@scenario_sa_54]; }; }; description ""; parent @scenario_sa_51; postcondition ""; precondition ""; } sa_occurrence scenario_sa_53 "SA Outer fallback operand" id "5ceaa100-0000-4000-8000-0000000000fd" { body { Branch { guard "else"; occurrences [@scenario_sa_59]; }; }; description ""; parent @scenario_sa_51; postcondition ""; precondition ""; } sa_occurrence scenario_sa_54 "SA Inner ALT" id "5ceaa100-0000-4000-8000-0000000000fe" { body { Fragment { branches [@scenario_sa_55, @scenario_sa_56]; operator Alternative; }; }; description ""; parent @scenario_sa_52; postcondition ""; precondition ""; } sa_occurrence scenario_sa_55 "SA Inner chosen operand" id "5ceaa100-0000-4000-8000-0000000000ff" { body { Branch { guard "ticket.ready"; occurrences [ @sa_native_state,@scenario_sa_57]; }; }; description ""; parent @scenario_sa_54; postcondition ""; precondition ""; sa_occurrence sa_native_state "SA native state" id "29a04080-b148-4234-a480-4e86702a36e3" { body { State { lifeline @scenario_sa_40; state @scenario_sa_22; }; }; description ""; postcondition ""; precondition ""; } } sa_occurrence scenario_sa_56 "SA Inner other operand" id "5ceaa100-0000-4000-8000-000000000100" { body { Branch { guard "else"; occurrences [@scenario_sa_58]; }; }; description ""; parent @scenario_sa_54; postcondition ""; precondition ""; } sa_occurrence scenario_sa_57 "SA Inner anchor" id "5ceaa100-0000-4000-8000-000000000101" { body { Action { action @scenario_sa_10; lifeline @scenario_sa_40; }; }; description ""; parent @scenario_sa_55; postcondition ""; precondition ""; } sa_occurrence scenario_sa_58 "SA Inner other anchor" id "5ceaa100-0000-4000-8000-000000000102" { body { Action { action @scenario_sa_10; lifeline @scenario_sa_40; }; }; description ""; parent @scenario_sa_56; postcondition ""; precondition ""; } sa_occurrence scenario_sa_59 "SA Fallback anchor" id "5ceaa100-0000-4000-8000-000000000103" { body { Action { action @scenario_sa_11; lifeline @scenario_sa_41; }; }; description ""; parent @scenario_sa_53; postcondition ""; precondition ""; } sa_occurrence scenario_sa_60 "SA First use of B" id "5ceaa100-0000-4000-8000-000000000104" { body { ScenarioUse { bindings [{ local @scenario_sa_40; referenced @scenario_sa_42; }, { local @scenario_sa_41; referenced @scenario_sa_43; }]; scenario @scenario_sa_31; }; }; description ""; parent @scenario_sa_30; postcondition ""; precondition ""; } sa_occurrence scenario_sa_61 "SA Second use of B" id "5ceaa100-0000-4000-8000-000000000105" { body { ScenarioUse { bindings [{ local @scenario_sa_40; referenced @scenario_sa_42; }, { local @scenario_sa_41; referenced @scenario_sa_43; }]; scenario @scenario_sa_31; }; }; description ""; parent @scenario_sa_30; postcondition ""; precondition ""; } sa_occurrence scenario_sa_62 "SA Root exit" id "5ceaa100-0000-4000-8000-000000000106" { body { Action { action @scenario_sa_11; lifeline @scenario_sa_41; }; }; description ""; parent @scenario_sa_30; postcondition ""; precondition ""; } sa_occurrence scenario_sa_63 "SA B entry" id "5ceaa100-0000-4000-8000-000000000107" { body { Action { action @scenario_sa_10; lifeline @scenario_sa_42; }; }; description ""; parent @scenario_sa_31; postcondition ""; precondition ""; } sa_occurrence scenario_sa_64 "SA B use of C" id "5ceaa100-0000-4000-8000-000000000108" { body { ScenarioUse { bindings [{ local @scenario_sa_42; referenced @scenario_sa_44; }, { local @scenario_sa_43; referenced @scenario_sa_45; }]; scenario @scenario_sa_32; }; }; description ""; parent @scenario_sa_31; postcondition ""; precondition ""; } sa_occurrence scenario_sa_65 "SA B exit" id "5ceaa100-0000-4000-8000-000000000109" { body { Action { action @scenario_sa_11; lifeline @scenario_sa_43; }; }; description ""; parent @scenario_sa_31; postcondition ""; precondition ""; } sa_occurrence scenario_sa_66 "SA C entry" id "5ceaa100-0000-4000-8000-00000000010a" { body { Action { action @scenario_sa_10; lifeline @scenario_sa_44; }; }; description ""; parent @scenario_sa_32; postcondition ""; precondition ""; } }