Ticket #135: aadlinspectorCheddar.xmlv3

File aadlinspectorCheddar.xmlv3, 12.0 KB (added by jlegrand, 11 years ago)
Line 
1<?xml version="1.0" standalone="yes"?>
2<!DOCTYPE Cheddar_ADL SYSTEM "cheddar_adl.dtd">
3<?xml-stylesheet type="text/xsl" href="cheddar_adl.xsl"?>
4<cheddar>
5  <core_units>
6    <core_unit id="root.cpu.core">
7      <name>root.cpu.core</name>
8      <object_type>CORE_OBJECT_TYPE</object_type>
9      <speed>1.0</speed>
10      <scheduling>
11        <scheduling_parameters>
12          <scheduler_type>HIERARCHICAL_OFFLINE_PROTOCOL</scheduler_type>
13          <quantum>0</quantum>
14          <preemptive_type>PREEMPTIVE</preemptive_type>
15          <user_defined_scheduler_source_file_name>cheddar_cpu.xml</user_defined_scheduler_source_file_name>
16        </scheduling_parameters>
17      </scheduling>
18    </core_unit>
19  </core_units>
20  <processors>
21    <mono_core_processor id="root.cpu">
22      <name>root.cpu</name>
23      <object_type>PROCESSOR_OBJECT_TYPE</object_type>
24      <processor_type>MONOCORE_TYPE</processor_type>
25      <network>No_Network</network>
26      <migration_type>NO_MIGRATION_TYPE</migration_type>
27      <core ref="root.cpu.core"/>
28    </mono_core_processor>
29  </processors>
30  <address_spaces>
31    <address_space id="root.cpu.partition1_pr">
32      <name>root.cpu.partition1_pr</name>
33      <object_type>ADDRESS_SPACE_OBJECT_TYPE</object_type>
34      <cpu_name>root.cpu</cpu_name>
35      <text_memory_size>0</text_memory_size>
36      <stack_memory_size>0</stack_memory_size>
37      <data_memory_size>0</data_memory_size>
38      <heap_memory_size>0</heap_memory_size>
39      <scheduling>
40        <scheduling_parameters>
41          <scheduler_type>RATE_MONOTONIC_PROTOCOL</scheduler_type>
42          <quantum>0</quantum>
43          <preemptive_type>PREEMPTIVE</preemptive_type>
44        </scheduling_parameters>
45      </scheduling>
46    </address_space>
47    <address_space id="root.cpu.partition2_pr">
48      <name>root.cpu.partition2_pr</name>
49      <object_type>ADDRESS_SPACE_OBJECT_TYPE</object_type>
50      <cpu_name>root.cpu</cpu_name>
51      <text_memory_size>0</text_memory_size>
52      <stack_memory_size>0</stack_memory_size>
53      <data_memory_size>0</data_memory_size>
54      <heap_memory_size>0</heap_memory_size>
55      <scheduling>
56        <scheduling_parameters>
57          <scheduler_type>RATE_MONOTONIC_PROTOCOL</scheduler_type>
58          <quantum>0</quantum>
59          <preemptive_type>PREEMPTIVE</preemptive_type>
60        </scheduling_parameters>
61      </scheduling>
62    </address_space>
63  </address_spaces>
64  <tasks>
65    <periodic_task id="root.cpu.partition1_pr.order">
66      <name>root.cpu.partition1_pr.order</name>
67      <object_type>TASK_OBJECT_TYPE</object_type>
68      <task_type>PERIODIC_TYPE</task_type>
69      <address_space_name>root.cpu.partition1_pr</address_space_name>
70      <cpu_name>root.cpu</cpu_name>
71      <policy>SCHED_FIFO</policy>
72      <period>20</period>
73      <capacity>10</capacity>
74      <deadline>40</deadline>
75      <priority>10</priority>
76      <start_time>0</start_time>
77      <criticality>0</criticality>
78      <jitter>0</jitter>
79      <text_memory_size>0</text_memory_size>
80      <stack_memory_size>100</stack_memory_size>
81      <predictable_seed>TRUE</predictable_seed>
82      <seed>0</seed>
83      <blocking_time>0</blocking_time>
84    </periodic_task>
85    <periodic_task id="root.cpu.partition1_pr.temperature">
86      <name>root.cpu.partition1_pr.temperature</name>
87      <object_type>TASK_OBJECT_TYPE</object_type>
88      <task_type>PERIODIC_TYPE</task_type>
89      <address_space_name>root.cpu.partition1_pr</address_space_name>
90      <cpu_name>root.cpu</cpu_name>
91      <policy>SCHED_FIFO</policy>
92      <period>20</period>
93      <capacity>12</capacity>
94      <deadline>40</deadline>
95      <priority>42</priority>
96      <start_time>0</start_time>
97      <criticality>0</criticality>
98      <jitter>0</jitter>
99      <text_memory_size>0</text_memory_size>
100      <stack_memory_size>100</stack_memory_size>
101      <predictable_seed>TRUE</predictable_seed>
102      <seed>0</seed>
103      <blocking_time>0</blocking_time>
104    </periodic_task>
105    <periodic_task id="root.cpu.partition2_pr.printer">
106      <name>root.cpu.partition2_pr.printer</name>
107      <object_type>TASK_OBJECT_TYPE</object_type>
108      <task_type>PERIODIC_TYPE</task_type>
109      <address_space_name>root.cpu.partition2_pr</address_space_name>
110      <cpu_name>root.cpu</cpu_name>
111      <policy>SCHED_FIFO</policy>
112      <period>20</period>
113      <capacity>6</capacity>
114      <deadline>40</deadline>
115      <priority>43</priority>
116      <start_time>0</start_time>
117      <criticality>0</criticality>
118      <jitter>0</jitter>
119      <text_memory_size>0</text_memory_size>
120      <stack_memory_size>100</stack_memory_size>
121      <predictable_seed>TRUE</predictable_seed>
122      <seed>0</seed>
123      <blocking_time>0</blocking_time>
124    </periodic_task>
125    <periodic_task id="root.cpu.partition2_pr.receiver">
126      <name>root.cpu.partition2_pr.receiver</name>
127      <object_type>TASK_OBJECT_TYPE</object_type>
128      <task_type>PERIODIC_TYPE</task_type>
129      <address_space_name>root.cpu.partition2_pr</address_space_name>
130      <cpu_name>root.cpu</cpu_name>
131      <policy>SCHED_FIFO</policy>
132      <period>20</period>
133      <capacity>7</capacity>
134      <deadline>40</deadline>
135      <priority>42</priority>
136      <start_time>0</start_time>
137      <criticality>0</criticality>
138      <jitter>0</jitter>
139      <text_memory_size>0</text_memory_size>
140      <stack_memory_size>0</stack_memory_size>
141      <predictable_seed>TRUE</predictable_seed>
142      <seed>0</seed>
143      <blocking_time>0</blocking_time>
144    </periodic_task>
145  </tasks>
146  <resources>
147    <np_resource id="root.cpu.partition2_pr.blackboard">
148      <name>root.cpu.partition2_pr.blackboard</name>
149      <object_type>RESOURCE_OBJECT_TYPE</object_type>
150      <protocol>NO_PROTOCOL</protocol>
151      <address_space_name>root.cpu.partition2_pr</address_space_name>
152      <cpu_name>root.cpu</cpu_name>
153      <state>1</state>
154      <size>0</size>
155      <address>0</address>
156      <critical_sections>
157        <task_name>root.cpu.partition2_pr.printer</task_name>
158        <critical_section>
159          <task_begin>1</task_begin>
160          <task_end>6</task_end>
161        </critical_section>
162        <task_name>root.cpu.partition2_pr.receiver</task_name>
163        <critical_section>
164          <task_begin>1</task_begin>
165          <task_end>7</task_end>
166        </critical_section>
167      </critical_sections>
168    </np_resource>
169    <np_resource id="root.cpu.partition2_pr.semaphore">
170      <name>root.cpu.partition2_pr.semaphore</name>
171      <object_type>RESOURCE_OBJECT_TYPE</object_type>
172      <protocol>NO_PROTOCOL</protocol>
173      <address_space_name>root.cpu.partition2_pr</address_space_name>
174      <cpu_name>root.cpu</cpu_name>
175      <state>1</state>
176      <size>0</size>
177      <address>0</address>
178      <critical_sections>
179        <task_name>root.cpu.partition2_pr.printer</task_name>
180        <critical_section>
181          <task_begin>1</task_begin>
182          <task_end>6</task_end>
183        </critical_section>
184        <task_name>root.cpu.partition2_pr.receiver</task_name>
185        <critical_section>
186          <task_begin>1</task_begin>
187          <task_end>7</task_end>
188        </critical_section>
189      </critical_sections>
190    </np_resource>
191  </resources>
192  <buffers>
193    <buffer id="root.cpu.partition1_pr.order.commandin">
194      <name>root.cpu.partition1_pr.order.commandin</name>
195      <object_type>BUFFER_OBJECT_TYPE</object_type>
196      <address_space_name>root.cpu.partition1_pr</address_space_name>
197      <cpu_name>root.cpu</cpu_name>
198      <queueing_system_type>QS_PP1</queueing_system_type>
199      <size>1</size>
200      <roles>
201        <task_name>root.cpu.partition1_pr.order</task_name>
202        <buffer_role>
203          <the_role>QUEUING_CONSUMER</the_role>
204          <size>1</size>
205          <time>1</time>
206          <timeout>1</timeout>
207        </buffer_role>
208      </roles>
209    </buffer>
210    <buffer id="root.cpu.partition1_pr.temperature.order">
211      <name>root.cpu.partition1_pr.temperature.order</name>
212      <object_type>BUFFER_OBJECT_TYPE</object_type>
213      <address_space_name>root.cpu.partition1_pr</address_space_name>
214      <cpu_name>root.cpu</cpu_name>
215      <queueing_system_type>QS_PP1</queueing_system_type>
216      <size>1</size>
217      <roles>
218        <task_name>root.cpu.partition1_pr.temperature</task_name>
219        <buffer_role>
220          <the_role>QUEUING_CONSUMER</the_role>
221          <size>1</size>
222          <time>1</time>
223          <timeout>1</timeout>
224        </buffer_role>
225        <task_name>root.cpu.partition1_pr.order</task_name>
226        <buffer_role>
227          <the_role>QUEUING_PRODUCER</the_role>
228          <size>1</size>
229          <time>1</time>
230          <timeout>1</timeout>
231        </buffer_role>
232      </roles>
233    </buffer>
234    <buffer id="root.cpu.partition2_pr.printer.newavg">
235      <name>root.cpu.partition2_pr.printer.newavg</name>
236      <object_type>BUFFER_OBJECT_TYPE</object_type>
237      <address_space_name>root.cpu.partition2_pr</address_space_name>
238      <cpu_name>root.cpu</cpu_name>
239      <queueing_system_type>QS_PP1</queueing_system_type>
240      <size>1</size>
241      <roles>
242        <task_name>root.cpu.partition2_pr.printer</task_name>
243        <buffer_role>
244          <the_role>QUEUING_CONSUMER</the_role>
245          <size>1</size>
246          <time>1</time>
247          <timeout>1</timeout>
248        </buffer_role>
249        <task_name>root.cpu.partition2_pr.receiver</task_name>
250        <buffer_role>
251          <the_role>QUEUING_PRODUCER</the_role>
252          <size>1</size>
253          <time>1</time>
254          <timeout>1</timeout>
255        </buffer_role>
256      </roles>
257    </buffer>
258  </buffers>
259  <dependencies>
260    <dependency>
261      <type_of_dependency>RESOURCE_DEPENDENCY</type_of_dependency>
262      <resource_dependency_resource ref="root.cpu.partition2_pr.blackboard"/>
263      <resource_dependency_task ref="root.cpu.partition2_pr.printer"/>
264    </dependency>
265    <dependency>
266      <type_of_dependency>RESOURCE_DEPENDENCY</type_of_dependency>
267      <resource_dependency_resource ref="root.cpu.partition2_pr.blackboard"/>
268      <resource_dependency_task ref="root.cpu.partition2_pr.receiver"/>
269    </dependency>
270    <dependency>
271      <type_of_dependency>RESOURCE_DEPENDENCY</type_of_dependency>
272      <resource_dependency_resource ref="root.cpu.partition2_pr.semaphore"/>
273      <resource_dependency_task ref="root.cpu.partition2_pr.printer"/>
274    </dependency>
275    <dependency>
276      <type_of_dependency>RESOURCE_DEPENDENCY</type_of_dependency>
277      <resource_dependency_resource ref="root.cpu.partition2_pr.semaphore"/>
278      <resource_dependency_task ref="root.cpu.partition2_pr.receiver"/>
279    </dependency>
280    <dependency>
281      <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
282      <buffer_dependency_object ref="root.cpu.partition1_pr.order.commandin"/>
283      <buffer_dependent_task ref="root.cpu.partition1_pr.order"/>
284      <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
285    </dependency>
286    <dependency>
287      <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
288      <buffer_dependency_object ref="root.cpu.partition1_pr.temperature.order"/>
289      <buffer_dependent_task ref="root.cpu.partition1_pr.temperature"/>
290      <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
291    </dependency>
292    <dependency>
293      <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
294      <buffer_dependency_object ref="root.cpu.partition1_pr.temperature.order"/>
295      <buffer_dependent_task ref="root.cpu.partition1_pr.order"/>
296      <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
297    </dependency>
298    <dependency>
299      <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
300      <buffer_dependency_object ref="root.cpu.partition2_pr.printer.newavg"/>
301      <buffer_dependent_task ref="root.cpu.partition2_pr.printer"/>
302      <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
303    </dependency>
304    <dependency>
305      <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
306      <buffer_dependency_object ref="root.cpu.partition2_pr.printer.newavg"/>
307      <buffer_dependent_task ref="root.cpu.partition2_pr.receiver"/>
308      <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
309    </dependency>
310  </dependencies>
311</cheddar>