Commit 29643af2 authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Add documentation to tsp-1 test

parent 4851081f
KAZOO=../../kazoo
all: test-parse
cd output/concurrency_view && ocarina -x main.aadl
cd output/build && ocarina -x main.aadl
test-parse: clean
$(KAZOO) --gw -p \
......
this is a DISTRIBUTED system with TSP on one node, and x86 on the other node, with a serial bus in between
---------------------------------------------------
-- AADL2.2
-- TASTE type concurrencyview
--
-- generated code: do not edit
---------------------------------------------------
PROPERTY SET AI IS
Root_System : AADLSTRING
APPLIES TO(SYSTEM IMPLEMENTATION);
Disabled_Processing_Tools : LIST OF AADLSTRING
APPLIES TO(SYSTEM IMPLEMENTATION);
END AI;
PACKAGE concurrencyview::CV
PUBLIC
WITH AI;
WITH AIR::portpooling;
WITH DataView;
WITH TSP::DataView;
WITH Arinc653;
WITH ocarina_processors_leon;
WITH ocarina_processors_x86;
WITH deploymentview::DV::Platform;
WITH deploymentview::DV::Payload;
PROCESSOR Platform_leon_rtems_posix_cv
EXTENDS ocarina_processors_leon::leon
END Platform_leon_rtems_posix_cv;
PROCESSOR IMPLEMENTATION Platform_leon_rtems_posix_cv.final
EXTENDS ocarina_processors_leon::leon.rtems_posix
SUBCOMPONENTS
Partition0_VP : VIRTUAL PROCESSOR deploymentview::DV::Platform::Partition0_VP.others;
Partition1_VP : VIRTUAL PROCESSOR deploymentview::DV::Platform::Partition1_VP.others;
PROPERTIES
SCHEDULING_PROTOCOL => (POSIX_1003_Highest_Priority_First_Protocol) APPLIES TO Partition0_VP;
SCHEDULING_PROTOCOL => (POSIX_1003_Highest_Priority_First_Protocol) APPLIES TO Partition1_VP;
ARINC653::DAL => LEVEL_A APPLIES TO Partition0_VP;
ARINC653::DAL => LEVEL_A APPLIES TO Partition1_VP;
END Platform_leon_rtems_posix_cv.final;
PROCESSOR Payload_x86_linux32_cv
EXTENDS ocarina_processors_x86::x86
END Payload_x86_linux32_cv;
PROCESSOR IMPLEMENTATION Payload_x86_linux32_cv.final
EXTENDS ocarina_processors_x86::x86.linux32
END Payload_x86_linux32_cv.final;
PROCESS Partition0
EXTENDS deploymentview::DV::Platform::Partition0
END Partition0;
PROCESS IMPLEMENTATION Partition0.final
SUBCOMPONENTS
AOCS_readSensors : THREAD AOCS_readSensors.others;
AOCS_updateActuators : THREAD AOCS_updateActuators.others;
AOCS_pi_readSensors : SUBPROGRAM AOCS_pi_readSensors.final;
AOCS_pi_updateActuators : SUBPROGRAM AOCS_pi_updateActuators.final;
END Partition0.final;
PROCESS Partition1
EXTENDS deploymentview::DV::Platform::Partition1
FEATURES
OUTPORT_TM_TC_receiveTC_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_sendTM_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_receiveP1_TM_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : IN EVENT DATA PORT TSP::DataView::MyInteger;
INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : IN EVENT DATA PORT TSP::DataView::MyInteger;
END Partition1;
PROCESS IMPLEMENTATION Partition1.final
SUBCOMPONENTS
TM_TC_receiveTC : THREAD TM_TC_receiveTC.others;
TM_TC_sendTM : THREAD TM_TC_sendTM.others;
TM_TC_receiveP1_TM : THREAD TM_TC_receiveP1_TM.others;
TM_TC_receiveP2_TM : THREAD TM_TC_receiveP2_TM.others;
TM_TC_pi_receiveTC : SUBPROGRAM TM_TC_pi_receiveTC.final;
TM_TC_pi_sendTM : SUBPROGRAM TM_TC_pi_sendTM.final;
TM_TC_pi_receiveP1_TM : SUBPROGRAM TM_TC_pi_receiveP1_TM.final;
TM_TC_pi_receiveP2_TM : SUBPROGRAM TM_TC_pi_receiveP2_TM.final;
port_poller : THREAD AIR::portpooling::port_poller.i;
CONNECTIONS
PORT TM_TC_receiveTC.OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC -> OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC;
PORT TM_TC_sendTM.OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC -> OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC;
PORT TM_TC_receiveP1_TM.OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC -> OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC;
PORT TM_TC_receiveP2_TM.OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC -> OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC;
PORT TM_TC_receiveTC.OUTPORT_TM_TC_receiveTC_Payload2_receiveP2_TC -> OUTPORT_TM_TC_receiveTC_Payload2_receiveP2_TC;
PORT TM_TC_sendTM.OUTPORT_TM_TC_sendTM_Payload2_receiveP2_TC -> OUTPORT_TM_TC_sendTM_Payload2_receiveP2_TC;
PORT TM_TC_receiveP1_TM.OUTPORT_TM_TC_receiveP1_TM_Payload2_receiveP2_TC -> OUTPORT_TM_TC_receiveP1_TM_Payload2_receiveP2_TC;
PORT TM_TC_receiveP2_TM.OUTPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC -> OUTPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC;
PORT INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC -> TM_TC_receiveP1_TM.INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC;
PORT INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC -> TM_TC_receiveP2_TM.INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC;
END Partition1.final;
PROCESS x86_partition
EXTENDS deploymentview::DV::Payload::x86_partition
FEATURES
OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : OUT EVENT DATA PORT TSP::DataView::MyInteger;
OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : OUT EVENT DATA PORT TSP::DataView::MyInteger;
INPORT_Payload2_receiveP2_TC_TM_TC_receiveTC : IN EVENT PORT ;
INPORT_Payload2_receiveP2_TC_TM_TC_sendTM : IN EVENT PORT ;
INPORT_Payload2_receiveP2_TC_TM_TC_receiveP1_TM : IN EVENT PORT ;
INPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : IN EVENT PORT ;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC : IN EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_sendTM : IN EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : IN EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM : IN EVENT DATA PORT TSP::DataView::MyEnum;
END x86_partition;
PROCESS IMPLEMENTATION x86_partition.final
SUBCOMPONENTS
Payload1_receiveP1_TC : THREAD Payload1_receiveP1_TC.others;
Payload2_receiveP2_TC : THREAD Payload2_receiveP2_TC.others;
Payload1_pi_receiveP1_TC : SUBPROGRAM Payload1_pi_receiveP1_TC.final;
Payload2_pi_receiveP2_TC : SUBPROGRAM Payload2_pi_receiveP2_TC.final;
port_poller : THREAD AIR::portpooling::port_poller.i;
CONNECTIONS
PORT Payload1_receiveP1_TC.OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM -> OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM;
PORT Payload2_receiveP2_TC.OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM -> OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM;
PORT INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC -> Payload1_receiveP1_TC.INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC;
PORT INPORT_Payload1_receiveP1_TC_TM_TC_sendTM -> Payload1_receiveP1_TC.INPORT_Payload1_receiveP1_TC_TM_TC_sendTM;
PORT INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM -> Payload1_receiveP1_TC.INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM;
PORT INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM -> Payload1_receiveP1_TC.INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM;
PORT INPORT_Payload2_receiveP2_TC_TM_TC_receiveTC -> Payload2_receiveP2_TC.INPORT_Payload2_receiveP2_TC_TM_TC_receiveTC;
PORT INPORT_Payload2_receiveP2_TC_TM_TC_sendTM -> Payload2_receiveP2_TC.INPORT_Payload2_receiveP2_TC_TM_TC_sendTM;
PORT INPORT_Payload2_receiveP2_TC_TM_TC_receiveP1_TM -> Payload2_receiveP2_TC.INPORT_Payload2_receiveP2_TC_TM_TC_receiveP1_TM;
PORT INPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM -> Payload2_receiveP2_TC.INPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM;
END x86_partition.final;
SYSTEM deploymentview
END deploymentview;
SYSTEM IMPLEMENTATION deploymentview.final
SUBCOMPONENTS
serial_generic_cv : BUS ocarina_buses::serial.generic;
Platform_generic_serial_raw_cv : DEVICE deploymentview::DV::Platform::generic_serial_raw.others;
Payload_generic_serial_raw_cv : DEVICE deploymentview::DV::Payload::generic_serial_raw.others;
Partition0 : PROCESS Partition0.final;
Partition1 : PROCESS Partition1.final;
x86_partition : PROCESS x86_partition.final;
Platform_leon_rtems_posix_cv : PROCESSOR Platform_leon_rtems_posix_cv.final;
Payload_x86_linux32_cv : PROCESSOR Payload_x86_linux32_cv.final;
Platform_main_memory : MEMORY deploymentview::DV::Platform::main_memory.others;
CONNECTIONS
Partition1_INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : PORT x86_partition.OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM -> Partition1.INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC;
Partition1_INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : PORT x86_partition.OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM -> Partition1.INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC;
x86_partition_INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC : PORT Partition1.OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC -> x86_partition.INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC;
x86_partition_INPORT_Payload1_receiveP1_TC_TM_TC_sendTM : PORT Partition1.OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC -> x86_partition.INPORT_Payload1_receiveP1_TC_TM_TC_sendTM;
x86_partition_INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : PORT Partition1.OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC -> x86_partition.INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM;
x86_partition_INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM : PORT Partition1.OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC -> x86_partition.INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM;
x86_partition_INPORT_Payload2_receiveP2_TC_TM_TC_receiveTC : PORT Partition1.OUTPORT_TM_TC_receiveTC_Payload2_receiveP2_TC -> x86_partition.INPORT_Payload2_receiveP2_TC_TM_TC_receiveTC;
x86_partition_INPORT_Payload2_receiveP2_TC_TM_TC_sendTM : PORT Partition1.OUTPORT_TM_TC_sendTM_Payload2_receiveP2_TC -> x86_partition.INPORT_Payload2_receiveP2_TC_TM_TC_sendTM;
x86_partition_INPORT_Payload2_receiveP2_TC_TM_TC_receiveP1_TM : PORT Partition1.OUTPORT_TM_TC_receiveP1_TM_Payload2_receiveP2_TC -> x86_partition.INPORT_Payload2_receiveP2_TC_TM_TC_receiveP1_TM;
x86_partition_INPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : PORT Partition1.OUTPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC -> x86_partition.INPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM;
serial_generic_cv_Platform_generic_serial_raw_cv : BUS ACCESS serial_generic_cv -> Platform_generic_serial_raw_cv.link;
serial_generic_cv_Payload_generic_serial_raw_cv : BUS ACCESS serial_generic_cv -> Payload_generic_serial_raw_cv.link;
PROPERTIES
AI::ROOT_SYSTEM => "generated";
ACTUAL_PROCESSOR_BINDING => (REFERENCE(Platform_leon_rtems_posix_cv.Partition0_VP)) APPLIES TO Partition0;
ACTUAL_PROCESSOR_BINDING => (REFERENCE(Platform_leon_rtems_posix_cv.Partition1_VP)) APPLIES TO Partition1;
ACTUAL_PROCESSOR_BINDING => (REFERENCE(Payload_x86_linux32_cv)) APPLIES TO x86_partition;
ACTUAL_MEMORY_BINDING => (Reference(Platform_main_memory.Partition0_Segment)) APPLIES TO Partition0;
ACTUAL_MEMORY_BINDING => (Reference(Platform_main_memory.Partition1_Segment)) APPLIES TO Partition1;
ARINC653::MODULE_MAJOR_FRAME => 100 ms APPLIES TO Platform_leon_rtems_posix_cv;
ARINC653::MODULE_SCHEDULE => (
[PARTITION=>Reference(Platform_leon_rtems_posix_cv.Partition0_VP);Duration=>50 ms;PERIODIC_PROCESSING_START=>FALSE;],
[PARTITION=>Reference(Platform_leon_rtems_posix_cv.Partition1_VP);Duration=>50 ms;PERIODIC_PROCESSING_START=>FALSE;]
) APPLIES TO Platform_leon_rtems_posix_cv;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP1_TC_vt_TM_TC_receiveTC;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP1_TC_vt_TM_TC_sendTM;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP1_TC_vt_TM_TC_receiveP1_TM;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP1_TC_vt_TM_TC_receiveP2_TM;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP2_TC_vt_TM_TC_receiveTC;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP2_TC_vt_TM_TC_sendTM;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP2_TC_vt_TM_TC_receiveP1_TM;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO x86_partition_receiveP2_TC_vt_TM_TC_receiveP2_TM;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO Partition1_receiveP1_TM_vt_Payload1_receiveP1_TC;
ACTUAL_CONNECTION_BINDING => (REFERENCE(serial_generic_cv)) APPLIES TO Partition1_receiveP2_TM_vt_Payload2_receiveP2_TC;
ACTUAL_PROCESSOR_BINDING => (REFERENCE(Platform_leon_rtems_posix_cv)) APPLIES TO Platform_generic_serial_raw_cv;
ACTUAL_PROCESSOR_BINDING => (REFERENCE(Payload_x86_linux32_cv)) APPLIES TO Payload_generic_serial_raw_cv;
PERIOD => 50 ms APPLIES TO Partition1.port_poller;
END deploymentview.final;
THREAD AOCS_readSensors
END AOCS_readSensors;
THREAD IMPLEMENTATION AOCS_readSensors.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM AOCS_pi_readSensors;
};
PROPERTIES
DISPATCH_PROTOCOL => Periodic;
PERIOD => 100 ms;
DEADLINE => 100 ms;
COMPUTE_EXECUTION_TIME => 0 ms..2 ms;
ANNEX behavior_specification {**
**};
END AOCS_readSensors.others;
THREAD AOCS_updateActuators
END AOCS_updateActuators;
THREAD IMPLEMENTATION AOCS_updateActuators.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM AOCS_pi_updateActuators;
};
PROPERTIES
DISPATCH_PROTOCOL => Periodic;
PERIOD => 100 ms;
DEADLINE => 100 ms;
COMPUTE_EXECUTION_TIME => 0 ms..5 ms;
ANNEX behavior_specification {**
**};
END AOCS_updateActuators.others;
THREAD TM_TC_receiveTC
FEATURES
OUTPORT_TM_TC_receiveTC_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
END TM_TC_receiveTC;
THREAD IMPLEMENTATION TM_TC_receiveTC.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM TM_TC_pi_receiveTC;
};
CONNECTIONS
MyCall_OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC : PARAMETER MyCall.OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC -> OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC;
PROPERTIES
DISPATCH_PROTOCOL => Periodic;
PERIOD => 200 ms;
DEADLINE => 200 ms;
COMPUTE_EXECUTION_TIME => 0 ms..10 ms;
ANNEX behavior_specification {**
**};
END TM_TC_receiveTC.others;
THREAD TM_TC_sendTM
FEATURES
OUTPORT_TM_TC_sendTM_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
END TM_TC_sendTM;
THREAD IMPLEMENTATION TM_TC_sendTM.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM TM_TC_pi_sendTM;
};
CONNECTIONS
MyCall_OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC : PARAMETER MyCall.OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC -> OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC;
PROPERTIES
DISPATCH_PROTOCOL => Periodic;
PERIOD => 200 ms;
DEADLINE => 200 ms;
COMPUTE_EXECUTION_TIME => 0 ms..20 ms;
ANNEX behavior_specification {**
**};
END TM_TC_sendTM.others;
THREAD TM_TC_receiveP1_TM
FEATURES
INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : IN EVENT DATA PORT TSP::DataView::MyInteger;
OUTPORT_TM_TC_receiveP1_TM_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
END TM_TC_receiveP1_TM;
THREAD IMPLEMENTATION TM_TC_receiveP1_TM.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM TM_TC_pi_receiveP1_TM;
};
CONNECTIONS
MyCall_INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : PARAMETER INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC -> MyCall.INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC;
MyCall_OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : PARAMETER MyCall.OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC -> OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC;
PROPERTIES
DISPATCH_PROTOCOL => Sporadic;
PERIOD => 300 ms;
DEADLINE => 300 ms;
COMPUTE_EXECUTION_TIME => 0 ms..5 ms;
ANNEX behavior_specification {**
**};
END TM_TC_receiveP1_TM.others;
THREAD TM_TC_receiveP2_TM
FEATURES
INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : IN EVENT DATA PORT TSP::DataView::MyInteger;
OUTPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : OUT EVENT PORT ;
OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC : OUT EVENT DATA PORT TSP::DataView::MyEnum;
END TM_TC_receiveP2_TM;
THREAD IMPLEMENTATION TM_TC_receiveP2_TM.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM TM_TC_pi_receiveP2_TM;
};
CONNECTIONS
MyCall_INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : PARAMETER INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC -> MyCall.INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC;
MyCall_OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC : PARAMETER MyCall.OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC -> OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC;
PROPERTIES
DISPATCH_PROTOCOL => Sporadic;
PERIOD => 400 ms;
DEADLINE => 400 ms;
COMPUTE_EXECUTION_TIME => 0 ms..10 ms;
ANNEX behavior_specification {**
**};
END TM_TC_receiveP2_TM.others;
THREAD Payload1_receiveP1_TC
FEATURES
INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC : IN EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_sendTM : IN EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : IN EVENT DATA PORT TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM : IN EVENT DATA PORT TSP::DataView::MyEnum;
OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : OUT EVENT DATA PORT TSP::DataView::MyInteger;
END Payload1_receiveP1_TC;
THREAD IMPLEMENTATION Payload1_receiveP1_TC.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM Payload1_pi_receiveP1_TC;
};
CONNECTIONS
MyCall_INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC : PARAMETER INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC -> MyCall.INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC;
MyCall_INPORT_Payload1_receiveP1_TC_TM_TC_sendTM : PARAMETER INPORT_Payload1_receiveP1_TC_TM_TC_sendTM -> MyCall.INPORT_Payload1_receiveP1_TC_TM_TC_sendTM;
MyCall_INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : PARAMETER INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM -> MyCall.INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM;
MyCall_INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM : PARAMETER INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM -> MyCall.INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM;
MyCall_OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : PARAMETER MyCall.OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM -> OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM;
PROPERTIES
DISPATCH_PROTOCOL => Sporadic;
PERIOD => 200 ms;
DEADLINE => 200 ms;
COMPUTE_EXECUTION_TIME => 0 ms..2 ms;
ANNEX behavior_specification {**
**};
END Payload1_receiveP1_TC.others;
THREAD Payload2_receiveP2_TC
FEATURES
INPORT_Payload2_receiveP2_TC_TM_TC_receiveTC : IN EVENT PORT ;
INPORT_Payload2_receiveP2_TC_TM_TC_sendTM : IN EVENT PORT ;
INPORT_Payload2_receiveP2_TC_TM_TC_receiveP1_TM : IN EVENT PORT ;
INPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : IN EVENT PORT ;
OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : OUT EVENT DATA PORT TSP::DataView::MyInteger;
END Payload2_receiveP2_TC;
THREAD IMPLEMENTATION Payload2_receiveP2_TC.others
CALLS
MyCalls : {
MyCall : SUBPROGRAM Payload2_pi_receiveP2_TC;
};
CONNECTIONS
MyCall_OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : PARAMETER MyCall.OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM -> OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM;
PROPERTIES
DISPATCH_PROTOCOL => Sporadic;
PERIOD => 300 ms;
DEADLINE => 300 ms;
COMPUTE_EXECUTION_TIME => 0 ms..5 ms;
ANNEX behavior_specification {**
**};
END Payload2_receiveP2_TC.others;
SUBPROGRAM AOCS_pi_readSensors
PROPERTIES
COMPUTE_EXECUTION_TIME => 2 ms..2 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "AOCS_pi_readSensors";
SOURCE_TEXT => ("AOCS/AOCS.c");
END AOCS_pi_readSensors;
SUBPROGRAM IMPLEMENTATION AOCS_pi_readSensors.final
END AOCS_pi_readSensors.final;
SUBPROGRAM AOCS_pi_updateActuators
PROPERTIES
COMPUTE_EXECUTION_TIME => 5 ms..5 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "AOCS_pi_updateActuators";
SOURCE_TEXT => ("AOCS/AOCS.c");
END AOCS_pi_updateActuators;
SUBPROGRAM IMPLEMENTATION AOCS_pi_updateActuators.final
END AOCS_pi_updateActuators.final;
SUBPROGRAM TM_TC_pi_receiveTC
FEATURES
OUTPORT_TM_TC_receiveTC_Payload1_receiveP1_TC : OUT PARAMETER TSP::DataView::MyEnum;
PROPERTIES
COMPUTE_EXECUTION_TIME => 10 ms..10 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "TM_TC_pi_receiveTC";
SOURCE_TEXT => ("TM_TC/TM_TC.c");
END TM_TC_pi_receiveTC;
SUBPROGRAM IMPLEMENTATION TM_TC_pi_receiveTC.final
END TM_TC_pi_receiveTC.final;
SUBPROGRAM TM_TC_pi_sendTM
FEATURES
OUTPORT_TM_TC_sendTM_Payload1_receiveP1_TC : OUT PARAMETER TSP::DataView::MyEnum;
PROPERTIES
COMPUTE_EXECUTION_TIME => 20 ms..20 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "TM_TC_pi_sendTM";
SOURCE_TEXT => ("TM_TC/TM_TC.c");
END TM_TC_pi_sendTM;
SUBPROGRAM IMPLEMENTATION TM_TC_pi_sendTM.final
END TM_TC_pi_sendTM.final;
SUBPROGRAM TM_TC_pi_receiveP1_TM
FEATURES
INPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : IN PARAMETER TSP::DataView::MyInteger;
OUTPORT_TM_TC_receiveP1_TM_Payload1_receiveP1_TC : OUT PARAMETER TSP::DataView::MyEnum;
PROPERTIES
COMPUTE_EXECUTION_TIME => 5 ms..5 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "TM_TC_pi_receiveP1_TM";
SOURCE_TEXT => ("TM_TC/TM_TC.c");
END TM_TC_pi_receiveP1_TM;
SUBPROGRAM IMPLEMENTATION TM_TC_pi_receiveP1_TM.final
END TM_TC_pi_receiveP1_TM.final;
SUBPROGRAM TM_TC_pi_receiveP2_TM
FEATURES
INPORT_TM_TC_receiveP2_TM_Payload2_receiveP2_TC : IN PARAMETER TSP::DataView::MyInteger;
OUTPORT_TM_TC_receiveP2_TM_Payload1_receiveP1_TC : OUT PARAMETER TSP::DataView::MyEnum;
PROPERTIES
COMPUTE_EXECUTION_TIME => 10 ms..10 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "TM_TC_pi_receiveP2_TM";
SOURCE_TEXT => ("TM_TC/TM_TC.c");
END TM_TC_pi_receiveP2_TM;
SUBPROGRAM IMPLEMENTATION TM_TC_pi_receiveP2_TM.final
END TM_TC_pi_receiveP2_TM.final;
SUBPROGRAM Payload1_pi_receiveP1_TC
FEATURES
INPORT_Payload1_receiveP1_TC_TM_TC_receiveTC : IN PARAMETER TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_sendTM : IN PARAMETER TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : IN PARAMETER TSP::DataView::MyEnum;
INPORT_Payload1_receiveP1_TC_TM_TC_receiveP2_TM : IN PARAMETER TSP::DataView::MyEnum;
OUTPORT_Payload1_receiveP1_TC_TM_TC_receiveP1_TM : OUT PARAMETER TSP::DataView::MyInteger;
PROPERTIES
COMPUTE_EXECUTION_TIME => 2 ms..2 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "Payload1_pi_receiveP1_TC";
SOURCE_TEXT => ("Payload1/Payload1.c");
END Payload1_pi_receiveP1_TC;
SUBPROGRAM IMPLEMENTATION Payload1_pi_receiveP1_TC.final
END Payload1_pi_receiveP1_TC.final;
SUBPROGRAM Payload2_pi_receiveP2_TC
FEATURES
OUTPORT_Payload2_receiveP2_TC_TM_TC_receiveP2_TM : OUT PARAMETER TSP::DataView::MyInteger;
PROPERTIES
COMPUTE_EXECUTION_TIME => 5 ms..5 ms;
SOURCE_LANGUAGE => (C);
SOURCE_NAME => "Payload2_pi_receiveP2_TC";
SOURCE_TEXT => ("Payload2/Payload2.c");
END Payload2_pi_receiveP2_TC;
SUBPROGRAM IMPLEMENTATION Payload2_pi_receiveP2_TC.final
END Payload2_pi_receiveP2_TC.final;
END concurrencyview::CV;
---------------------------------------------------
-- AADL2.1
-- TASTE type interfaceview
--
-- generated code: do not edit
---------------------------------------------------
PACKAGE interfaceview::IV::AOCS
PUBLIC
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_readSensors
END PI_readSensors;
SUBPROGRAM IMPLEMENTATION PI_readSensors.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 2 ms;
END PI_readSensors.others;
SUBPROGRAM PI_updateActuators
END PI_updateActuators;
SUBPROGRAM IMPLEMENTATION PI_updateActuators.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 5 ms;
END PI_updateActuators.others;
SUBPROGRAM PI_receiveAOCS_TC
FEATURES
TC : IN PARAMETER DataView::MyEnum {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_receiveAOCS_TC;
SUBPROGRAM IMPLEMENTATION PI_receiveAOCS_TC.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 1 ms;
END PI_receiveAOCS_TC.others;
SUBPROGRAM PI_sendAOCS_TM
FEATURES
TM : OUT PARAMETER DataView::MyInteger {
Taste::encoding => NATIVE;
};
PROPERTIES
Taste::Associated_Queue_Size => 1;
END PI_sendAOCS_TM;
SUBPROGRAM IMPLEMENTATION PI_sendAOCS_TM.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 1 ms;
END PI_sendAOCS_TM.others;
SYSTEM AOCS
FEATURES
PI_readSensors : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::AOCS::PI_readSensors.others {
Taste::coordinates => "96107 64316";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 100 ms;
Taste::Deadline => 100 ms;
Taste::InterfaceName => "readSensors";
};
PI_updateActuators : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::AOCS::PI_updateActuators.others {
Taste::coordinates => "96107 62117";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 100 ms;
Taste::Deadline => 100 ms;
Taste::InterfaceName => "updateActuators";
};
PI_receiveAOCS_TC : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::AOCS::PI_receiveAOCS_TC.others {
Taste::coordinates => "103247 74960";
Taste::RCMoperationKind => unprotected;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "receiveAOCS_TC";
};
PI_sendAOCS_TM : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::AOCS::PI_sendAOCS_TM.others {
Taste::coordinates => "113808 74960";
Taste::RCMoperationKind => unprotected;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "sendAOCS_TM";
};
PROPERTIES
Source_Language => (C);
Taste::Active_Interfaces => any;
END AOCS;
SYSTEM IMPLEMENTATION AOCS.others
END AOCS.others;
END interfaceview::IV::AOCS;
PACKAGE interfaceview::IV::TM_TC
PUBLIC
WITH interfaceview::IV::AOCS;
WITH interfaceview::IV::Payload1;
WITH inte