List the entities in Ada specification files

parent 74aa0748
with MMS.Input;
with MMS.F_PT.Output;
package MMS.F_EL.Input is
--------------
-- From MMS --
--------------
function P return Distance_Type
renames MMS.Input.P;
function P_Dot return Speed_Type
renames MMS.Input.P_Dot;
function Q return Altitude_Type
renames MMS.Input.Q;
---------------
-- From F_PT --
---------------
function Emergency_Landing return Boolean
renames MMS.F_PT.Output.Emergency_Landing;
end MMS.F_EL.Input;
package MMS.F_EL.Output is
------------
-- To MMS --
------------
function Propulsion_Torque return Torque_Type;
function Braking_Torque return Torque_Type;
-------------
-- To F_PT --
-------------
function Mission_Abort return Boolean;
end MMS.F_EL.Output;
package MMS.F_EL is
end MMS.F_EL;
\ No newline at end of file
with MMS.F_PT.Input;
with MMS.F_PT.F_MM.Output;
with MMS.F_PT.F_FC.Output;
with MMS.F_PT.F_EM.Output;
package MMS.F_PT.F_CM.Input is
---------------
-- From F_PT --
---------------
function Navigation_Parameters return Navigation_Parameters_Type
renames MMS.F_PT.Input.Navigation_Parameters;
function Navigation_Mode return Navigation_Mode_Type
renames MMS.F_PT.Input.Navigation_Mode;
function Navigation_Option return Navigation_Option_Type
renames MMS.F_PT.Input.Navigation_Option;
function Go return Boolean
renames MMS.F_PT.Input.Go;
function Emergency_Landing return Boolean
renames MMS.F_PT.Input.Emergency_Landing;
function On_OFF_Push_Button return Boolean
renames MMS.F_PT.Input.On_OFF_Push_Button;
function Start_Push_Button return Boolean
renames MMS.F_PT.Input.Start_Push_Button;
function Mode_Switch return Navigation_Mode_Type
renames MMS.F_PT.Input.Mode_Switch;
function Bay_Switch return Bay_Switch_Type
renames MMS.F_PT.Input.Bay_Switch;
function Payload_Mass return Payload_Mass_Type
renames MMS.F_PT.Input.Payload_Mass;
function USB_Key return Navigation_Parameters_Type
renames MMS.F_PT.Input.USB_Key;
function P return Distance_Type
renames MMS.F_PT.Input.P;
function P_Dot return Speed_Type
renames MMS.F_PT.Input.P_Dot;
function Q return Altitude_Type
renames MMS.F_PT.Input.Q;
---------------
-- From F_MM --
---------------
function Mission_Aborted return Boolean
renames MMS.F_PT.F_MM.Output.Mission_Aborted;
function Mission_Complete return Boolean
renames MMS.F_PT.F_MM.Output.Mission_Complete;
function Mission_Cancelled return Boolean
renames MMS.F_PT.F_MM.Output.Mission_Cancelled;
---------------
-- From F_EM --
---------------
function Primary_Source return Source_Type
renames MMS.F_PT.F_EM.Output.Primary_Source;
function Secondary_Source return Source_Type
renames MMS.F_PT.F_EM.Output.Secondary_Source;
---------------
-- From F_FC --
---------------
function Propulsion_Torque return Torque_Type
renames MMS.F_PT.F_FC.Output.Propulsion_Torque;
function Braking_Torque return Torque_Type
renames MMS.F_PT.F_FC.Output.Braking_Torque;
end MMS.F_PT.F_CM.Input;
with MMS.F_PT.F_CM.Input;
package MMS.F_PT.F_CM.Output is
-------------
-- To F_PT --
-------------
function CP_Switches return CP_Switches_Type is
(CP_Switches_Type'
(Power => MMS.F_PT.F_CM.Input.On_OFF_Push_Button, -- ???
Mode => MMS.F_PT.F_CM.Input.Mode_Switch,
Bay => MMS.F_PT.F_CM.Input.Bay_Switch,
Start => MMS.F_PT.F_CM.Input.Start_Push_Button,
Rotactor_1 => 1, -- ???
Rotactor_2 => 1)); -- ???
function CP_Displays return CP_Displays_Type is
(CP_Displays_Type'
(Ready => True, -- This register is not loaded at increment 1
Cancelled => MMS.F_PT.F_CM.Input.Mission_Cancelled,
Complete => MMS.F_PT.F_CM.Input.Mission_Complete,
Aborted => MMS.F_PT.F_CM.Input.Mission_Aborted,
Primary_Source => MMS.F_PT.F_CM.Input.Primary_Source,
Secondary_Source => MMS.F_PT.F_CM.Input.Secondary_Source));
function Propulsion_Energy return Propulsion_Energy_Type is
(Propulsion_Energy_Type'
(Primary_Source_Capacity => 1, -- ???
Secondary_Source_Capacity => 1)); -- ???
function Mission_Cancelled return Boolean
renames MMS.F_PT.F_CM.Input.Mission_Cancelled;
function Mission_Complete return Boolean
renames MMS.F_PT.F_CM.Input.Mission_Complete;
function Mission_Aborted return Boolean
renames MMS.F_PT.F_CM.Input.Mission_Aborted;
function Primary_Source return Source_Type
renames MMS.F_PT.F_CM.Input.Primary_Source;
function Secondary_Source return Source_Type
renames MMS.F_PT.F_CM.Input.Secondary_Source;
function Propulsion_Torque return Torque_Type
renames MMS.F_PT.F_CM.Input.Propulsion_Torque;
function Braking_Torque return Torque_Type
renames MMS.F_PT.F_CM.Input.Braking_Torque;
-------------
-- To F_MM --
-------------
function Navigation_Parameters return Navigation_Parameters_Type
renames MMS.F_PT.F_CM.Input.Navigation_Parameters;
function Navigation_Mode return Navigation_Mode_Type
renames MMS.F_PT.F_CM.Input.Navigation_Mode;
function Navigation_Option return Navigation_Option_Type
renames MMS.F_PT.F_CM.Input.Navigation_Option;
function Go return Boolean
renames MMS.F_PT.F_CM.Input.Go;
function Emergency_Landing return Boolean
renames MMS.F_PT.F_CM.Input.Emergency_Landing;
function On_OFF_Push_Button return Boolean
renames MMS.F_PT.F_CM.Input.On_OFF_Push_Button;
function Start_Push_Button return Boolean
renames MMS.F_PT.F_CM.Input.Start_Push_Button;
function Mode_Switch return Navigation_Mode_Type
renames MMS.F_PT.F_CM.Input.Mode_Switch;
function Bay_Switch return Bay_Switch_Type
renames MMS.F_PT.F_CM.Input.Bay_Switch;
function Payload_Mass return Payload_Mass_Type
renames MMS.F_PT.F_CM.Input.Payload_Mass;
function USB_Key return Navigation_Parameters_Type
renames MMS.F_PT.F_CM.Input.USB_Key;
-------------
-- To F_FC --
-------------
function P return Distance_Type
renames MMS.F_PT.F_CM.Input.P;
function P_Dot return Speed_Type
renames MMS.F_PT.F_CM.Input.P_Dot;
function Q return Altitude_Type
renames MMS.F_PT.F_CM.Input.Q;
end MMS.F_PT.F_CM.Output;
package MMS.F_PT.F_CM is
end MMS.F_PT.F_CM;
\ No newline at end of file
with MMS.F_PT.F_FC.Output;
with MMS.F_PT.F_CM.Output;
package MMS.F_PT.F_EM.Input is
---------------
-- From F_FC --
---------------
function Propulsion_Torque return Torque_Type
renames MMS.F_PT.F_FC.Output.Propulsion_Torque;
function Braking_Torque return Torque_Type
renames MMS.F_PT.F_FC.Output.Propulsion_Torque;
---------------
-- From F_CM --
---------------
function P_Dot return Speed_Type
renames MMS.F_PT.F_CM.Output.P_Dot;
end MMS.F_PT.F_EM.Input;
package MMS.F_PT.F_EM.Output is
-------------
-- To F_CM --
-------------
function Primary_Source return Source_Type;
function Secondary_Source return Source_Type;
-------------
-- To F_MM --
-------------
function Energy_Level return Energy_Level_Type;
end MMS.F_PT.F_EM.Output;
package MMS.F_PT.F_EM is
end MMS.F_PT.F_EM;
\ No newline at end of file
with MMS.F_PT.F_CM.Output;
with MMS.F_PT.F_MM.Output;
package MMS.F_PT.F_FC.Input is
---------------
-- From F_CM --
---------------
function P return Distance_Type
renames MMS.F_PT.F_CM.Output.P;
function P_Dot return Speed_Type
renames MMS.F_PT.F_CM.Output.P_Dot;
function Q return Altitude_Type
renames MMS.F_PT.F_CM.Output.Q;
---------------
-- From F_MM --
---------------
function Start_Take_Off return Boolean
renames MMS.F_PT.F_MM.Output.Start_Take_Off;
function Start_Landing return Boolean
renames MMS.F_PT.F_MM.Output.Start_Landing;
function Operating_Point return Operating_Point_Type
renames MMS.F_PT.F_MM.Output.Operating_Point;
function Operating_Mode return Navigation_Option_Type
renames MMS.F_PT.F_MM.Output.Operating_Mode;
function Mission_Range return Current_Range_Type
renames MMS.F_PT.F_MM.Output.Mission_Range;
end MMS.F_PT.F_FC.Input;
package MMS.F_PT.F_FC.Output is
----------------------
-- To F_CM and F_EM --
----------------------
function Propulsion_Torque return Torque_Type;
function Braking_Torque return Torque_Type;
-------------
-- To F_MM --
-------------
function Mission_Abort return Boolean; -- ??? not listed in F_FC outputs
function Estimated_Total_Mass return Estimated_Total_Mass_Type;
function Current_Range return Current_Range_Type;
function Current_Speed return Current_Speed_Type;
function Current_Altitude return Current_Altitude_Type;
end MMS.F_PT.F_FC.Output;
package MMS.F_PT.F_FC is
end MMS.F_PT.F_FC;
\ No newline at end of file
with MMS.F_PT.F_CM.Output;
with MMS.F_PT.F_FC.Output;
with MMS.F_PT.F_EM.Output;
with MMS.F_PT.Input;
package MMS.F_PT.F_MM.Input is
---------------
-- From F_CM --
---------------
function Navigation_Parameters return Navigation_Parameters_Type
renames MMS.F_PT.F_CM.Output.Navigation_Parameters;
function Navigation_Mode return Navigation_Mode_Type
renames MMS.F_PT.F_CM.Output.Navigation_Mode;
function Navigation_Option return Navigation_Option_Type
renames MMS.F_PT.F_CM.Output.Navigation_Option;
function Go return Boolean
renames MMS.F_PT.F_CM.Output.Go;
function On_OFF_Push_Button return Boolean
renames MMS.F_PT.F_CM.Output.On_OFF_Push_Button;
function Start_Push_Button return Boolean
renames MMS.F_PT.F_CM.Output.Start_Push_Button;
function Mode_Switch return Navigation_Mode_Type
renames MMS.F_PT.F_CM.Output.Mode_Switch;
function Bay_Switch return Bay_Switch_Type
renames MMS.F_PT.F_CM.Output.Bay_Switch;
function Payload_Mass return Payload_Mass_Type
renames MMS.F_PT.F_CM.Output.Payload_Mass;
function USB_Key return Navigation_Parameters_Type
renames MMS.F_PT.F_CM.Output.USB_Key;
-----------------------
-- From F_FC or F_EL --
-----------------------
function Mission_Abort return Boolean is
(MMS.F_PT.F_FC.Output.Mission_Abort or else MMS.F_PT.Input.Mission_Abort);
---------------
-- From F_FC --
---------------
function Estimated_Total_Mass return Estimated_Total_Mass_Type
renames MMS.F_PT.F_FC.Output.Estimated_Total_Mass;
function Current_Range return Current_Range_Type
renames MMS.F_PT.F_FC.Output.Current_Range;
function Current_Speed return Current_Speed_Type
renames MMS.F_PT.F_FC.Output.Current_Speed;
function Current_Altitude return Current_Altitude_Type
renames MMS.F_PT.F_FC.Output.Current_Altitude;
---------------
-- From F_EM --
---------------
function Energy_Level return Energy_Level_Type
renames MMS.F_PT.F_EM.Output.Energy_Level;
end MMS.F_PT.F_MM.Input;
package MMS.F_PT.F_MM.Output is
-------------
-- To F_CM --
--------------
function Mission_Cancelled return Boolean;
function Mission_Complete return Boolean;
function Mission_Aborted return Boolean;
-------------
-- To F_EL --
--------------
function Emergency_Landing return Boolean;
-------------
-- To F_FC --
-------------
function Start_Take_Off return Boolean;
function Start_Landing return Boolean;
function Operating_Point return Operating_Point_Type;
function Operating_Mode return Navigation_Option_Type;
function Mission_Range return Current_Range_Type; -- ??? which distance type
end MMS.F_PT.F_MM.Output;
package MMS.F_PT.F_MM is
end MMS.F_PT.F_MM;
\ No newline at end of file
with MMS.Input;
with MMS.F_EL.Output;
package MMS.F_PT.Input is
--------------
-- From MMS --
--------------
function Navigation_Parameters return Navigation_Parameters_Type
renames MMS.Input.Navigation_Parameters;
function Navigation_Mode return Navigation_Mode_Type
renames MMS.Input.Navigation_Mode;
function Navigation_Option return Navigation_Option_Type
renames MMS.Input.Navigation_Option;
function Go return Boolean
renames MMS.Input.Go;
function Emergency_Landing return Boolean
renames MMS.Input.Emergency_Landing;
function On_OFF_Push_Button return Boolean
renames MMS.Input.On_OFF_Push_Button;
function Start_Push_Button return Boolean
renames MMS.Input.Start_Push_Button;
function Mode_Switch return Navigation_Mode_Type
renames MMS.Input.Mode_Switch;
function Bay_Switch return Bay_Switch_Type
renames MMS.Input.Bay_Switch;
function Payload_Mass return Payload_Mass_Type
renames MMS.Input.Payload_Mass;
function USB_Key return Navigation_Parameters_Type
renames MMS.Input.USB_Key;
function P return Distance_Type
renames MMS.Input.P;
function P_Dot return Speed_Type
renames MMS.Input.P_Dot;
function Q return Altitude_Type
renames MMS.Input.Q;
---------------
-- From F_EL --
---------------
function Mission_Abort return Boolean
renames MMS.F_EL.Output.Mission_Abort;
end MMS.F_PT.Input;
with MMS.F_PT.F_CM.Output;
with MMS.F_PT.F_MM.Output;
package MMS.F_PT.Output is
-----------
--To MMS --
-----------
function CP_Switches return CP_Switches_Type
renames MMS.F_PT.F_CM.Output.CP_Switches;
function CP_Displays return CP_Displays_Type
renames MMS.F_PT.F_CM.Output.CP_Displays;
function Propulsion_Energy return Propulsion_Energy_Type
renames MMS.F_PT.F_CM.Output.Propulsion_Energy;
function Mission_Cancelled return Boolean
renames MMS.F_PT.F_CM.Output.Mission_Cancelled;
function Mission_Complete return Boolean
renames MMS.F_PT.F_CM.Output.Mission_Complete;
function Mission_Aborted return Boolean
renames MMS.F_PT.F_CM.Output.Mission_Aborted;
function Primary_Source return Source_Type
renames MMS.F_PT.F_CM.Output.Primary_Source;
function Secondary_Source return Source_Type
renames MMS.F_PT.F_CM.Output.Secondary_Source;
function Propulsion_Torque return Torque_Type
renames MMS.F_PT.F_CM.Output.Propulsion_Torque;
function Braking_Torque return Torque_Type
renames MMS.F_PT.F_CM.Output.Braking_Torque;
--------------
-- To F_EL --
--------------
function Emergency_Landing return Boolean
renames MMS.F_PT.F_MM.Output.Emergency_Landing;
end MMS.F_PT.Output;
package MMS.F_PT is
end MMS.F_PT;
\ No newline at end of file
package MMS.Input is
------------------------------------------------------
-- Ground-based Mission Preparation and Supervision --
------------------------------------------------------
function Navigation_Parameters return Navigation_Parameters_Type;
function Navigation_Mode return Navigation_Mode_Type;
function Navigation_Option return Navigation_Option_Type;
function Go return Boolean;
function Emergency_Landing return Boolean;
--------------------------------------------------
-- AV-based Mission Preparation (Control Panel) --
--------------------------------------------------
function On_OFF_Push_Button return Boolean;
function Start_Push_Button return Boolean;
function Mode_Switch return Navigation_Mode_Type;
function Bay_Switch return Bay_Switch_Type;
function Payload_Mass return Payload_Mass_Type;
function USB_Key return Navigation_Parameters_Type;
-------------------------
-- Physical Parameters --
-------------------------
function P return Distance_Type;
function P_Dot return Speed_Type;
function Q return Altitude_Type;
end MMS.Input;
with MMS.F_PT.Output;
package MMS.Output is
-------------------------------------
-- Ground-based Mission Monitoring --
-------------------------------------
function CP_Switches return CP_Switches_Type
renames MMS.F_PT.Output.CP_Switches;
function CP_Displays return CP_Displays_Type
renames MMS.F_PT.Output.CP_Displays;
function Propulsion_Energy return Propulsion_Energy_Type
renames MMS.F_PT.Output.Propulsion_Energy;
----------------------------
-- Control Panel Displays --
----------------------------
function Mission_Cancelled return Boolean
renames MMS.F_PT.Output.Mission_Cancelled;
function Mission_Complete return Boolean
renames MMS.F_PT.Output.Mission_Complete;
function Mission_Aborted return Boolean
renames MMS.F_PT.Output.Mission_Aborted;
function Primary_Source return Source_Type
renames MMS.F_PT.Output.Primary_Source;
function Secondary_Source return Source_Type
renames MMS.F_PT.Output.Secondary_Source;
-------------------------
-- Physical Parameters --
-------------------------
function Propulsion_Torque return Torque_Type;
function Braking_Torque return Torque_Type;
end MMS.Output;
-- The structure of the MMS system has been created from the System
-- Requirements document following the pattern below:
-- * Components are packages.
-- * Sub-Components are child packages.
-- * Inputs and outputs are functions stored in child packages Comp.Input and
-- Comp.Output.
-- * Connections between inputs and outputs of various components are done
-- using renamings (or eventually expression functions when necessary).
-- Consistency of the component architecture is ensured by following the
-- rules below:
-- - An input package Comp.Subcomp.Input can only reference outputs of
-- siblings Comp.*.Output or inputs of parent Comp.Input.
-- - An output package Comp.Output can only reference its own inputs
-- Comp.Input or outputs of its children Comp.Subcomp.Output.
-- - In subcomponents, inputs and outputs are grouped within sections
-- with a header specifying to which component(s) they are linked.
package MMS is
----------------------------------
-- Types for inputs and outputs --
----------------------------------
type Distance_Input_Type is range 1 .. 100; -- in n.m
type Speed_Input_Type is range 1 .. 250; -- in k.t
type Altitude_Input_Type is range -500 .. 3000; -- in ft
type Navigation_Parameters_Type is record
Distance : Distance_Input_Type;
Speed : Speed_Input_Type;
Altitude : Altitude_Input_Type;
end record;
type Navigation_Mode_Type is (RP, A);
type Navigation_Option_Type is (SPEED, ALTITUDE, ENERGY);
type Bay_Switch_Type is (OPEN, CLOSED);
type Payload_Mass_Type is delta 0.1 range 1.0 .. 5.0; -- ??? in kg
type Distance_Type is new Float; -- in n.m
type Speed_Type is new Float; -- in k.t
type Altitude_Type is new Float; -- in ft
type Rotactor_Type is range 1 .. 9;
type CP_Switches_Type is record
Power : Boolean;
Mode : Navigation_Mode_Type;
Bay : Bay_Switch_Type;
Start : Boolean;
Rotactor_1 : Rotactor_Type;
Rotactor_2 : Rotactor_Type;
end record;
type Source_Type is range 1 .. 100;
type CP_Displays_Type is record
Ready : Boolean;
Cancelled : Boolean;
Complete : Boolean;
Aborted : Boolean; -- ???
Primary_Source : Source_Type;
Secondary_Source : Source_Type;
end record;
type Source_Capacity_Type is range 1 .. 99_999;
type Propulsion_Energy_Type is record
Primary_Source_Capacity : Source_Capacity_Type;
Secondary_Source_Capacity : Source_Capacity_Type;
end record;
type Torque_Type is delta 0.0001 range -10.0E6 .. 10.0E6; -- ???
type Current_Range_Type is range 1 .. 1_000_000; -- in meters
type Current_Speed_Type is range 1 .. 500; -- in km/h
type Current_Altitude_Type is range -200 .. 1_000; -- in meters
type Estimated_Total_Mass_Type is delta 0.1 range 5.0 .. 10.0; -- in kg ???
type Energy_Level_Type is range 0 .. 500; -- in kj
type Operating_Point_Type is record
Altitude : Current_Altitude_Type; -- ??? which altitude type
Speed : Current_Speed_Type; -- ??? which speed type
end record;
end MMS;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment