thread Sensor_Sim_T features AoA: out data port Behavior::integer; Climb_Rate: out data port Behavior::integer; Engine_Failure: out event port; end Sensor_Sim_T; thread Stall_Monitor_T features AoA: in data port Behavior::integer; Climb_Rate: in data port Behavior::integer; Stall_Warn: out event data port Behavior::integer; end Stall_Monitor_T; thread Landing_Gear_T features Req: in event port { Compute_Entrypoint => "On_Req"; }; Ack: out event port; Dummy_Out: out event port; Dummy_In: in event port { Compute_Entrypoint => "On_Dummy_In"; }; end Landing_Gear_T; thread HCI_T features Stall_Warning: in event data port Behavior::integer { Compute_Entrypoint => "On_Stall_Warning"; }; Engine_Failure: in event port { Compute_Entrypoint => "On_Engine_Failure"; }; Gear_Cmd: in event port { Compute_Entrypoint => "On_Gear_Cmd"; }; Gear_Req: out event port; Gear_Ack: in event port { Compute_Entrypoint => "On_Gear_Ack"; }; end HCI_T; thread Operator_T features Gear_Cmd: out event port; end Operator_T; process Mgmt_T end Mgmt_T; process implementation Mgmt_T.RS subcomponents Sensor_Sim: thread Sensor_Sim_T.RS; Stall_Monitor: thread Stall_Monitor_T.RS; HCI: thread HCI_T.RS; Landing_Gear: thread Landing_Gear_T.RS; Operator: thread Operator_T.RS; connections DataConnection1: data port Sensor_Sim.AoA -> Stall_Monitor.AoA; DataConnection2: data port Sensor_Sim.Climb_Rate -> Stall_Monitor.Climb_Rate; EventConnection1: event port Sensor_Sim.Engine_Failure -> HCI.Engine_Failure; EventDataConnection1: event data port Stall_Monitor.Stall_Warn -> HCI.Stall_Warning; EventConnection2: event port HCI.Gear_Req -> Landing_Gear.Req; EventConnection3: event port Landing_Gear.Ack -> HCI.Gear_Ack; EventConnection4: event port Landing_Gear.Dummy_Out -> Landing_Gear.Dummy_In; EventConnection5: event port Operator.Gear_Cmd -> HCI.Gear_Cmd; end Mgmt_T.RS; thread implementation Sensor_Sim_T.RS properties Period => 20 Ms; Source_Stack_Size => 4096 B; Compute_Entrypoint => "On_Sensor_Sim"; Dispatch_Protocol => Periodic; end Sensor_Sim_T.RS; thread implementation Stall_Monitor_T.RS properties Compute_Entrypoint => "On_Stall_Monitor"; Dispatch_Protocol => Periodic; Period => 20 Ms; Source_Stack_Size => 4096 B; end Stall_Monitor_T.RS; thread implementation HCI_T.RS properties Dispatch_Protocol => Sporadic; Source_Stack_Size => 4096 B; Period => 20 Ms; end HCI_T.RS; thread implementation Landing_Gear_T.RS properties Dispatch_Protocol => Sporadic; Source_Stack_Size => 4096 B; Period => 10000 Ms; end Landing_Gear_T.RS; thread implementation Operator_T.RS properties Source_Stack_Size => 4096 B; Dispatch_Protocol => Periodic; Period => 3000 Ms; Compute_Entrypoint => "On_Operator"; end Operator_T.RS; processor myProcessor end myProcessor ; system Flight_Mgmt end Flight_Mgmt; system implementation Flight_Mgmt.RS subcomponents Mgmt: process Mgmt_T.RS; p : processor myProcessor ; properties Actual_processor_Binding => (reference p) applies to Mgmt.Sensor_Sim ; Actual_processor_Binding => (reference p) applies to Mgmt.Stall_Monitor ; Actual_processor_Binding => (reference p) applies to Mgmt.HCI ; Actual_processor_Binding => (reference p) applies to Mgmt.Landing_Gear ; Actual_processor_Binding => (reference p) applies to Mgmt.Operator ; Actual_processor_Binding => (reference p) applies to Mgmt ; end Flight_Mgmt.RS;