Experiment with nested source authoring against source3 models
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
arcadia 3;
|
||||
project coastal_ops "Coastal operations" id "00000000-0000-4000-8000-000000000001" {
|
||||
oa_actor vessel "Vessel" id "00000000-0000-4000-8000-000000000101" {}
|
||||
oa_entity center "Rescue center" id "00000000-0000-4000-8000-000000000102" {}
|
||||
oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" {}
|
||||
oa_activity report "Report distress" id "00000000-0000-4000-8000-000000000104" { parent @respond; }
|
||||
oa_activity assess "Assess incident" id "00000000-0000-4000-8000-000000000105" { parent @respond; }
|
||||
oa_exchange_item report_data "Distress report" id "00000000-0000-4000-8000-000000000106" {}
|
||||
allocation vessel_reporting "Vessel reports" id "00000000-0000-4000-8000-000000000107" { source @vessel; target @report; }
|
||||
allocation center_assessment "Center assesses" id "00000000-0000-4000-8000-000000000108" { source @center; target @assess; }
|
||||
interaction distress_message "Distress report" id "00000000-0000-4000-8000-000000000109" { source @report; target @assess; items [@report_data]; }
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
arcadia 3;
|
||||
project coastal_ops "Coastal operations" id "00000000-0000-4000-8000-000000000001" {
|
||||
oa_actor vessel "Vessel" id "00000000-0000-4000-8000-000000000101" {}
|
||||
oa_entity center "Rescue center" id "00000000-0000-4000-8000-000000000102" {}
|
||||
oa_activity respond "Respond to distress" id "00000000-0000-4000-8000-000000000103" {
|
||||
oa_activity report "Report distress" id "00000000-0000-4000-8000-000000000104" {}
|
||||
oa_activity assess "Assess incident" id "00000000-0000-4000-8000-000000000105" {}
|
||||
}
|
||||
oa_exchange_item report_data "Distress report" id "00000000-0000-4000-8000-000000000106" {}
|
||||
allocation vessel_reporting "Vessel reports" id "00000000-0000-4000-8000-000000000107" { source @vessel; target @report; }
|
||||
allocation center_assessment "Center assesses" id "00000000-0000-4000-8000-000000000108" { source @center; target @assess; }
|
||||
interaction distress_message "Distress report" id "00000000-0000-4000-8000-000000000109" { source @report; target @assess; items [@report_data]; }
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
arcadia 3;
|
||||
project reporting_system "Reporting system" id "00000000-0000-4000-8000-000000000002" {
|
||||
sa_system center "Rescue system" id "00000000-0000-4000-8000-000000000201" {}
|
||||
sa_actor vessel "Vessel service" id "00000000-0000-4000-8000-000000000202" {}
|
||||
sa_function manage "Manage reporting" id "00000000-0000-4000-8000-000000000203" {}
|
||||
sa_function send_report "Transmit report" id "00000000-0000-4000-8000-000000000204" { parent @manage; }
|
||||
sa_function assess "Assess report" id "00000000-0000-4000-8000-000000000205" { parent @manage; }
|
||||
sa_exchange_item report_data "Report" id "00000000-0000-4000-8000-000000000206" {}
|
||||
sa_data_field latitude "Latitude" id "00000000-0000-4000-8000-000000000207" { parent @report_data; type_ref Real; unit "degrees north"; }
|
||||
sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000208" { parent @send_report; contract { FunctionOutput { outgoing_items [@report_data]; }; }; }
|
||||
sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000209" { parent @assess; contract { FunctionInput { incoming_items [@report_data]; }; }; }
|
||||
sa_port vessel_out "Vessel output" id "00000000-0000-4000-8000-000000000210" { parent @vessel; contract { Component { kind Flow; orientation Out; }; }; }
|
||||
sa_port center_in "Center input" id "00000000-0000-4000-8000-000000000211" { parent @center; contract { Component { kind Flow; orientation In; }; }; }
|
||||
allocation vessel_transmits "Vessel transmits" id "00000000-0000-4000-8000-000000000212" { source @vessel; target @send_report; }
|
||||
allocation center_assesses "Center assesses" id "00000000-0000-4000-8000-000000000213" { source @center; target @assess; }
|
||||
functional_exchange report_flow "Report flow" id "00000000-0000-4000-8000-000000000214" { source @send_report; target @assess; source_port @report_out; target_port @report_in; items [@report_data]; }
|
||||
boundary_exchange reporting_connection "Reporting connection" id "00000000-0000-4000-8000-000000000215" { source @vessel_out; target @center_in; oriented true; items [@report_data]; }
|
||||
port_allocation transmit_endpoint "Transmit endpoint" id "00000000-0000-4000-8000-000000000216" { source @vessel_out; target @report_out; }
|
||||
port_allocation receive_endpoint "Receive endpoint" id "00000000-0000-4000-8000-000000000217" { source @center_in; target @report_in; }
|
||||
exchange_allocation reports_carried "Reports carried" id "00000000-0000-4000-8000-000000000218" { source @reporting_connection; target @report_flow; }
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
arcadia 3;
|
||||
project reporting_system "Reporting system" id "00000000-0000-4000-8000-000000000002" {
|
||||
sa_system center "Rescue system" id "00000000-0000-4000-8000-000000000201" {
|
||||
sa_port center_in "Center input" id "00000000-0000-4000-8000-000000000211" { contract { Component { kind Flow; orientation In; }; }; }
|
||||
}
|
||||
sa_actor vessel "Vessel service" id "00000000-0000-4000-8000-000000000202" {
|
||||
sa_port vessel_out "Vessel output" id "00000000-0000-4000-8000-000000000210" { contract { Component { kind Flow; orientation Out; }; }; }
|
||||
}
|
||||
sa_function manage "Manage reporting" id "00000000-0000-4000-8000-000000000203" {
|
||||
sa_function send_report "Transmit report" id "00000000-0000-4000-8000-000000000204" {
|
||||
output report_out "Report output" id "00000000-0000-4000-8000-000000000208" items [@report_data];
|
||||
}
|
||||
sa_function assess "Assess report" id "00000000-0000-4000-8000-000000000205" {
|
||||
input report_in "Report input" id "00000000-0000-4000-8000-000000000209" items [@report_data];
|
||||
}
|
||||
}
|
||||
sa_exchange_item report_data "Report" id "00000000-0000-4000-8000-000000000206" {
|
||||
sa_data_field latitude "Latitude" id "00000000-0000-4000-8000-000000000207" { type_ref Real; unit "degrees north"; }
|
||||
}
|
||||
allocation vessel_transmits "Vessel transmits" id "00000000-0000-4000-8000-000000000212" { source @vessel; target @send_report; }
|
||||
allocation center_assesses "Center assesses" id "00000000-0000-4000-8000-000000000213" { source @center; target @assess; }
|
||||
functional_exchange report_flow "Report flow" id "00000000-0000-4000-8000-000000000214" from @report_out to @report_in items [@report_data];
|
||||
boundary_exchange reporting_connection "Reporting connection" id "00000000-0000-4000-8000-000000000215" { source @vessel_out; target @center_in; oriented true; items [@report_data]; }
|
||||
port_allocation transmit_endpoint "Transmit endpoint" id "00000000-0000-4000-8000-000000000216" { source @vessel_out; target @report_out; }
|
||||
port_allocation receive_endpoint "Receive endpoint" id "00000000-0000-4000-8000-000000000217" { source @center_in; target @report_in; }
|
||||
exchange_allocation reports_carried "Reports carried" id "00000000-0000-4000-8000-000000000218" { source @reporting_connection; target @report_flow; }
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
arcadia 3;
|
||||
project reporting_story "Repeated reporting" id "00000000-0000-4000-8000-000000000003" {
|
||||
oa_actor vessel "Vessel" id "00000000-0000-4000-8000-000000000301" {}
|
||||
oa_entity center "Center" id "00000000-0000-4000-8000-000000000302" {}
|
||||
oa_activity report "Report distress" id "00000000-0000-4000-8000-000000000303" {}
|
||||
oa_activity assess "Assess distress" id "00000000-0000-4000-8000-000000000304" {}
|
||||
allocation reporting "Reporting" id "00000000-0000-4000-8000-000000000305" { source @vessel; target @report; }
|
||||
allocation assessment "Assessment" id "00000000-0000-4000-8000-000000000306" { source @center; target @assess; }
|
||||
oa_exchange_item report_data "Report" id "00000000-0000-4000-8000-000000000307" {}
|
||||
interaction report_message "Report" id "00000000-0000-4000-8000-000000000308" { source @report; target @assess; items [@report_data]; }
|
||||
interaction acknowledgement "Acknowledgement" id "00000000-0000-4000-8000-000000000309" { source @assess; target @report; }
|
||||
oa_scenario reports "Repeated reports" id "00000000-0000-4000-8000-000000000310" { viewpoint OperationalActivity; steps [@initial_report, @accepted, @update_report]; }
|
||||
oa_lifeline reporter_line "Reporter" id "00000000-0000-4000-8000-000000000311" { parent @reports; represented @report; }
|
||||
oa_lifeline assessor_line "Assessor" id "00000000-0000-4000-8000-000000000312" { parent @reports; represented @assess; }
|
||||
oa_occurrence initial_report "Initial report" id "00000000-0000-4000-8000-000000000313" {
|
||||
parent @reports;
|
||||
body { Exchange { exchange @report_message; sender @reporter_line; receiver @assessor_line; message_kind Call; reply_to none; values []; }; };
|
||||
}
|
||||
oa_occurrence accepted "Report accepted" id "00000000-0000-4000-8000-000000000314" {
|
||||
parent @reports;
|
||||
body { Exchange { exchange @acknowledgement; sender @assessor_line; receiver @reporter_line; message_kind Reply; reply_to @initial_report; values []; }; };
|
||||
}
|
||||
oa_occurrence update_report "Updated report" id "00000000-0000-4000-8000-000000000315" {
|
||||
parent @reports;
|
||||
precondition "A more recent position is available.";
|
||||
body { Exchange { exchange @report_message; sender @reporter_line; receiver @assessor_line; message_kind Asynchronous; reply_to none; values []; }; };
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
arcadia 3;
|
||||
project reporting_story "Repeated reporting" id "00000000-0000-4000-8000-000000000003" {
|
||||
oa_actor vessel "Vessel" id "00000000-0000-4000-8000-000000000301" {}
|
||||
oa_entity center "Center" id "00000000-0000-4000-8000-000000000302" {}
|
||||
oa_activity report "Report distress" id "00000000-0000-4000-8000-000000000303" {}
|
||||
oa_activity assess "Assess distress" id "00000000-0000-4000-8000-000000000304" {}
|
||||
allocation reporting "Reporting" id "00000000-0000-4000-8000-000000000305" { source @vessel; target @report; }
|
||||
allocation assessment "Assessment" id "00000000-0000-4000-8000-000000000306" { source @center; target @assess; }
|
||||
oa_exchange_item report_data "Report" id "00000000-0000-4000-8000-000000000307" {}
|
||||
interaction report_message "Report" id "00000000-0000-4000-8000-000000000308" { source @report; target @assess; items [@report_data]; }
|
||||
interaction acknowledgement "Acknowledgement" id "00000000-0000-4000-8000-000000000309" { source @assess; target @report; }
|
||||
oa_scenario reports "Repeated reports" id "00000000-0000-4000-8000-000000000310" {
|
||||
viewpoint OperationalActivity;
|
||||
oa_lifeline reporter_line "Reporter" id "00000000-0000-4000-8000-000000000311" { represented @report; }
|
||||
oa_lifeline assessor_line "Assessor" id "00000000-0000-4000-8000-000000000312" { represented @assess; }
|
||||
steps {
|
||||
oa_occurrence initial_report "Initial report" id "00000000-0000-4000-8000-000000000313" {
|
||||
body { Exchange { exchange @report_message; sender @reporter_line; receiver @assessor_line; message_kind Call; reply_to none; values []; }; };
|
||||
}
|
||||
oa_occurrence accepted "Report accepted" id "00000000-0000-4000-8000-000000000314" {
|
||||
body { Exchange { exchange @acknowledgement; sender @assessor_line; receiver @reporter_line; message_kind Reply; reply_to @initial_report; values []; }; };
|
||||
}
|
||||
oa_occurrence update_report "Updated report" id "00000000-0000-4000-8000-000000000315" {
|
||||
precondition "A more recent position is available.";
|
||||
body { Exchange { exchange @report_message; sender @reporter_line; receiver @assessor_line; message_kind Asynchronous; reply_to none; values []; }; };
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user