aadl_project.aadl 3.8 KB
Newer Older
jhugues's avatar
jhugues committed
1 2 3 4
--AADL2
--SAE Aerospace Standard AS5506A
--Proposed Draft (2008-11-08)
--Appendix A: Predeclared Property Sets
5 6 7

property set AADL_Project is

jhugues's avatar
jhugues committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21
  Supported_Active_Thread_Handling_Protocols: type enumeration (abort);

  Supported_Connection_Patterns: type enumeration
  (One_To_One, All_To_All, One_To_All, All_To_One,
  Next, Previous, Cyclic_Next, Cyclic_Previous);

  Supported_Concurrency_Control_Protocols: type enumeration
  (None_Specified,
  Interrupt_Masking,
  Maximum_Priority,
  Immediate_Priority_Ceiling_Protocol,
  Protected_Access,
  Priority_Inheritance,
  Priority_Ceiling,
22
  Priority_Ceiling_Protocol, -- XXX
jhugues's avatar
jhugues committed
23 24 25
  Spin_Lock,
  Semaphore);

yoogx's avatar
yoogx committed
26
  Supported_Dispatch_Protocols: type enumeration (Periodic, Sporadic, Aperiodic, Timed, Hybrid, Background, Interrupt);
jhugues's avatar
jhugues committed
27 28 29 30 31 32 33 34 35 36

  Supported_Queue_Processing_Protocols: type enumeration (Fifo);

  Supported_Hardware_Source_Languages: type enumeration (VHDL);

  Supported_Connection_QoS: type enumeration (GuaranteedDelivery, OrderedDelivery, SecureDelivery);

  Supported_Scheduling_Protocols: type enumeration -- Updated for Cheddar
  (SporadicServer, RMS, FixedTimeline,
  PARAMETRIC_PROTOCOL,
37
  EDF,
jhugues's avatar
jhugues committed
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
  EARLIEST_DEADLINE_FIRST_PROTOCOL,
  LEAST_LAXITY_FIRST_PROTOCOL,
  RATE_MONOTONIC_PROTOCOL,
  DEADLINE_MONOTONIC_PROTOCOL,
  ROUND_ROBIN_PROTOCOL,
  TIME_SHARING_BASED_ON_WAIT_TIME_PROTOCOL,
  POSIX_1003_HIGHEST_PRIORITY_FIRST_PROTOCOL,
  D_OVER_PROTOCOL,
  MAXIMUM_URGENCY_FIRST_BASED_ON_LAXITY_PROTOCOL,
  MAXIMUM_URGENCY_FIRST_BASED_ON_DEADLINE_PROTOCOL,
  TIME_SHARING_BASED_ON_CPU_USAGE_PROTOCOL,
  NO_SCHEDULING_PROTOCOL,
  HIERARCHICAL_CYCLIC_PROTOCOL,
  HIERARCHICAL_ROUND_ROBIN_PROTOCOL,
  HIERARCHICAL_FIXED_PRIORITY_PROTOCOL,
  HIERARCHICAL_PARAMETRIC_PROTOCOL);

  Supported_Source_Languages: type enumeration -- Updated for TASTE/Ocarina
56 57 58 59
    (Ada95,
     Ada,     -- alias for Ada95
     Ada05,   -- alias for Ada95
     ASN1,
julien.delange's avatar
julien.delange committed
60
     Blackbox_Device,
61
     C,
jhugues's avatar
jhugues committed
62
     CPP,     -- C++
63
     Esterel,
maxime1008's avatar
maxime1008 committed
64
     GUI,
65
     LUA,
66 67 68
     Lustre,
     Lustre5, -- alias for Lustre
     Lustre6, -- alias for Lustre
69 70
     RTDS,    -- alias for SDL_RTDS
     SDL_RTDS,
71 72
     RTSJ,    -- Real Time Specification for Java
     SCADE6,  -- alias for Lustre
73 74
     SDL,     -- alias for SDL_ObjectGeode
     SDL_ObjectGeode,
75
     SDL_OpenGEODE,
76 77
     Scade,
     Simulink,
78 79
     Simulink_6_5,
     System_C,
yoogx's avatar
yoogx committed
80
     VDM,
81
     VHDL,
82 83 84
     ACN,
     QGenC,
     QGenAda);
85

jhugues's avatar
jhugues committed
86
  Supported_Distributions: type enumeration (Fixed, Poisson);
87

jhugues's avatar
jhugues committed
88
  Supported_Classifier_Substitutions: type enumeration (Classifier_Match, Type_Extension, Signature_Match);
89

jhugues's avatar
jhugues committed
90 91 92 93 94 95 96

  Data_Volume: type aadlinteger 0 bitsps .. Max_Data_Volume
  units Data_Volume_Units;

  Max_Data_Volume: constant aadlinteger units Data_Volume_Units => 2#1#e62 bitsps; -- XXX extended

  Max_Aadlinteger: constant aadlinteger => 2#1#e32;
97 98 99

  Max_Target_Integer: constant aadlinteger => 2#1#e32;

100
  Max_Base_Address: constant aadlinteger => 2#1#e32;
101

jhugues's avatar
jhugues committed
102
  Max_Memory_Size: constant Size => 2#1#e32 Bytes;
103 104 105 106 107 108 109 110 111

  Max_Queue_Size: constant aadlinteger => 512;

  Max_Thread_Limit: constant aadlinteger => 32;

  Max_Time: constant Time => 1000 hr;

  Max_Urgency: constant aadlinteger => 12;

jhugues's avatar
jhugues committed
112
  Max_Byte_Count: constant aadlinteger => 2#1#e32;
113 114 115 116

  Max_Word_Space: constant aadlinteger => 64;

  Size_Units: type units (
jhugues's avatar
jhugues committed
117 118 119 120 121 122
  bits,
  Bytes => bits * 8,
  KByte => Bytes * 1000,
  MByte => KByte * 1000,
  GByte => MByte * 1000,
  TByte => GByte * 1000);
123 124

  Time_Units: type units (
jhugues's avatar
jhugues committed
125 126 127 128 129 130 131 132 133 134 135 136 137 138
  ps,
  ns => ps * 1000,
  us => ns * 1000,
  ms => us * 1000,
  sec => ms * 1000,
  min => sec * 60,
  hr => min * 60);

  Data_Volume_Units: type units (
  bitsps,
  Bytesps => bitsps * 8,
  KBytesps => Bytesps * 1000,
  MBytesps => KBytesps * 1000,
  GBytesps => MBytesps * 1000);
139

Julien's avatar
Julien committed
140 141
  Data_Rate_Units: type   units (bitsps, Bytesps => bitsps * 8, KBytesps => Bytesps * 1000, MBytesps => KBytesps * 1000, GBytesps => MBytesps * 1000);

142
end AADL_Project;