Ticket #14: example.xml

File example.xml, 5.9 KB (added by singhoff, 16 years ago)

a user defined scheduler on several processors

Line 
1<?xml version="1.0" standalone="yes"?> 
2<?xml-stylesheet type="text/xsl" href="cheddar_project.xsl"?>
3<!DOCTYPE cheddar [ 
4<!ELEMENT name (#PCDATA) > 
5<!ELEMENT scheduler (#PCDATA) > 
6<!ELEMENT parameter (#PCDATA) > 
7<!ELEMENT context_switch_overhead (#PCDATA) > 
8<!ELEMENT network_link (#PCDATA) > 
9<!ELEMENT offset (#PCDATA) > 
10<!ELEMENT period (#PCDATA) > 
11<!ELEMENT capacity (#PCDATA) > 
12<!ELEMENT deadline (#PCDATA) > 
13<!ELEMENT context_switch_overhead (#PCDATA) > 
14<!ELEMENT blocking_time (#PCDATA) > 
15<!ELEMENT policy (#PCDATA) > 
16<!ELEMENT priority (#PCDATA) > 
17<!ELEMENT criticality (#PCDATA) > 
18<!ELEMENT cpu_name (#PCDATA) > 
19<!ELEMENT address_space_name (#PCDATA) > 
20<!ELEMENT jitter (#PCDATA) > 
21<!ELEMENT seed (#PCDATA) > 
22<!ELEMENT predictable_seed (#PCDATA) > 
23<!ELEMENT activation_rule (#PCDATA) > 
24<!ELEMENT state (#PCDATA) > 
25<!ELEMENT protocol (#PCDATA) > 
26<!ELEMENT size (#PCDATA) > 
27<!ELEMENT qs (#PCDATA) > 
28<!ELEMENT time (#PCDATA) > 
29<!ELEMENT buffer_user (#PCDATA) > 
30<!ELEMENT resource_user (#PCDATA) > 
31<!ELEMENT event_analyzer (#PCDATA) > 
32<!ELEMENT type (#PCDATA) > 
33<!ELEMENT text_memory_size (#PCDATA) > 
34<!ELEMENT heap_memory_size (#PCDATA) > 
35<!ELEMENT stack_memory_size (#PCDATA) > 
36<!ELEMENT data_memory_size (#PCDATA) > 
37<!ELEMENT cheddar (processors, (address_spaces)?, (tasks)?, ((event_analyzers)?|(networks)?|(buffers)?|(resources)?|(messages)?),(dependencies)?  )  >   
38<!ELEMENT processors (processor)+ > 
39<!ELEMENT processor (name|scheduler|network_link) > 
40<!ELEMENT address_spaces (address_space)+ > 
41<!ELEMENT address_space (name|text_memory_size|data_memory_size|stack_memory_size|heap_memory_size|(scheduler)?) > 
42<!ELEMENT networks (network)+ > 
43<!ELEMENT network (name|type) > 
44<!ELEMENT tasks (task)+> 
45<!ELEMENT task (name|cpu_name|address_space_name|capacity|start_time|(context_switch_overhead)?|(stack_memory_size)?|(text_memory_size)?|(period)?|(deadline)?|(parameters)?|(offsets)?|(jitter)?|(policy)?|(criticality)?|(priority)?|(predictable_seed)?|(blocking_time)?|(seed)?
46|(activation_rule)?) > 
47<!ELEMENT offsets (offset)+ > 
48<!ELEMENT parameters (parameter)+ > 
49<!ELEMENT messages (message)+ > 
50<!ELEMENT message (name|size|(period)?|(deadline)?|(jitter)?) > 
51<!ELEMENT buffers (buffer)+ > 
52<!ELEMENT buffer (cpu_name|address_space_name|qs|name|size|(buffer_used_by)?) > 
53<!ELEMENT buffer_used_by (buffer_user)+ > 
54<!ELEMENT resources (resource)+ > 
55<!ELEMENT resource (cpu_name|address_space_name|name|protocol|(state)?|(resource_used_by)?) > 
56<!ELEMENT resource_used_by (resource_user)+ > 
57<!ELEMENT dependencies (dependency)+ > 
58<!ELEMENT event_analyzers (event_analyzer)+ > 
59<!ELEMENT dependency (#PCDATA)  > 
60<!ATTLIST scheduler
61        quantum CDATA  "0" 
62        is_preemptive CDATA  "PREEMPTIVE" 
63        automaton_name CDATA  "" 
64        parametric_file_name CDATA "" > 
65<!ATTLIST event_analyzer 
66        parametric_file_name CDATA "" > 
67<!ATTLIST task 
68        task_type CDATA  "APERIODIC_TYPE" 
69        x CDATA "0" 
70        y CDATA "0" > 
71<!ATTLIST buffer 
72        x CDATA "0"
73        y CDATA "0" > 
74<!ATTLIST message 
75        x CDATA "0"
76        y CDATA "0" > 
77<!ATTLIST buffer_user
78        buffer_role CDATA  "producer" > 
79<!ATTLIST dependency
80        from_type CDATA "task"
81        to_type CDATA "task" > 
82<!ATTLIST parameter
83        parameter_type CDATA  "integer" > 
84] > 
85
86
87
88<cheddar>
89<processors>
90        <processor>
91                <name>cpu1</name>
92                <scheduler parametric_file_name="partition_scheduler1.sc" automaton_name="partition_scheduler1"> AUTOMATA_USER_DEFINED_PROTOCOL </scheduler>
93                <network_link> No_Network </network_link>
94        </processor>
95        <processor>
96                <name>cpu2</name>
97                <scheduler parametric_file_name="partition_scheduler2.sc" automaton_name="partition_scheduler2"> AUTOMATA_USER_DEFINED_PROTOCOL </scheduler>
98                <network_link> No_Network </network_link>
99        </processor>
100</processors>
101<address_spaces>
102        <address_space>
103                <name>addressspace1</name>
104                <cpu_name>cpu1</cpu_name>
105                <text_memory_size> 0</text_memory_size>
106                <stack_memory_size> 0</stack_memory_size>
107                <data_memory_size> 0</data_memory_size>
108                <heap_memory_size> 0</heap_memory_size>
109                <scheduler parametric_file_name="task_scheduler1.sc" automaton_name="task1_scheduler"> AUTOMATA_USER_DEFINED_PROTOCOL </scheduler>
110        </address_space>
111        <address_space>
112                <name>addressspace2</name>
113                <cpu_name>cpu2</cpu_name>
114                <text_memory_size> 0</text_memory_size>
115                <stack_memory_size> 0</stack_memory_size>
116                <data_memory_size> 0</data_memory_size>
117                <heap_memory_size> 0</heap_memory_size>
118                <scheduler parametric_file_name="task_scheduler2.sc" automaton_name="task2_scheduler"> AUTOMATA_USER_DEFINED_PROTOCOL </scheduler>
119        </address_space>
120</address_spaces>
121
122<tasks>
123        <task task_type="PERIODIC_TYPE" >
124                <cpu_name>cpu1</cpu_name>
125                <address_space_name>addressspace1</address_space_name>
126                <name>task1</name>
127                <capacity> 5</capacity>
128                <start_time> 0</start_time>
129                <policy>SCHED_FIFO</policy>
130                <deadline> 10</deadline>
131                <criticality> 0</criticality>
132                <context_switch_overhead> 0</context_switch_overhead>
133                <blocking_time> 0</blocking_time>
134                <priority> 1</priority>
135                <text_memory_size> 0</text_memory_size>
136                <stack_memory_size> 0</stack_memory_size>
137                <period> 10</period>
138                <jitter> 0</jitter>
139        </task>
140        <task task_type="PERIODIC_TYPE" >
141                <cpu_name>cpu2</cpu_name>
142                <address_space_name>addressspace2</address_space_name>
143                <name>task2</name>
144                <capacity> 3</capacity>
145                <start_time> 0</start_time>
146                <policy>SCHED_FIFO</policy>
147                <deadline> 10</deadline>
148                <criticality> 0</criticality>
149                <context_switch_overhead> 0</context_switch_overhead>
150                <blocking_time> 0</blocking_time>
151                <priority> 3</priority>
152                <text_memory_size> 0</text_memory_size>
153                <stack_memory_size> 0</stack_memory_size>
154                <period> 10</period>
155                <jitter> 0</jitter>
156        </task>
157</tasks>
158</cheddar>
159
160
161
162