arinc653.aadl 5.24 KB
Newer Older
Jerome Legrand's avatar
Jerome Legrand committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
property set ARINC653 is

--  The Module_Major_Frame property specifies the major frame for the
--  ARINC653 module (AADL processor component).
Module_Major_Frame : Time applies to ( processor, virtual processor );

--  The Sampling_Refresh_Period property indicates data arrival rate
--  for an in data port. It corresponds to the concept of refresh time
--  of ARINC653 sampling port.
Sampling_Refresh_Period : Time applies to ( data port );

--  The Supported_Error_Code enumeration corresponds to the possible
--  Error code that can be raised at the different levels of ARINC653
--  architecture (module, partition, process). The list of possible
--  values may be extended by a given implementation.
Supported_Error_Code: type enumeration
(Module_Config, Module_Init, Module_Scheduling, Partition_Scheduling, Partition_Config, Partition_Handler, Partition_Init, Deadline_Miss, Application_Error, Numeric_Error, Illegal_Request, Stack_Overflow, Memory_Violation, Hardware_Fault, Power_Fail);

--  The Supported_Memory_Type enumeration describes possible content
--  of an AADL memory component.
Supported_Memory_Type : type enumeration (Data_Memory, Code_Memory, IO_Memory);

--  The Memory_Type property describes the content of an AADL memory
--  component.
Memory_Type : list of ARINC653::Supported_Memory_Type applies to ( memory );

-- The Timeout property specifies the timeout used by an ARINC653
-- process when sending/receiving a data. Depending on which component
-- is used, the property value could be useful for sender or receiver
-- side.
Timeout : Time applies to (port, access connection);

--  The Supported_Criticality_Type enumeration corresponds to the
--  different Development Assurance Levels supported by the ARINC653
--  standard.
Supported_DAL_Type : type enumeration (LEVEL_A, LEVEL_B, LEVEL_C, LEVEL_D, LEVEL_E);

--  The Criticality property defines the Design Assurance Level of a
--  partition. It is associated to the runtime of each partition (an
--  AADL virtual processor component).
DAL : ARINC653::Supported_DAL_Type applies to (virtual processor, system, abstract);

--  Module version description.
Module_Version : aadlstring applies to (processor);

--  Module unique identifier.
Module_Identifier : aadlstring applies to (processor);

--  Partition identifier unique within the module.
Partition_Identifier : aadlinteger applies to (virtual processor);

--  Name of a partition name, should be unique within the module.
Partition_Name : aadlstring applies to (virtual processor);

--  When set to true, this property indicates the partition is a system one.
System_Partition : aadlboolean applies to (virtual processor);

--  Specify the thread/ARINC653 process dedicated to error/fault
--  management/handling
Error_Handling : reference (thread) applies to (virtual processor);

--  The Error_Level_Type property indicates where an error is handled:
Error_Level_Type: type enumeration (Module_Level,Partition_Level,Process_Level);

--  The HM_Error_ID_Level_Type indicates where each error is supposed
--  to be raised (which layer) and associate an error identifier.
HM_Error_ID_Level_Type: type record (
ErrorIdentifier : aadlinteger;
Description     : aadlstring;
ErrorLevel      : ARINC653::Error_Level_Type;
ErrorCode       : ARINC653::Supported_Error_Code;
);

--  The HM_Error_ID_Levels indicates will the faults in a module with
--  their associated level.
HM_Error_ID_Levels : list of ARINC653::HM_Error_ID_Level_Type applies to (processor);

--  The HM_Error_ID_Action_Type specifies an action
--  for a specific error type/id.
HM_Error_ID_Action_Type: type record (
ErrorIdentifier  : aadlinteger;
Description      : aadlstring;
Action           : aadlstring;
);

--  The HM_Error_ID_Actions specifies the error recovery handler at
--  each layer.
HM_Error_ID_Actions : list of ARINC653::HM_Error_ID_Action_Type applies to (processor, virtual processor, thread);

--  Type for gathering information related to an ARINC653 state. Then,
--  it is associated with an AADL mode.
State_Information_Type : type record (
Identifier  : aadlinteger;
Description : aadlstring;
);

--  Association of a ARINC653 state information to the AADL mode.
State_Information: ARINC653::State_Information_Type applies to (mode);

--  The Queueing discipline type reflects how a task can be dispatched
--  when a new element is available on an event port or event data
--  port.
Queueing_Discipline_Type: type enumeration (Fifo, By_Priority);

--  This property reflects the Queueing_Discipline_Type on port.
Queueing_Discipline: ARINC653::Queueing_Discipline_Type applies to (port, data access);

--  The Schedule_Window type represents a record to specify a time
--  slot/frame associated to a partition
Schedule_Window : type record (
   Partition : reference (virtual processor, processor);
   Duration  : time;
   Periodic_Processing_Start : aadlboolean;);

--  Module_Schedule represents all the schedule windows for the module
Module_Schedule : list of ARINC653::Schedule_Window applies to ( processor, virtual processor );

--  Time_Capacity represents the time capacity associated to an
--  ARINC653 process.
Time_Capacity : Time applies to ( thread );

--  The Deadline_Type captures the type of a deadline for a
--  thread/ARINC653 process.
Deadline_Type : enumeration (soft, hard) applies to ( thread );

end ARINC653;