Files
ARCADIA-Studio/crates/oa-core/tests/fixtures/v2-coastal-rescue.arcadia
T

901 lines
28 KiB
Plaintext

arcadia 2;
project mission "Coastal rescue — operational need to system behavior" id "eceea6cd-108b-45a9-9505-8b7fa462af96" {
description "A worked OA/SA example. Compare allocation and functional decomposition views; inspect traces, repeated scenario messages, interface contracts, degraded modes, and external engineering artifacts.";
sa_lifeline vessel_service_lifeline "Vessel service lifeline" id "03b71dc5-435f-4c7f-923a-cb6e672212ba" {
description "";
parent @repeated_distress_reports;
represented @vessel_communication_service;
}
sa_initial start_reporting "Start reporting" id "0deb4c4c-d7cc-4dd9-bcc5-f357387cf978" {
description "";
do_activity "";
entry "";
exit "";
kind Initial;
parent @reporting_quality_region;
}
sa_state_machine reporting_operation_modes "Reporting operation modes" id "1a1b215a-c102-4948-9c88-dabfadc8e08e" {
description "";
parent @rescue_coordination_system;
}
sa_exchange_item backup_electrical_energy "Backup electrical energy" id "1b81d963-06e7-42d3-af31-bf5236829477" {
description "";
kind Energy;
parent none;
}
sa_lifeline coordination_system_lifeline "Coordination system lifeline" id "1f7da722-c91e-4d0e-a344-c1a2511dd96b" {
description "";
parent @repeated_distress_reports;
represented @rescue_coordination_system;
}
sa_mission support_timely_rescue_decisions "Support timely rescue decisions" id "218e9ac0-1fdb-4ce8-bbcb-4cc5c36b3746" {
description "";
parent none;
}
sa_occurrence updated_distress_report "Updated distress report" id "28b8e56d-7ddf-4950-8c30-7385c044cc72" {
body {
Exchange {
exchange @validated_distress_report;
receiver @coordination_system_lifeline;
sender @vessel_service_lifeline;
};
};
description "";
parent @repeated_distress_reports;
postcondition "The incident position is refreshed without creating a second incident.";
precondition "The vessel has more recent position information.";
}
oa_activity assess_incident "Assess incident" id "3388cc0d-0abc-4479-a948-6740266ec236" {
description "";
parent @respond_to_distress;
}
sa_constraint response_time_budget "Response time budget" id "3584d050-0b4e-4620-bbea-8c3c87d2a19f" {
constrained [@classify_incident_and_alert_operator, @validated_distress_report];
description "";
expression "incident_alert_latency <= 120 s";
parent none;
}
sa_system rescue_coordination_system "Rescue coordination system" id "47e28c63-803b-4ea6-af92-e778f62ecc3e" {
description "";
parent none;
}
sa_functional_chain digital_distress_handling "Digital distress handling" id "49743116-7777-4df8-9601-74fd4cba22c0" {
description "";
parent none;
steps [@report_handled];
}
oa_process distress_to_response "Distress to response" id "51c8ed9f-93ea-45fe-8829-e4ec88f09ce5" {
description "";
parent none;
steps [@distress_received];
}
oa_occurrence distress_received "Distress received" id "5e0c0d0e-5eb5-467c-bc35-dfe29d534703" {
body {
Exchange {
exchange @distress_signal;
receiver none;
sender none;
};
};
description "";
parent @distress_to_response;
postcondition "";
precondition "";
}
sa_exchange_item digital_distress_report "Digital distress report" id "5e16affb-7fa4-4a3d-8bfe-6340586ab83f" {
description "";
kind Information;
parent none;
}
oa_capability protect_life_at_sea "Protect life at sea" id "6ca5efd6-2e92-4508-a02d-4013793743cb" {
description "";
parent none;
}
sa_port report_function_output "Report function output" id "6ecf32ed-4009-48ba-b374-3bf156f6c355" {
description "";
direction Out;
interface @distress_reporting_interface;
parent @transmit_distress_report;
}
oa_entity rescue_coordination "Rescue coordination" id "721b68ab-5136-408e-890d-925215d5661e" {
description "";
parent none;
}
sa_capability coordinate_rescue_response "Coordinate rescue response" id "7781bd9f-e788-4049-9af4-9a3eab40d377" {
description "";
parent none;
}
oa_actor vessel_in_distress "Vessel in distress" id "7e8ea298-1c68-4c9e-994d-6008d47f62ce" {
description "";
parent none;
}
oa_exchange_item distress_report "Distress report" id "835c2e84-f4e9-4592-b5df-d205803d97b7" {
description "";
kind Information;
parent none;
}
sa_port system_reporting_input "System reporting input" id "8477d19d-4a62-43bb-a7e3-845b9b3d1002" {
description "";
direction In;
interface @distress_reporting_interface;
parent @rescue_coordination_system;
}
sa_occurrence initial_distress_report "Initial distress report" id "84a0db92-ac74-493a-af29-74ec7715d7fa" {
body {
Exchange {
exchange @validated_distress_report;
receiver @coordination_system_lifeline;
sender @vessel_service_lifeline;
};
};
description "";
parent @repeated_distress_reports;
postcondition "";
precondition "";
}
sa_port vessel_reporting_output "Vessel reporting output" id "a0e18d73-a9ce-4e9e-8ecf-0a54b1412932" {
description "";
direction Out;
interface @distress_reporting_interface;
parent @vessel_communication_service;
}
sa_function transmit_distress_report "Transmit distress report" id "b0a649d6-0558-48f5-8437-161be8329159" {
description "";
parent @manage_distress_response;
}
sa_function classify_incident_and_alert_operator "Classify incident and alert operator" id "b1cc95c7-1d2f-42d0-9d93-587954bd563b" {
description "";
parent @manage_distress_response;
}
sa_occurrence report_handled "Report handled" id "bcdb57f1-5fa8-46ce-9498-b467cea5d98f" {
body {
Exchange {
exchange @validated_distress_report;
receiver none;
sender none;
};
};
description "";
parent @digital_distress_handling;
postcondition "";
precondition "";
}
sa_function manage_distress_response "Manage distress response" id "c64f93a7-bf47-42b5-b432-7589b9144f2c" {
description "";
parent none;
}
sa_actor vessel_communication_service "Vessel communication service" id "cfb45cf5-bebe-4632-9bde-0ee023c42583" {
description "";
parent none;
}
sa_mode normal_reporting "Normal reporting" id "d00b5d17-8660-4955-a70d-988a6e6b6c4e" {
description "";
do_activity "";
entry "";
exit "";
kind Mode;
parent @reporting_quality_region;
}
sa_data_field reported_latitude "Reported latitude" id "d0f0b612-f0b9-451e-b0d2-5e74eedb2f36" {
description "";
maximum 1;
minimum 1;
parent @digital_distress_report;
type_ref Real;
unit "degrees north";
}
oa_activity report_distress "Report distress" id "d50e92c4-840e-4822-bcf7-033feb2eb879" {
description "";
parent @respond_to_distress;
}
sa_mode degraded_reporting "Degraded reporting" id "d7fad7e9-d799-4fa6-b49f-1304d3285b5e" {
description "";
do_activity "";
entry "";
exit "";
kind Mode;
parent @reporting_quality_region;
}
sa_exchange_item rescue_supply_package "Rescue supply package" id "eb8cf40e-8194-403f-9896-f968790a9504" {
description "";
kind Material;
parent none;
}
sa_region reporting_quality_region "Reporting quality region" id "edc1ad70-8fc9-42a1-a668-05c4738bb225" {
description "";
parent @reporting_operation_modes;
}
sa_interface distress_reporting_interface "Distress reporting interface" id "f008c7a3-9bda-4b7e-a4c5-8ee736183cb4" {
description "";
items [@digital_distress_report];
parent none;
}
oa_role incident_coordinator "Incident coordinator" id "f59b18f3-aa83-4050-9bc8-06ea0efaaa4b" {
description "";
parent none;
}
sa_scenario repeated_distress_reports "Repeated distress reports" id "f7514a9c-933c-4133-8b77-37c0dccd935f" {
context @coordinate_rescue_response;
description "";
parent none;
postcondition "The operator has a classified incident with the latest vessel report.";
precondition "A vessel has detected an emergency and the reporting service is available.";
steps [@initial_distress_report, @updated_distress_report];
}
oa_activity respond_to_distress "Respond to distress" id "fa23a2a8-6f13-49e3-be47-f757f26d5c9f" {
description "";
parent none;
}
sa_port assessment_function_input "Assessment function input" id "fa6051e1-0e60-4a1e-bfa1-f7111e06b74f" {
description "";
direction In;
interface @distress_reporting_interface;
parent @classify_incident_and_alert_operator;
}
state_transition signal_restored "Signal restored" id "00e36d6e-78e8-476a-bbd6-a6e3bcd5a018" {
description "";
effect "Clear the degraded-reporting alert.";
guard "position_is_current";
source @degraded_reporting;
target @normal_reporting;
trigger "validated_report_received";
}
state_action review_on_degraded_entry "Review on degraded entry" id "044cdc5f-a34a-4e51-9774-c1774a33dc91" {
description "";
phase Entry;
source @degraded_reporting;
target @classify_incident_and_alert_operator;
}
allocation assesses_incident "Assesses incident" id "17fef4ab-acc7-4f21-b70d-5d64f6ad1261" {
description "";
source @rescue_coordination;
target @assess_incident;
}
availability assessment_in_degraded_mode "Assessment in degraded mode" id "2c092728-eafb-47e3-bcc7-8b795e36a25e" {
description "";
source @classify_incident_and_alert_operator;
target @degraded_reporting;
}
state_transition signal_degraded "Signal degraded" id "331c78a2-b6b3-452f-a238-84a6a3df3547" {
description "";
effect "Flag the incident and request an operator review.";
guard "seconds_since_last_report > 30";
source @normal_reporting;
target @degraded_reporting;
trigger "report_timeout";
}
capability_involvement system_capability_support "System capability support" id "39ff3786-d94c-40ad-90fa-c009ab6f53f9" {
description "";
source @classify_incident_and_alert_operator;
target @coordinate_rescue_response;
}
chain_involvement operational_realization "Operational realization" id "41d934ba-76f7-4425-b433-2d4d293ab0df" {
description "";
source @distress_to_response;
target @protect_life_at_sea;
}
role_realization fulfils_coordinator_role "Fulfils coordinator role" id "4cf85b5a-eb4c-40f1-8bfc-06b30b24a9ef" {
description "";
source @rescue_coordination;
target @incident_coordinator;
}
state_transition initialize_reporting "Initialize reporting" id "5d34a01d-0dad-4a68-9b3b-998dce0d6e9b" {
description "";
effect "";
guard "";
source @start_reporting;
target @normal_reporting;
trigger "";
}
capability_involvement operational_contribution "Operational contribution" id "64ab242b-6043-4452-9b28-7205fec309df" {
description "";
source @assess_incident;
target @protect_life_at_sea;
}
interaction distress_signal "Distress signal" id "689a8e09-b7ca-4d97-b551-a21e3b438bfe" {
description "";
items [@distress_report];
source @report_distress;
target @assess_incident;
}
allocation vessel_transmission "Vessel transmission" id "6a82e148-d38e-4103-8481-046b4c474952" {
description "";
source @vessel_communication_service;
target @transmit_distress_report;
}
interface_requirement reporting_service_required "Reporting service required" id "7c32cbe5-0821-4793-a37f-9f017fc8a3f4" {
description "";
source @rescue_coordination_system;
target @distress_reporting_interface;
}
chain_involvement functional_chain_support "Functional chain support" id "92468388-63c2-4f2c-a1fd-2c3f27b76398" {
description "";
source @digital_distress_handling;
target @coordinate_rescue_response;
}
allocation system_assessment "System assessment" id "93e3a60d-33c0-4110-83d9-63f2902d5eeb" {
description "";
source @rescue_coordination_system;
target @classify_incident_and_alert_operator;
}
role_assignment coordinates_assessment "Coordinates assessment" id "a06f90b9-361b-4da2-86a9-0447df519e0c" {
description "";
source @incident_coordinator;
target @assess_incident;
}
functional_exchange validated_distress_report "Validated distress report" id "ae3ceb52-113f-40b3-8a90-fd6e6b8c775d" {
description "";
items [@digital_distress_report];
source @transmit_distress_report;
source_port @report_function_output;
target @classify_incident_and_alert_operator;
target_port @assessment_function_input;
}
availability assessment_in_normal_mode "Assessment in normal mode" id "bce2587e-f47c-4d85-ac6d-a098170bbaa5" {
description "";
source @classify_incident_and_alert_operator;
target @normal_reporting;
}
exchange_allocation report_carried_by_connection "Report carried by connection" id "d6a2c8d2-2a4f-4d90-a490-c2c661db4423" {
description "";
source @distress_reporting_connection;
target @validated_distress_report;
}
mission_capability mission_capability "Mission capability" id "e88a9747-0d1c-4813-8273-e6710f622e9b" {
description "";
source @support_timely_rescue_decisions;
target @coordinate_rescue_response;
}
boundary_exchange distress_reporting_connection "Distress reporting connection" id "eb7ae249-165c-4717-bebc-da476eebb05e" {
description "";
items [@digital_distress_report];
source @vessel_reporting_output;
target @system_reporting_input;
}
interface_provision reporting_service_provided "Reporting service provided" id "ec3f9e3f-5134-49af-9969-29f818dfcb46" {
description "";
source @vessel_communication_service;
target @distress_reporting_interface;
}
allocation reports_distress "Reports distress" id "f844c555-b407-402c-81c9-4928245249ca" {
description "";
source @vessel_in_distress;
target @report_distress;
}
diagram sa_system_boundary_and_functions "SA system boundary and functions" id "064d0c1c-5db0-4516-ab6f-5bbf18d02e6a" {
description "A focused projection of the shared engineering model.";
layer Sa;
projection Allocation;
}
node view_vessel_communication_service id "00edf6bc-b857-439a-8747-f1f66c1675e2" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @vessel_communication_service;
position {
x 60.0;
y 60.0;
};
size {
height 166.0;
width 272.0;
};
}
node view_transmit_distress_report id "035dab75-ef9e-4ca3-a107-87262e3c680b" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @transmit_distress_report;
position {
x 84.0;
y 108.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_support_timely_rescue_decisions id "16b5055a-c98b-4276-b564-85b7fe1f020f" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @support_timely_rescue_decisions;
position {
x 392.0;
y 60.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_digital_distress_handling id "4aa2fb09-b367-402c-a438-d4f918f04e08" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @digital_distress_handling;
position {
x 676.0;
y 60.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_rescue_coordination_system id "5a6d6a1c-9915-4e33-8299-b512c50b18f5" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @rescue_coordination_system;
position {
x 960.0;
y 60.0;
};
size {
height 166.0;
width 272.0;
};
}
node view_manage_distress_response id "621e0e5e-d1be-4693-b95a-7c48d36e07b4" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @manage_distress_response;
position {
x 60.0;
y 286.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_coordinate_rescue_response id "9f41eaff-3456-494b-b136-9f6f01afd90f" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @coordinate_rescue_response;
position {
x 344.0;
y 286.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_classify_incident_and_alert_operator id "e75a6c26-dc64-4fa3-bc8f-a1a38e1f9b68" {
collapsed false;
diagram @sa_system_boundary_and_functions;
element @classify_incident_and_alert_operator;
position {
x 984.0;
y 108.0;
};
size {
height 94.0;
width 224.0;
};
}
diagram sa_functional_decomposition "SA functional decomposition" id "a67786d6-5b08-4b06-a0c8-584a04f179ef" {
description "A focused projection of the shared engineering model.";
layer Sa;
projection Decomposition;
}
node view_classify_incident_and_alert_operator_5ae489f2 id "5ae489f2-4be1-4842-b464-37900983e333" {
collapsed false;
diagram @sa_functional_decomposition;
element @classify_incident_and_alert_operator;
position {
x 84.0;
y 108.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_manage_distress_response_80ab61e0 id "80ab61e0-d1f2-4008-9858-0759bdaa02e3" {
collapsed false;
diagram @sa_functional_decomposition;
element @manage_distress_response;
position {
x 60.0;
y 60.0;
};
size {
height 276.0;
width 272.0;
};
}
node view_transmit_distress_report_e02431fd id "e02431fd-c27e-4b48-9c94-37b8e3d55375" {
collapsed false;
diagram @sa_functional_decomposition;
element @transmit_distress_report;
position {
x 84.0;
y 218.0;
};
size {
height 94.0;
width 224.0;
};
}
diagram oa_participants_and_activities "OA participants and activities" id "d7f59b88-4a9b-4906-b859-1c6d044bbb52" {
description "A focused projection of the shared engineering model.";
layer Oa;
projection Allocation;
}
node view_rescue_coordination id "2f5fed31-e2dc-419d-9ebc-a5c9e9682277" {
collapsed false;
diagram @oa_participants_and_activities;
element @rescue_coordination;
position {
x 60.0;
y 60.0;
};
size {
height 166.0;
width 272.0;
};
}
node view_protect_life_at_sea id "91fe2d63-0083-4df2-9c29-563766e1b706" {
collapsed false;
diagram @oa_participants_and_activities;
element @protect_life_at_sea;
position {
x 392.0;
y 60.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_distress_to_response id "a045fd40-84ea-48f3-a6d4-95641492d960" {
collapsed false;
diagram @oa_participants_and_activities;
element @distress_to_response;
position {
x 676.0;
y 60.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_report_distress id "a2cabc9f-c12c-4eff-8acf-0e9b86829cbe" {
collapsed false;
diagram @oa_participants_and_activities;
element @report_distress;
position {
x 984.0;
y 108.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_assess_incident id "acaa5a3d-51c4-45da-b5aa-4825bccd747c" {
collapsed false;
diagram @oa_participants_and_activities;
element @assess_incident;
position {
x 84.0;
y 108.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_vessel_in_distress id "af3a61b3-db02-400f-bd18-b4422e2db7a7" {
collapsed false;
diagram @oa_participants_and_activities;
element @vessel_in_distress;
position {
x 960.0;
y 60.0;
};
size {
height 166.0;
width 272.0;
};
}
node view_respond_to_distress id "e4c687d7-4a44-4dee-a2d8-bdbe6a5cf649" {
collapsed false;
diagram @oa_participants_and_activities;
element @respond_to_distress;
position {
x 60.0;
y 286.0;
};
size {
height 94.0;
width 224.0;
};
}
node view_incident_coordinator id "fcbda72a-5478-4d77-8330-16f89cdefc37" {
collapsed false;
diagram @oa_participants_and_activities;
element @incident_coordinator;
position {
x 344.0;
y 286.0;
};
size {
height 94.0;
width 224.0;
};
}
artifact console_enclosure_cad "Console enclosure CAD" id "091b5a40-1631-49ef-8b53-1471c016a13f" {
description "Illustrative external engineering reference; opening a model does not fetch it.";
fragment none;
owner @rescue_coordination_system;
relation References;
revision "B.3";
uri "cad://rescue-console/enclosure.step";
}
artifact response_implementation "Response implementation" id "0b09f95e-0545-44c3-b687-84489ce1422b" {
description "Illustrative external engineering reference; opening a model does not fetch it.";
fragment none;
owner @classify_incident_and_alert_operator;
relation Implements;
revision "design-v2";
uri "git+https://example.org/rescue/control?path=src/response.rs";
}
trace trace_respond_to_distress "Respond to distress ↔ Manage distress response" id "1d0a908f-9e22-42b7-9aac-26bbe3f5df78" {
baseline {
oa {
description "";
name "Respond to distress";
};
sa {
description "";
name "Manage distress response";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Refinement;
oa @respond_to_distress;
sa @manage_distress_response;
}
trace trace_rescue_coordination "Rescue coordination ↔ Rescue coordination system" id "49f2b55a-6dcc-44ba-a68f-a305942db7c9" {
baseline {
oa {
description "";
name "Rescue coordination";
};
sa {
description "";
name "Rescue coordination system";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Participant;
oa @rescue_coordination;
sa @rescue_coordination_system;
}
trace trace_distress_to_response "Distress to response ↔ Digital distress handling" id "4ac98979-6c84-4a66-b043-373b70bb5203" {
baseline {
oa {
description "";
name "Distress to response";
};
sa {
description "";
name "Digital distress handling";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Sequence;
oa @distress_to_response;
sa @digital_distress_handling;
}
trace trace_protect_life_at_sea "Protect life at sea ↔ Coordinate rescue response" id "4b6acf23-dab3-462d-b45f-066aea916932" {
baseline {
oa {
description "";
name "Protect life at sea";
};
sa {
description "";
name "Coordinate rescue response";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Capability;
oa @protect_life_at_sea;
sa @coordinate_rescue_response;
}
trace trace_distress_signal "Distress signal ↔ Validated distress report" id "587cca51-69e8-47e7-9674-32ff49926a22" {
baseline {
oa {
description "";
name "Distress signal";
};
sa {
description "";
name "Validated distress report";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Exchange;
oa @distress_signal;
sa @validated_distress_report;
}
trace trace_distress_report "Distress report ↔ Digital distress report" id "7790684b-220f-443d-8754-52c29414367f" {
baseline {
oa {
description "";
name "Distress report";
};
sa {
description "";
name "Digital distress report";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Item;
oa @distress_report;
sa @digital_distress_report;
}
trace trace_vessel_in_distress "Vessel in distress ↔ Vessel communication service" id "9a8101e4-ebce-4836-a0e3-63440c2e1e87" {
baseline {
oa {
description "";
name "Vessel in distress";
};
sa {
description "";
name "Vessel communication service";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Participant;
oa @vessel_in_distress;
sa @vessel_communication_service;
}
trace trace_assess_incident "Assess incident ↔ Classify incident and alert operator" id "b8fee65b-21da-4a27-9b42-575d417bd942" {
baseline {
oa {
description "";
name "Assess incident";
};
sa {
description "";
name "Classify incident and alert operator";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Refinement;
oa @assess_incident;
sa @classify_incident_and_alert_operator;
}
trace trace_distress_received "Distress received ↔ Report handled" id "be4365d6-2a43-433c-935f-c039b266242f" {
baseline {
oa {
description "";
name "Distress received";
};
sa {
description "";
name "Report handled";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Scenario;
oa @distress_received;
sa @report_handled;
}
trace trace_report_distress "Report distress ↔ Transmit distress report" id "d3f224a5-0b2d-4eba-93c9-232b9e84e742" {
baseline {
oa {
description "";
name "Report distress";
};
sa {
description "";
name "Transmit distress report";
};
};
description "Reviewed OA/SA correspondence in the coastal rescue example.";
kind Refinement;
oa @report_distress;
sa @transmit_distress_report;
}
}