You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

80 lines
2.8 KiB

-- 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 new Integer range 0 .. 98; -- in kg
type Distance_Type is new Float; -- type of P, unit and bounds ???
type Speed_Type is new Float; -- type of P_Dot, unit and bounds ???
type Angle_Type is new Float; -- type of Q, unit and bounds ???
type Angular_Speed_Type is new Float; -- type of Q_Dot, unit and bounds ???
type Rotactor_Type is range 0 .. 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 Propulsion_Energy_Type is record
Primary_Source_Capacity : Source_Type;
Secondary_Source_Capacity : Source_Type;
end record;
type Torque_Type is delta 0.0001 range -10.0E6 .. 10.0E6; -- ???
end MMS;