Files
ARCADIA-Studio/harness/experiments/behavior-layout-scene-20260912/fixture.arcadia
T

61 lines
2.9 KiB
Plaintext

arcadia 7;
project layout_probe "Behavior layout Scene probe" id "10000000-0000-4000-8000-000000000001" {
oa_entity sender "Sender" id "10000000-0000-4000-8000-000000000002" {}
oa_entity receiver "Receiver" id "10000000-0000-4000-8000-000000000003" {}
oa_activity inspect "Inspect" id "10000000-0000-4000-8000-000000000004" {}
allocation inspect_assignment "Receiver performs inspection" id "10000000-0000-4000-8000-000000000005" {
source @receiver; target @inspect;
}
communication_mean channel "Shared channel" id "10000000-0000-4000-8000-000000000006" {
source @sender; target @receiver; oriented false;
}
oa_scenario conversation "Conversation" id "10000000-0000-4000-8000-000000000007" {
viewpoint ParticipantInteraction;
steps [@first, @second, @fragment, @self_call, @self_reply];
}
oa_lifeline left "Sender role" id "10000000-0000-4000-8000-000000000008" { parent @conversation; represented @sender; }
oa_lifeline right "Receiver role" id "10000000-0000-4000-8000-000000000009" { parent @conversation; represented @receiver; }
oa_occurrence first "First delivery" id "10000000-0000-4000-8000-00000000000a" {
parent @conversation;
body { Exchange {
exchange @channel; sender @left; receiver @right;
message_kind Asynchronous;
}; };
}
oa_occurrence second "Second delivery" id "10000000-0000-4000-8000-00000000000b" {
parent @conversation;
body { Exchange {
exchange @channel; sender @left; receiver @right;
message_kind Asynchronous;
}; };
}
oa_occurrence fragment "Optional inspection" id "10000000-0000-4000-8000-00000000000c" {
parent @conversation;
body { Fragment { operator Optional; branches [@operand]; }; };
}
oa_occurrence operand "When requested" id "10000000-0000-4000-8000-00000000000d" {
parent @fragment;
body { Branch { guard "requested"; occurrences [@nested]; }; };
}
oa_occurrence nested "Inspection occurrence" id "10000000-0000-4000-8000-00000000000e" {
parent @operand;
body { Action { action @inspect; lifeline @right; }; };
}
// Self calls intentionally have no global self-edge: such a relation is
// invalid in the current metamodel. Their unassigned exchange is a known
// incomplete-model warning, while explicit lifelines make Scene drawable.
oa_occurrence self_call "Local call" id "10000000-0000-4000-8000-00000000000f" {
parent @conversation;
body { Exchange {
exchange none; sender @right; receiver @right; message_kind Call;
}; };
}
oa_occurrence self_reply "Local reply" id "10000000-0000-4000-8000-000000000010" {
parent @conversation;
body { Exchange {
exchange none; sender @right; receiver @right;
message_kind Reply; reply_to @self_call;
}; };
}
}