taste_properties.aadl 7.09 KB
Newer Older
1
property set Taste is
2
   Interface_Coordinates : aadlstring applies to (subprogram access, bus access);
3

julien.delange's avatar
julien.delange committed
4
   Coordinates : aadlstring applies to 
5
6
		(system, package, device, memory, processor, process, access,
       subprogram access, connection, bus, virtual bus);
julien.delange's avatar
julien.delange committed
7

8
9
   HWLibraries : list of aadlstring applies to(package);

10
11
   Data_Transport : enumeration (legacy,asn1) applies to (device, abstract);

12
   Importance: enumeration (low, medium, high) applies to (system, subprogram access, access);
julien.delange's avatar
julien.delange committed
13

14
	APLC_Binding : list of reference (process) applies to (process, device, system);
15

16
17
18
19
   APLC_Properties : record
      (APLC : aadlstring;
       Coordinates : aadlstring;
       Source_Language: Supported_Source_Language;) applies to (process);
julien.delange's avatar
julien.delange committed
20

julien.delange's avatar
julien.delange committed
21
22
23
24
25
26
27
28
29
30
	ASN1_types: type enumeration
    	(asequenceof,
     	 asequence,
       aenumerated,
       aset,
       asetof,
       ainteger,
       aboolean,
       areal,
       achoice,
31
32
       aoctetstring,
       astring);
julien.delange's avatar
julien.delange committed
33
         
34
   ASN1_Basic_Type : Taste::ASN1_types applies to (data);
julien.delange's avatar
julien.delange committed
35

36
37
FS_Default_Value : aadlstring applies to (data);

38
39
40
41
42
43
44
45
	Deadline : inherit Time => Period
	applies to (thread, 
              thread group,
              process, 
              system, 
              device,
				  subprogram access);

julien.delange's avatar
julien.delange committed
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
----------------------------
-- Types and enumerations --
----------------------------

Max_Priority_Value : constant aadlinteger => 28;
--  Parametric example of maximum priority

--  Priority and Interrupt Priority are contiguous intervals

Min_Interrupt_Priority_Value : constant aadlinteger => 29;
Max_Interrupt_Priority_Value : constant aadlinteger => 31;
--  Maximum and minimum interrupt priority

--  Removed, these types have been defined in AADLv2 standard property
--  set Thread_Properties

--  Priority_Type : type aadlinteger 0 .. value (Max_Priority_Value);
--  --  We must define a property type to be able to reference it

--  Priority : Priority_Type applies to
--    (thread,
--     thread group,
--     process);

--  Interrupt_Priority :  aadlinteger
--    value(Min_Interrupt_Priority_Value) .. value 
--        (Max_Interrupt_Priority_Value) applies to
--    (thread,
--     thread group,
--     process);

Criticality_Level_Type : type enumeration (A, B, C, D, E);
-- Criticality levels

Transmission_Type : type enumeration
  (simplex,
   half_duplex,
   full_duplex);
--  Message transmission kind

Frequency : type aadlinteger 0 Hz .. Max_Aadlinteger
   units (
    Hz,
    KHz    => Hz  * 1000,
    MHz    => KHz * 1000,
    GHz    => MHz * 1000);
--  Frequency of a processor

---------------
-- Partition --
---------------

98
Criticality : Taste::Criticality_Level_Type applies to (process, system);
julien.delange's avatar
julien.delange committed
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
Local_Scheduling_Policy : Supported_Scheduling_Protocols 
  applies to (process, system);
Time_Budget : aadlinteger applies to (process, system);
Budget_Replenishment_Period : Time applies to (process, system);
Storage_Budget : Size applies to (process, system);
--  XXX replace this with Source_Code_Size ?

------------
-- RCM VM --
------------

--  Min_Priority : Priority_Type applies to (processor);
--  Max_Priority : Priority_Type applies to (processor);
--  Min_Interrupt_Priority : Priority_Type applies to (processor);
--  Max_Interrupt_Priority : Priority_Type applies to (processor);

--   To express the Global scheduling policy, we use the standard
--   property Global_Scheduler_Policy of type
--   Supported_Scheduling_Protocols.

