Ticket #141: test_buffer.xmlv3

File test_buffer.xmlv3, 16.9 KB (added by jlegrand, 10 years ago)
Line 
1<?xml version="1.0" encoding="utf-8"?>
2<cheddar>
3 <core_units>
4  <core_unit id="core_bus">
5   <object_type>CORE_OBJECT_TYPE</object_type>
6   <name>core_bus</name>
7   <scheduling>
8    <scheduling_parameters>
9     <scheduler_type>POSIX_1003_HIGHEST_PRIORITY_FIRST_PROTOCOL</scheduler_type>
10     <quantum>0</quantum>
11     <preemptive_type>PREEMPTIVE</preemptive_type>
12     <capacity>0</capacity>
13     <period>0</period>
14     <priority>0</priority>
15     <start_time>0</start_time>
16    </scheduling_parameters>
17   </scheduling>
18   <speed>0.00000</speed>
19  </core_unit>
20  <core_unit id="core_p1">
21   <object_type>CORE_OBJECT_TYPE</object_type>
22   <name>core_P1</name>
23   <scheduling>
24    <scheduling_parameters>
25     <scheduler_type>POSIX_1003_HIGHEST_PRIORITY_FIRST_PROTOCOL</scheduler_type>
26     <quantum>0</quantum>
27     <preemptive_type>PREEMPTIVE</preemptive_type>
28     <capacity>0</capacity>
29     <period>0</period>
30     <priority>0</priority>
31     <start_time>0</start_time>
32    </scheduling_parameters>
33   </scheduling>
34   <speed>0.00000</speed>
35  </core_unit>
36  <core_unit id="core_p2">
37   <object_type>CORE_OBJECT_TYPE</object_type>
38   <name>core_P2</name>
39   <scheduling>
40    <scheduling_parameters>
41     <scheduler_type>POSIX_1003_HIGHEST_PRIORITY_FIRST_PROTOCOL</scheduler_type>
42     <quantum>0</quantum>
43     <preemptive_type>PREEMPTIVE</preemptive_type>
44     <capacity>0</capacity>
45     <period>0</period>
46     <priority>0</priority>
47     <start_time>0</start_time>
48    </scheduling_parameters>
49   </scheduling>
50   <speed>0.00000</speed>
51  </core_unit>
52 </core_units>
53 <address_spaces>
54  <address_space id="as_bus">
55   <object_type>ADDRESS_SPACE_OBJECT_TYPE</object_type>
56   <name>as_BUS</name>
57   <cpu_name>BUS</cpu_name>
58   <text_memory_size>0</text_memory_size>
59   <stack_memory_size>0</stack_memory_size>
60   <data_memory_size>0</data_memory_size>
61   <heap_memory_size>0</heap_memory_size>
62   <scheduling>
63    <scheduling_parameters>
64     <scheduler_type>NO_SCHEDULING_PROTOCOL</scheduler_type>
65     <quantum>0</quantum>
66     <preemptive_type>PREEMPTIVE</preemptive_type>
67     <capacity>0</capacity>
68     <period>0</period>
69     <priority>0</priority>
70     <start_time>0</start_time>
71    </scheduling_parameters>
72   </scheduling>
73  </address_space>
74  <address_space id="as_p1">
75   <object_type>ADDRESS_SPACE_OBJECT_TYPE</object_type>
76   <name>as_P1</name>
77   <cpu_name>P1</cpu_name>
78   <text_memory_size>0</text_memory_size>
79   <stack_memory_size>0</stack_memory_size>
80   <data_memory_size>0</data_memory_size>
81   <heap_memory_size>0</heap_memory_size>
82   <scheduling>
83    <scheduling_parameters>
84     <scheduler_type>NO_SCHEDULING_PROTOCOL</scheduler_type>
85     <quantum>0</quantum>
86     <preemptive_type>PREEMPTIVE</preemptive_type>
87     <capacity>0</capacity>
88     <period>0</period>
89     <priority>0</priority>
90     <start_time>0</start_time>
91    </scheduling_parameters>
92   </scheduling>
93  </address_space>
94  <address_space id="as_p2">
95   <object_type>ADDRESS_SPACE_OBJECT_TYPE</object_type>
96   <name>as_P2</name>
97   <cpu_name>P2</cpu_name>
98   <text_memory_size>0</text_memory_size>
99   <stack_memory_size>0</stack_memory_size>
100   <data_memory_size>0</data_memory_size>
101   <heap_memory_size>0</heap_memory_size>
102   <scheduling>
103    <scheduling_parameters>
104     <scheduler_type>NO_SCHEDULING_PROTOCOL</scheduler_type>
105     <quantum>0</quantum>
106     <preemptive_type>PREEMPTIVE</preemptive_type>
107     <capacity>0</capacity>
108     <period>0</period>
109     <priority>0</priority>
110     <start_time>0</start_time>
111    </scheduling_parameters>
112   </scheduling>
113  </address_space>
114 </address_spaces>
115 <processors>
116  <mono_core_processor id="bus">
117   <object_type>PROCESSOR_OBJECT_TYPE</object_type>
118   <name>BUS</name>
119   <processor_type>MONOCORE_TYPE</processor_type>
120   <migration_type>NO_MIGRATION_TYPE</migration_type>
121   <core ref="core_bus">
122   </core>
123  </mono_core_processor>
124  <mono_core_processor id="p1">
125   <object_type>PROCESSOR_OBJECT_TYPE</object_type>
126   <name>P1</name>
127   <processor_type>MONOCORE_TYPE</processor_type>
128   <migration_type>NO_MIGRATION_TYPE</migration_type>
129   <core ref="core_p1">
130   </core>
131  </mono_core_processor>
132  <mono_core_processor id="p2">
133   <object_type>PROCESSOR_OBJECT_TYPE</object_type>
134   <name>P2</name>
135   <processor_type>MONOCORE_TYPE</processor_type>
136   <migration_type>NO_MIGRATION_TYPE</migration_type>
137   <core ref="core_p2">
138   </core>
139  </mono_core_processor>
140 </processors>
141 <tasks>
142  <periodic_task id="t1_p1"> <!-- r=1 !-->
143   <object_type>TASK_OBJECT_TYPE</object_type>
144   <name>T1_P1</name>
145   <task_type>PERIODIC_TYPE</task_type>
146   <cpu_name>P1</cpu_name>
147   <address_space_name>as_P1</address_space_name>
148   <capacity>1</capacity>
149   <deadline>5</deadline>
150   <start_time>0</start_time>
151   <priority>5</priority>
152   <blocking_time>0</blocking_time>
153   <policy>SCHED_FIFO</policy>
154   <text_memory_size>0</text_memory_size>
155   <stack_memory_size>0</stack_memory_size>
156   <criticality>0</criticality>
157   <context_switch_overhead>0</context_switch_overhead>
158   <period>5</period>
159   <jitter>0</jitter>
160  </periodic_task>
161  <periodic_task id="t2_p1"> <!-- r=3 !-->
162   <object_type>TASK_OBJECT_TYPE</object_type>
163   <name>T2_P1</name>
164   <task_type>PERIODIC_TYPE</task_type>
165   <cpu_name>P1</cpu_name>
166   <address_space_name>as_P1</address_space_name>
167   <capacity>2</capacity>
168   <deadline>10</deadline>
169   <start_time>0</start_time>
170   <priority>4</priority>
171   <blocking_time>0</blocking_time>
172   <policy>SCHED_FIFO</policy>
173   <text_memory_size>0</text_memory_size>
174   <stack_memory_size>0</stack_memory_size>
175   <criticality>0</criticality>
176   <context_switch_overhead>0</context_switch_overhead>
177   <period>10</period>
178   <jitter>0</jitter>
179  </periodic_task>
180  <periodic_task id="t3_p1"> <!-- r=4 !-->
181   <object_type>TASK_OBJECT_TYPE</object_type>
182   <name>T3_P1</name>
183   <task_type>PERIODIC_TYPE</task_type>
184   <cpu_name>P1</cpu_name>
185   <address_space_name>as_P1</address_space_name>
186   <capacity>1</capacity>
187   <deadline>15</deadline>
188   <start_time>0</start_time>
189   <priority>3</priority>
190   <blocking_time>0</blocking_time>
191   <policy>SCHED_FIFO</policy>
192   <text_memory_size>0</text_memory_size>
193   <stack_memory_size>0</stack_memory_size>
194   <criticality>0</criticality>
195   <context_switch_overhead>0</context_switch_overhead>
196   <period>15</period>
197   <jitter>0</jitter>
198  </periodic_task>
199  <periodic_task id="t1_bus"> <!-- j=1 r=2 !-->
200   <object_type>TASK_OBJECT_TYPE</object_type>
201   <name>T1_BUS</name>
202   <task_type>PERIODIC_TYPE</task_type>
203   <cpu_name>BUS</cpu_name>
204   <address_space_name>as_BUS</address_space_name>
205   <capacity>1</capacity>
206   <deadline>5</deadline>
207   <start_time>0</start_time>
208   <priority>5</priority>
209   <blocking_time>0</blocking_time>
210   <policy>SCHED_FIFO</policy>
211   <offsets>
212    <offset_type>
213     <offset_value>0</offset_value>
214     <activation>0</activation>
215    </offset_type>
216   </offsets>
217   <text_memory_size>0</text_memory_size>
218   <stack_memory_size>0</stack_memory_size>
219   <criticality>0</criticality>
220   <context_switch_overhead>0</context_switch_overhead>
221   <period>5</period>
222   <jitter>0</jitter>
223  </periodic_task>
224  <periodic_task id="t2_bus"> <!-- j=3 r=5 !-->
225   <object_type>TASK_OBJECT_TYPE</object_type>
226   <name>T2_BUS</name>
227   <task_type>PERIODIC_TYPE</task_type>
228   <cpu_name>BUS</cpu_name>
229   <address_space_name>as_BUS</address_space_name>
230   <capacity>2</capacity>
231   <deadline>10</deadline>
232   <start_time>0</start_time>
233   <priority>4</priority>
234   <blocking_time>0</blocking_time>
235   <policy>SCHED_FIFO</policy>
236   <offsets>
237    <offset_type>
238     <offset_value>0</offset_value>
239     <activation>0</activation>
240    </offset_type>
241   </offsets>
242   <text_memory_size>0</text_memory_size>
243   <stack_memory_size>0</stack_memory_size>
244   <criticality>0</criticality>
245   <context_switch_overhead>0</context_switch_overhead>
246   <period>10</period>
247   <jitter>0</jitter>
248  </periodic_task>
249  <periodic_task id="t3_bus"> <!-- j=4 r=6 !-->
250   <object_type>TASK_OBJECT_TYPE</object_type>
251   <name>T3_BUS</name>
252   <task_type>PERIODIC_TYPE</task_type>
253   <cpu_name>BUS</cpu_name>
254   <address_space_name>as_BUS</address_space_name>
255   <capacity>1</capacity>
256   <deadline>15</deadline>
257   <start_time>0</start_time>
258   <priority>3</priority>
259   <blocking_time>0</blocking_time>
260   <policy>SCHED_FIFO</policy>
261   <offsets>
262    <offset_type>
263     <offset_value>0</offset_value>
264     <activation>0</activation>
265    </offset_type>
266   </offsets>
267   <text_memory_size>0</text_memory_size>
268   <stack_memory_size>0</stack_memory_size>
269   <criticality>0</criticality>
270   <context_switch_overhead>0</context_switch_overhead>
271   <period>15</period>
272   <jitter>0</jitter>
273  </periodic_task>
274  <periodic_task id="t1_p2"> <!-- j=2 r=3 !-->
275   <object_type>TASK_OBJECT_TYPE</object_type>
276   <name>T1_P2</name>
277   <task_type>PERIODIC_TYPE</task_type>
278   <cpu_name>P2</cpu_name>
279   <address_space_name>as_P2</address_space_name>
280   <capacity>1</capacity>
281   <deadline>5</deadline>
282   <start_time>0</start_time>
283   <priority>5</priority>
284   <blocking_time>0</blocking_time>
285   <policy>SCHED_FIFO</policy>
286   <offsets>
287    <offset_type>
288     <offset_value>0</offset_value>
289     <activation>0</activation>
290    </offset_type>
291   </offsets>
292   <text_memory_size>0</text_memory_size>
293   <stack_memory_size>0</stack_memory_size>
294   <criticality>0</criticality>
295   <context_switch_overhead>0</context_switch_overhead>
296   <period>5</period>
297   <jitter>0</jitter>
298  </periodic_task>
299  <periodic_task id="t2_p2"> <!-- j=5 r=7 !-->
300   <object_type>TASK_OBJECT_TYPE</object_type>
301   <name>T2_P2</name>
302   <task_type>PERIODIC_TYPE</task_type>
303   <cpu_name>P2</cpu_name>
304   <address_space_name>as_P2</address_space_name>
305   <capacity>2</capacity>
306   <deadline>10</deadline>
307   <start_time>0</start_time>
308   <priority>4</priority>
309   <blocking_time>0</blocking_time>
310   <policy>SCHED_FIFO</policy>
311   <offsets>
312    <offset_type>
313     <offset_value>0</offset_value>
314     <activation>0</activation>
315    </offset_type>
316   </offsets>
317   <text_memory_size>0</text_memory_size>
318   <stack_memory_size>0</stack_memory_size>
319   <criticality>0</criticality>
320   <context_switch_overhead>0</context_switch_overhead>
321   <period>10</period>
322   <jitter>0</jitter>
323  </periodic_task>
324  <periodic_task id="t3_p2"> <!-- j=6 r=9 !-->
325   <object_type>TASK_OBJECT_TYPE</object_type>
326   <name>T3_P2</name>
327   <task_type>PERIODIC_TYPE</task_type>
328   <cpu_name>P2</cpu_name>
329   <address_space_name>as_P2</address_space_name>
330   <capacity>1</capacity>
331   <deadline>15</deadline>
332   <start_time>0</start_time>
333   <priority>3</priority>
334   <blocking_time>0</blocking_time>
335   <policy>SCHED_FIFO</policy>
336   <offsets>
337    <offset_type>
338     <offset_value>0</offset_value>
339     <activation>0</activation>
340    </offset_type>
341   </offsets>
342   <text_memory_size>0</text_memory_size>
343   <stack_memory_size>0</stack_memory_size>
344   <criticality>0</criticality>
345   <context_switch_overhead>0</context_switch_overhead>
346   <period>15</period>
347   <jitter>0</jitter>
348  </periodic_task>
349  </tasks>
350 <buffers>
351  <buffer id="buffer1">
352   <object_type>BUFFER_OBJECT_TYPE</object_type>
353   <name>buffer_P1</name>
354   <cpu_name>P1</cpu_name>
355   <address_space_name>as_P1</address_space_name>
356   <queueing_system_type>QS_PP1</queueing_system_type>
357   <size>7</size>
358   <roles>
359    <task_name>T1_P1</task_name>
360    <buffer_role>
361     <the_role>QUEUING_PRODUCER</the_role>
362     <size>1</size>
363     <time>1</time>
364     <timeout>1</timeout>
365    </buffer_role>
366        <task_name>T1_BUS</task_name>
367    <buffer_role>
368     <the_role>QUEUING_CONSUMER</the_role>
369     <size>1</size>
370     <time>1</time>
371     <timeout>1</timeout>
372    </buffer_role>
373        <task_name>T2_P1</task_name>
374    <buffer_role>
375     <the_role>QUEUING_PRODUCER</the_role>
376     <size>2</size>
377     <time>1</time>
378     <timeout>2</timeout>
379    </buffer_role>
380        <task_name>T2_BUS</task_name>
381    <buffer_role>
382     <the_role>QUEUING_CONSUMER</the_role>
383     <size>2</size>
384     <time>1</time>
385     <timeout>2</timeout>
386    </buffer_role>
387        <task_name>T3_P1</task_name>
388    <buffer_role>
389     <the_role>QUEUING_PRODUCER</the_role>
390     <size>1</size>
391     <time>1</time>
392     <timeout>1</timeout>
393    </buffer_role>
394        <task_name>T3_BUS</task_name>
395    <buffer_role>
396     <the_role>QUEUING_CONSUMER</the_role>
397     <size>1</size>
398     <time>1</time>
399     <timeout>1</timeout>
400    </buffer_role>
401   </roles>
402  </buffer>
403  <buffer id="buffer2">
404   <object_type>BUFFER_OBJECT_TYPE</object_type>
405   <name>buffer_P2</name>
406   <cpu_name>P2</cpu_name>
407   <address_space_name>as_P2</address_space_name>
408   <queueing_system_type>QS_PP1</queueing_system_type>
409   <size>7</size>
410   <roles>
411    <task_name>T1_BUS</task_name>
412    <buffer_role>
413     <the_role>QUEUING_PRODUCER</the_role>
414     <size>1</size>
415     <time>1</time>
416     <timeout>1</timeout>
417    </buffer_role>
418        <task_name>T1_P2</task_name>
419    <buffer_role>
420     <the_role>QUEUING_CONSUMER</the_role>
421     <size>1</size>
422     <time>1</time>
423     <timeout>1</timeout>
424    </buffer_role>
425        <task_name>T2_BUS</task_name>
426    <buffer_role>
427     <the_role>QUEUING_PRODUCER</the_role>
428     <size>2</size>
429     <time>1</time>
430     <timeout>2</timeout>
431    </buffer_role>
432        <task_name>T2_P2</task_name>
433    <buffer_role>
434     <the_role>QUEUING_CONSUMER</the_role>
435     <size>2</size>
436     <time>1</time>
437     <timeout>2</timeout>
438    </buffer_role>
439        <task_name>T3_BUS</task_name>
440    <buffer_role>
441     <the_role>QUEUING_PRODUCER</the_role>
442     <size>1</size>
443     <time>1</time>
444     <timeout>1</timeout>
445    </buffer_role>
446        <task_name>T3_P2</task_name>
447    <buffer_role>
448     <the_role>QUEUING_CONSUMER</the_role>
449     <size>1</size>
450     <time>1</time>
451     <timeout>1</timeout>
452    </buffer_role>
453   </roles>
454  </buffer>
455 </buffers>
456 <dependencies>
457  <dependency>
458   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
459   <buffer_dependency_object ref="buffer1"/>
460   <buffer_dependent_task ref="t1_p1"/>
461   <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
462  </dependency>
463  <dependency>
464   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
465   <buffer_dependency_object ref="buffer1"/>
466   <buffer_dependent_task ref="t1_bus"/>
467   <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
468  </dependency>
469  <dependency>
470   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
471   <buffer_dependency_object ref="buffer1"/>
472   <buffer_dependent_task ref="t2_p1"/>
473   <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
474  </dependency>
475  <dependency>
476   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
477   <buffer_dependency_object ref="buffer1"/>
478   <buffer_dependent_task ref="t2_bus"/>
479   <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
480  </dependency>
481  <dependency>
482   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
483   <buffer_dependency_object ref="buffer1"/>
484   <buffer_dependent_task ref="t3_p1"/>
485   <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
486  </dependency>
487  <dependency>
488   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
489   <buffer_dependency_object ref="buffer1"/>
490   <buffer_dependent_task ref="t3_bus"/>
491   <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
492  </dependency>
493 
494  <dependency>
495   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
496   <buffer_dependency_object ref="buffer2"/>
497   <buffer_dependent_task ref="t1_bus"/>
498   <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
499  </dependency>
500  <dependency>
501   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
502   <buffer_dependency_object ref="buffer2"/>
503   <buffer_dependent_task ref="t1_p2"/>
504   <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
505  </dependency>
506  <dependency>
507   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
508   <buffer_dependency_object ref="buffer2"/>
509   <buffer_dependent_task ref="t2_bus"/>
510   <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
511  </dependency>
512  <dependency>
513   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
514   <buffer_dependency_object ref="buffer2"/>
515   <buffer_dependent_task ref="t2_p2"/>
516   <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
517  </dependency>
518  <dependency>
519   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
520   <buffer_dependency_object ref="buffer2"/>
521   <buffer_dependent_task ref="t3_bus"/>
522   <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation>
523  </dependency>
524  <dependency>
525   <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency>
526   <buffer_dependency_object ref="buffer2"/>
527   <buffer_dependent_task ref="t3_p2"/>
528   <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation>
529  </dependency>
530 
531  <dependency>
532   <type_of_dependency>PRECEDENCE_DEPENDENCY</type_of_dependency>
533   <precedence_sink ref="t1_bus" />
534   <precedence_source ref="t1_p1" />
535  </dependency>
536  <dependency>
537   <type_of_dependency>PRECEDENCE_DEPENDENCY</type_of_dependency>
538   <precedence_sink ref="t2_bus" />
539   <precedence_source ref="t2_p1" />
540  </dependency>
541  <dependency>
542   <type_of_dependency>PRECEDENCE_DEPENDENCY</type_of_dependency>
543   <precedence_sink ref="t3_bus" />
544   <precedence_source ref="t3_p1" />
545  </dependency>
546 </dependencies>
547</cheddar>
548