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; } }