Longest_Critical_Section : Time applies to (processor);

--  To describe the clock period we use the standard property
--  Clock_Period of standard type Time.

Periodic_Clock_Interrupt_Period : Time applies to (processor);
Periodic_Clock_Handler : Time applies to (processor);
Demanded_Clock_Handler : Time applies to (processor);
Interrupt_Handler : Time applies to (processor);
External_Interrupt : Time applies to (processor);
Wakeup_Jitter : Time applies to (processor);
Ready : Time applies to (processor);
Select : Time applies to (processor);
Context_Switch  : Time applies to (processor);
Signal : Time applies to (processor);
Suspension_Call  : Time applies to (processor);
Wait_Call  : Time applies to (processor);
Priority_Raising  : Time applies to (processor);
Priority_Lowering  : Time applies to (processor);
Barrier_Evaluation  : Time applies to (processor);
Budget_Replenishment_Overhead : Time applies to (processor);
Budget_Exhausted_Recovery_Call : Time applies to (processor);

-------------
-- Devices --
-------------

-- Processor

148
Processor_Speed : Taste::Frequency applies to (processor);
julien.delange's avatar
julien.delange committed
149
150
151
152
153
154
155
156
157
158
159
160
--  XXX to be replaced with AADLv2 property

-- Interconnection

--  To express the message size bounds we use the standard property
--  Allowed_Message_Size which is a range of standard type Size.

--  To describe the propagation delay and the transmission time on a
--  bus, we use the standard properties Propagation_Delay and
--  Transmission_Time.

Interconnection_Speed_Factor : aadlreal applies to (bus);
161
Transmission_Kind : Taste::Transmission_Type applies to (bus);
julien.delange's avatar
julien.delange committed
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206

Bandwidth : Data_Volume applies to (bus);

-- Networking  protocol

-- Memory

Memory_Size : Size applies to (memory);

Access_Time : Time applies to (memory);
Access_Bandwidth : Data_Volume applies to (bus);

---------------------------
-- Deployment Properties --
---------------------------

--  To express the binding of an AP-Level container to a processor, we
--  use the standard property Actual_Processor_Binding.

--  To express the binding of a connection between a couple of
--  (provided, required) interfaces of two AP-Level containers to a
--  bus, a processor or a device, we use the standard property
--  Actual_Connection_Binding.

--  To express the binding of an AP-level container to a particular
--  memory, we use the standard property Actual_Memory_Binding.

--------------------------------------------
-- Properties relative to the RCM grammar --
--------------------------------------------

RCMoperation:  classifier(subprogram) applies to (event port, event data port);

RCMoperationKind_list: type enumeration 
  (cyclic, 
   sporadic, 
   variator, 
   protected, 
   transaction, 
   barrier, 
   unprotected, 
   deferred, 
   immediate, 
   any);

207
RCMoperationKind: Taste::RCMoperationKind_list 
208
  applies to (event port, event data port, access, subprogram access);
julien.delange's avatar
julien.delange committed
209
210
211
212

RCMceiling: aadlinteger 
  applies to (event port, event data port);

213
RCMperiod: Time applies to (event port, event data port, access, subprogram access);
julien.delange's avatar
julien.delange committed
214
215

RCMpartition: reference (system) applies to (system);
julien.delange's avatar
julien.delange committed
216

217
dataview : list of aadlstring applies to (package);
218

219
dataviewpath : list of aadlstring applies to (package);
220

221
222
version: aadlstring applies to (package);

mperroti's avatar
mperroti committed
223
interfacename: aadlstring applies to (subprogram access);
224

225
Encoding_type : type enumeration (native, uper, acn);
226

227
Encoding : Taste::Encoding_type applies to (parameter);
228

229
230
Ada_Package_Name : aadlstring applies to (data);

231
232
interfaceView : aadlstring applies to (package);

233
234
WCET : Time applies to (subprogram access);

235
236
237
238
Instance_Name : aadlstring applies to (system);

Associated_Queue_Size : aadlinteger applies to (subprogram);

239
240
EncodingDefinitionFile : classifier (data) applies to (data);

241
242
labelInheritance : aadlstring applies to (subprogram access);

243
end Taste;