53 lines
2.8 KiB
Plaintext
53 lines
2.8 KiB
Plaintext
// Functional containment is independent of the participant allocations below.
|
|
sa_function handle_reports "Handle distress reports" id "00000000-0000-4000-8000-000000000401" {
|
|
description "A functional decomposition of reporting and assessment.";
|
|
sa_function transmit_report "Transmit report" id "00000000-0000-4000-8000-000000000402" {
|
|
description "Encode and send the vessel's distress report.";
|
|
sa_port report_out "Report output" id "00000000-0000-4000-8000-000000000404" {
|
|
contract { FunctionOutput { outgoing_items [@sa_report_data]; }; };
|
|
}
|
|
}
|
|
// Assessment rationale travels with this declaration when it is reparented.
|
|
sa_function assess_report "Assess report" id "00000000-0000-4000-8000-000000000403" {
|
|
description "Validate the received report and present it to the coordinator.";
|
|
sa_port report_in "Report input" id "00000000-0000-4000-8000-000000000405" {
|
|
contract { FunctionInput { incoming_items [@sa_report_data]; }; };
|
|
}
|
|
} // Assessment remains performed by rescue_system after a hierarchy edit.
|
|
}
|
|
|
|
// This group comment stays in this file; it is not attached to the function above.
|
|
|
|
sa_exchange_item sa_report_data "Digital distress report" id "00000000-0000-4000-8000-000000000406" {
|
|
kind Information;
|
|
sa_data_field encoded_latitude "Encoded latitude" id "00000000-0000-4000-8000-000000000407" {
|
|
type_ref Real;
|
|
unit "degrees north";
|
|
}
|
|
}
|
|
sa_capability coordinate_response "Coordinate distress response" id "00000000-0000-4000-8000-000000000408" {}
|
|
|
|
allocation vessel_transmits "Vessel service transmits" id "00000000-0000-4000-8000-000000000502" {
|
|
source @vessel_service; target @transmit_report;
|
|
}
|
|
allocation system_assesses "System assesses report" id "00000000-0000-4000-8000-000000000503" {
|
|
source @rescue_system; target @assess_report;
|
|
}
|
|
functional_exchange validated_report "Validated report" id "00000000-0000-4000-8000-000000000505" {
|
|
source @transmit_report; source_port @report_out;
|
|
target @assess_report; target_port @report_in;
|
|
items [@sa_report_data];
|
|
}
|
|
port_allocation output_realization "Reporting output realizes function output" id "00000000-0000-4000-8000-000000000506" {
|
|
source @reporting_output; target @report_out;
|
|
}
|
|
port_allocation input_realization "Reporting input realizes function input" id "00000000-0000-4000-8000-000000000507" {
|
|
source @reporting_input; target @report_in;
|
|
}
|
|
exchange_allocation report_transport "Radio reporting carries the function exchange" id "00000000-0000-4000-8000-000000000508" {
|
|
source @radio_reporting; target @validated_report;
|
|
}
|
|
capability_involvement system_contribution "Assessment supports coordination" id "00000000-0000-4000-8000-000000000509" {
|
|
source @assess_report; target @coordinate_response;
|
|
}
|