Ticket #38: buffer.xml

File buffer.xml, 6.3 KB (added by jlegrand, 16 years ago)
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 network_link (#PCDATA) > 
8<!ELEMENT offset (#PCDATA) > 
9<!ELEMENT period (#PCDATA) > 
10<!ELEMENT capacity (#PCDATA) > 
11<!ELEMENT deadline (#PCDATA) > 
12<!ELEMENT blocking_time (#PCDATA) > 
13<!ELEMENT policy (#PCDATA) > 
14<!ELEMENT priority (#PCDATA) > 
15<!ELEMENT cpu_name (#PCDATA) > 
16<!ELEMENT address_space_name (#PCDATA) > 
17<!ELEMENT jitter (#PCDATA) > 
18<!ELEMENT seed (#PCDATA) > 
19<!ELEMENT predictable_seed (#PCDATA) > 
20<!ELEMENT activation_rule (#PCDATA) > 
21<!ELEMENT state (#PCDATA) > 
22<!ELEMENT protocol (#PCDATA) > 
23<!ELEMENT size (#PCDATA) > 
24<!ELEMENT qs (#PCDATA) > 
25<!ELEMENT time (#PCDATA) > 
26<!ELEMENT buffer_user (#PCDATA) > 
27<!ELEMENT resource_user (#PCDATA) > 
28<!ELEMENT event_Analyzer (#PCDATA) > 
29<!ELEMENT type (#PCDATA) > 
30<!ELEMENT text_memory_size (#PCDATA) > 
31<!ELEMENT heap_memory_size (#PCDATA) > 
32<!ELEMENT stack_memory_size (#PCDATA) > 
33<!ELEMENT data_memory_size (#PCDATA) > 
34<!ELEMENT cheddar (processors, (address_spaces)?, (tasks)?, ((event_analyzers)?|(networks)?|(buffers)?|(resources)?|(messages)?),(dependencies)?  )  >   
35<!ELEMENT processors (processor)+ > 
36<!ELEMENT processor (name|scheduler|network_link) > 
37<!ELEMENT address_spaces (address_space)+ > 
38<!ELEMENT address_space (name|text_memory_size|data_memory_size|stack_memory_size|heap_memory_size) > 
39<!ELEMENT networks (network)+ > 
40<!ELEMENT network (name|type) > 
41<!ELEMENT tasks (task)+> 
42<!ELEMENT task (name|cpu_name|address_space_name|capacity|start_time|(stack_memory_size)?|(text_memory_size)?|(period)?|(deadline)?|(parameters)?|(offsets)?|(jitter)?|(policy)?|(priority)?|(predictable_seed)?|(blocking_time)?|(seed)?
43|(activation_rule)?) > 
44<!ELEMENT offsets (offset)+ > 
45<!ELEMENT parameters (parameter)+ > 
46<!ELEMENT messages (message)+ > 
47<!ELEMENT message (name|size|(period)?|(deadline)?|(jitter)?) > 
48<!ELEMENT buffers (buffer)+ > 
49<!ELEMENT buffer (cpu_name|address_space_name|qs|name|size|(buffer_used_by)?) > 
50<!ELEMENT buffer_used_by (buffer_user)+ > 
51<!ELEMENT resources (resource)+ > 
52<!ELEMENT resource (cpu_name|address_space_name|name|protocol|(state)?|(resource_used_by)?) > 
53<!ELEMENT resource_used_by (resource_user)+ > 
54<!ELEMENT dependencies (dependency)+ > 
55<!ELEMENT event_analyzers (event_analyzer)+ > 
56<!ELEMENT dependency (#PCDATA)  > 
57<!ATTLIST scheduler
58        quantum CDATA  "0" 
59        is_preemptive CDATA  "PREEMPTIVE" 
60        parametric_file_name CDATA "" > 
61<!ATTLIST event_analyzer 
62        parametric_file_name CDATA "" > 
63<!ATTLIST task 
64        task_type CDATA  "APERIODIC_TYPE" 
65        x CDATA "0" 
66        y CDATA "0" > 
67<!ATTLIST buffer 
68        x CDATA "0"
69        y CDATA "0" > 
70<!ATTLIST message 
71        x CDATA "0"
72        y CDATA "0" > 
73<!ATTLIST buffer_user
74        buffer_role CDATA  "producer" > 
75<!ATTLIST dependency
76        from_type CDATA "task"
77        to_type CDATA "task" > 
78<!ATTLIST parameter
79        parameter_type CDATA  "integer" > 
80] > 
81
82
83
84<cheddar>
85<processors>
86        <processor>
87                <name>my_processor</name>
88                <scheduler> RATE_MONOTONIC_PROTOCOL </scheduler>
89                <network_link> No_Network </network_link>
90        </processor>
91</processors>
92<address_spaces>
93        <address_space>
94                <name>address_space_1</name>
95                <cpu_name>my_processor</cpu_name>
96                <text_memory_size> 0</text_memory_size>
97                <stack_memory_size> 0</stack_memory_size>
98                <data_memory_size> 0</data_memory_size>
99                <heap_memory_size> 0</heap_memory_size>
100        </address_space>
101        <address_space>
102                <name>addr_buff1</name>
103                <cpu_name>my_processor</cpu_name>
104                <text_memory_size> 0</text_memory_size>
105                <stack_memory_size> 0</stack_memory_size>
106                <data_memory_size> 0</data_memory_size>
107                <heap_memory_size> 0</heap_memory_size>
108        </address_space>
109</address_spaces>
110
111<tasks>
112        <task x=" 10" y=" 90"  task_type="PERIODIC_TYPE" >
113                <cpu_name>my_processor</cpu_name>
114                <address_space_name>address_space_1</address_space_name>
115                <name>T1</name>
116                <capacity> 1</capacity>
117                <start_time> 0</start_time>
118                <policy>SCHED_FIFO</policy>
119                <deadline> 5</deadline>
120                <blocking_time> 0</blocking_time>
121                <priority> 1</priority>
122                <text_memory_size> 0</text_memory_size>
123                <stack_memory_size> 0</stack_memory_size>
124                <period> 5</period>
125                <jitter> 0</jitter>
126        </task>
127        <task x=" 70" y=" 90"  task_type="PERIODIC_TYPE" >
128                <cpu_name>my_processor</cpu_name>
129                <address_space_name>address_space_1</address_space_name>
130                <name>T2</name>
131                <capacity> 5</capacity>
132                <start_time> 0</start_time>
133                <policy>SCHED_FIFO</policy>
134                <deadline> 21</deadline>
135                <blocking_time> 0</blocking_time>
136                <priority> 1</priority>
137                <text_memory_size> 0</text_memory_size>
138                <stack_memory_size> 0</stack_memory_size>
139                <period> 21</period>
140                <jitter> 0</jitter>
141        </task>
142        <task x=" 130" y=" 90"  task_type="PERIODIC_TYPE" >
143                <cpu_name>my_processor</cpu_name>
144                <address_space_name>address_space_1</address_space_name>
145                <name>T3</name>
146                <capacity> 20</capacity>
147                <start_time> 0</start_time>
148                <policy>SCHED_FIFO</policy>
149                <deadline> 46</deadline>
150                <blocking_time> 0</blocking_time>
151                <priority> 1</priority>
152                <text_memory_size> 0</text_memory_size>
153                <stack_memory_size> 0</stack_memory_size>
154                <period> 46</period>
155                <jitter> 0</jitter>
156        </task>
157</tasks>
158<buffers>
159        <buffer>
160                <cpu_name>my_processor</cpu_name>
161                <address_space_name>addr_buff1</address_space_name>
162                <name>buff1</name>
163                <size> 10</size>
164                <qs>QS_PP1</qs>
165                <buffer_used_by>
166                        <buffer_user> T1   1   1 </buffer_user>
167                        <buffer_user buffer_role="consumer"> T2   5   1 </buffer_user>
168                </buffer_used_by>
169        </buffer>
170</buffers>
171<resources>
172        <resource>
173                <cpu_name>my_processor</cpu_name>
174                <address_space_name>addr_buff1</address_space_name>
175                <name>sem1</name>
176                <state> 1</state>
177                <protocol>PRIORITY_INHERITANCE_PROTOCOL</protocol>
178                <resource_used_by>
179                        <resource_user> T1  1  1 </resource_user>
180                        <resource_user> T2  1  5 </resource_user>
181                </resource_used_by>
182        </resource>
183</resources>
184<dependencies>
185        <dependency to_type="buffer"> T1 buff1 </dependency>
186        <dependency from_type="buffer"> buff1 T2 </dependency>
187</dependencies>
188</cheddar>