taste_properties.aadl 6.96 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
		(system, package, device, memory, processor, process, access, subprogram access, connection, bus, virtual bus);
julien.delange's avatar
julien.delange committed
6

7
8
   Data_Transport : enumeration (legacy,asn1) applies to (device, abstract);

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

11
	APLC_Binding : list of reference (process) applies to (process, device, system);
12
13

   APLC_Properties : record (APLC : aadlstring; Coordinates : aadlstring; Source_Language: Supported_Source_Language;) applies to (process);
julien.delange's avatar
julien.delange committed
14

julien.delange's avatar
julien.delange committed
15
16
17
18
19
20
21
22
23
24
	ASN1_types: type enumeration
    	(asequenceof,
     	 asequence,
       aenumerated,
       aset,
       asetof,
       ainteger,
       aboolean,
       areal,
       achoice,
25
26
       aoctetstring,
       astring);
julien.delange's avatar
julien.delange committed
27
28
29
         
   ASN1_Basic_Type : ASN1_types applies to (data);

30
31
FS_Default_Value : aadlstring applies to (data);

32
33
34
35
36
37
38
39
	Deadline : inherit Time => Period
	applies to (thread, 
              thread group,
              process, 
              system, 
              device,
				  subprogram access);

40
41
42
43
        Help : aadlstring applies to (device);
        ASN1_Type : aadlstring applies to (device);
        Driver_Id_And_Version : aadlstring applies to (device);

julien.delange's avatar
julien.delange committed
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
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
----------------------------
-- 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 --
---------------

Criticality : Criticality_Level_Type applies to (process, system);
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

Processor_Speed : Frequency applies to (processor);
--  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);
Transmission_Kind : Transmission_Type applies to (bus);

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);

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

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

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

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

215
dataview : list of aadlstring applies to (package);
216

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

219
Encoding_type : type enumeration (native, uper, acn);
220
221
222

Encoding : Encoding_type applies to (parameter);

223
224
Ada_Package_Name : aadlstring applies to (data);

225
226
interfaceView : aadlstring applies to (package);

227
228
WCET : Time applies to (subprogram access);

229
230
231
232
Instance_Name : aadlstring applies to (system);

Associated_Queue_Size : aadlinteger applies to (subprogram);

233
234
EncodingDefinitionFile : classifier (data) applies to (data);

235
end Taste;