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.my_platform.CPU.core"> |
---|
7 | <name>root.my_platform.CPU.core</name> |
---|
8 | <object_type>CORE_OBJECT_TYPE</object_type> |
---|
9 | <speed>1.0</speed> |
---|
10 | <scheduling> |
---|
11 | <scheduling_parameters> |
---|
12 | <scheduler_type>RATE_MONOTONIC_PROTOCOL</scheduler_type> |
---|
13 | <quantum>0</quantum> |
---|
14 | <preemptive_type>PREEMPTIVE</preemptive_type> |
---|
15 | </scheduling_parameters> |
---|
16 | </scheduling> |
---|
17 | </core_unit> |
---|
18 | </core_units> |
---|
19 | <processors> |
---|
20 | <mono_core_processor id="root.my_platform.CPU"> |
---|
21 | <name>root.my_platform.CPU</name> |
---|
22 | <object_type>PROCESSOR_OBJECT_TYPE</object_type> |
---|
23 | <processor_type>MONOCORE_TYPE</processor_type> |
---|
24 | <network>No_Network</network> |
---|
25 | <migration_type>NO_MIGRATION_TYPE</migration_type> |
---|
26 | <core ref="root.my_platform.CPU.core"/> |
---|
27 | </mono_core_processor> |
---|
28 | </processors> |
---|
29 | <address_spaces> |
---|
30 | <address_space id="root.my_platform.CPU.my_process"> |
---|
31 | <name>root.my_platform.CPU.my_process</name> |
---|
32 | <object_type>ADDRESS_SPACE_OBJECT_TYPE</object_type> |
---|
33 | <cpu_name>root.my_platform.CPU</cpu_name> |
---|
34 | <text_memory_size>0</text_memory_size> |
---|
35 | <stack_memory_size>0</stack_memory_size> |
---|
36 | <data_memory_size>0</data_memory_size> |
---|
37 | <heap_memory_size>0</heap_memory_size> |
---|
38 | <scheduling> |
---|
39 | <scheduling_parameters> |
---|
40 | <scheduler_type>NO_SCHEDULING_PROTOCOL</scheduler_type> |
---|
41 | <quantum>0</quantum> |
---|
42 | <preemptive_type>PREEMPTIVE</preemptive_type> |
---|
43 | </scheduling_parameters> |
---|
44 | </scheduling> |
---|
45 | </address_space> |
---|
46 | </address_spaces> |
---|
47 | <tasks> |
---|
48 | <periodic_task id="root.my_platform.CPU.my_process.sender"> |
---|
49 | <name>root.my_platform.CPU.my_process.sender</name> |
---|
50 | <object_type>TASK_OBJECT_TYPE</object_type> |
---|
51 | <task_type>PERIODIC_TYPE</task_type> |
---|
52 | <address_space_name>root.my_platform.CPU.my_process</address_space_name> |
---|
53 | <cpu_name>root.my_platform.CPU</cpu_name> |
---|
54 | <policy>SCHED_OTHERS</policy> |
---|
55 | <period>20</period> |
---|
56 | <capacity>8</capacity> |
---|
57 | <deadline>20</deadline> |
---|
58 | <start_time>0</start_time> |
---|
59 | <criticality>0</criticality> |
---|
60 | <jitter>0</jitter> |
---|
61 | <text_memory_size>0</text_memory_size> |
---|
62 | <stack_memory_size>0</stack_memory_size> |
---|
63 | <predictable_seed>TRUE</predictable_seed> |
---|
64 | <seed>0</seed> |
---|
65 | <blocking_time>0</blocking_time> |
---|
66 | </periodic_task> |
---|
67 | <sporadic_task id="root.my_platform.CPU.my_process.receiver"> |
---|
68 | <name>root.my_platform.CPU.my_process.receiver</name> |
---|
69 | <object_type>TASK_OBJECT_TYPE</object_type> |
---|
70 | <task_type>PERIODIC_TYPE</task_type> |
---|
71 | <address_space_name>root.my_platform.CPU.my_process</address_space_name> |
---|
72 | <cpu_name>root.my_platform.CPU</cpu_name> |
---|
73 | <policy>SCHED_OTHERS</policy> |
---|
74 | <period>21</period> |
---|
75 | <capacity>2</capacity> |
---|
76 | <deadline>21</deadline> |
---|
77 | <start_time>0</start_time> |
---|
78 | <criticality>0</criticality> |
---|
79 | <jitter>0</jitter> |
---|
80 | <text_memory_size>0</text_memory_size> |
---|
81 | <stack_memory_size>0</stack_memory_size> |
---|
82 | <predictable_seed>TRUE</predictable_seed> |
---|
83 | <seed>0</seed> |
---|
84 | <blocking_time>0</blocking_time> |
---|
85 | </sporadic_task> |
---|
86 | </tasks> |
---|
87 | <resources> |
---|
88 | </resources> |
---|
89 | <buffers> |
---|
90 | <buffer id="root.my_platform.CPU.my_process.receiver.receive"> |
---|
91 | <name>root.my_platform.CPU.my_process.receiver.receive</name> |
---|
92 | <object_type>BUFFER_OBJECT_TYPE</object_type> |
---|
93 | <address_space_name>root.my_platform.CPU.my_process</address_space_name> |
---|
94 | <cpu_name>root.my_platform.CPU</cpu_name> |
---|
95 | <queueing_system_type>QS_PP1</queueing_system_type> |
---|
96 | <size>5</size> |
---|
97 | <roles> |
---|
98 | <task_name>root.my_platform.CPU.my_process.receiver</task_name> |
---|
99 | <buffer_role> |
---|
100 | <the_role>QUEUING_CONSUMER</the_role> |
---|
101 | <size>1</size> |
---|
102 | <time>1</time> |
---|
103 | <timeout>1</timeout> |
---|
104 | </buffer_role> |
---|
105 | <task_name>root.my_platform.CPU.my_process.sender</task_name> |
---|
106 | <buffer_role> |
---|
107 | <the_role>QUEUING_PRODUCER</the_role> |
---|
108 | <size>1</size> |
---|
109 | <time>1</time> |
---|
110 | <timeout>1</timeout> |
---|
111 | </buffer_role> |
---|
112 | </roles> |
---|
113 | </buffer> |
---|
114 | </buffers> |
---|
115 | <dependencies> |
---|
116 | <dependency> |
---|
117 | <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency> |
---|
118 | <buffer_dependency_object ref="root.my_platform.CPU.my_process.receiver.receive"/> |
---|
119 | <buffer_dependent_task ref="root.my_platform.CPU.my_process.receiver"/> |
---|
120 | <buffer_orientation>FROM_OBJECT_TO_TASK</buffer_orientation> |
---|
121 | </dependency> |
---|
122 | <dependency> |
---|
123 | <type_of_dependency>QUEUING_BUFFER_DEPENDENCY</type_of_dependency> |
---|
124 | <buffer_dependency_object ref="root.my_platform.CPU.my_process.receiver.receive"/> |
---|
125 | <buffer_dependent_task ref="root.my_platform.CPU.my_process.sender"/> |
---|
126 | <buffer_orientation>FROM_TASK_TO_OBJECT</buffer_orientation> |
---|
127 | </dependency> |
---|
128 | </dependencies> |
---|
129 | </cheddar> |
---|