source: xssim/trunk/src/test/rewolucja/schemas/XSSimResSchema.xsd @ 293

Revision 293, 10.7 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3        elementFormDefault="qualified" attributeFormDefault="unqualified">
4               
5        <xs:complexType name="timeEstimationPluginType">
6                <xs:annotation>
7                        <xs:documentation>Time estimation plugin</xs:documentation>
8                </xs:annotation>
9                <xs:sequence>
10                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
11                </xs:sequence>
12        </xs:complexType>
13       
14        <xs:complexType name="resource">
15                <xs:attribute name="type" type="xs:string" use="required" />
16                <xs:attribute name="id" type="xs:ID" use="optional" />
17                <xs:attribute name="count" type="xs:integer" use="optional" />
18        </xs:complexType>
19
20        <xs:complexType name="computingResourceInterface">
21                <xs:annotation>
22                        <xs:documentation>Computing resource</xs:documentation>
23                </xs:annotation>
24                <xs:complexContent>
25                        <xs:extension base="resource">
26                        <xs:sequence>
27                                <xs:choice minOccurs="0" maxOccurs="unbounded">
28                                        <xs:element name="computingResource" type="computingResourceType"></xs:element>
29                                        <xs:element name="resourceParameter" type="computingResourceParameterType"></xs:element>
30                                        <xs:element name="otherParameter" type="otherParameterType"/>
31                                </xs:choice>
32                                <xs:choice minOccurs="0" maxOccurs="1">
33                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType"></xs:element>
34                                </xs:choice>
35                                <xs:choice minOccurs="0" maxOccurs="1">
36                                        <xs:element name="energyPowerProfile" type="energyPowerProfileType"></xs:element>
37                                </xs:choice>
38                        </xs:sequence>
39                        </xs:extension>
40                </xs:complexContent>
41        </xs:complexType>
42       
43        <xs:complexType name="computingResourceType">
44                <xs:annotation>
45                        <xs:documentation>Computing resource</xs:documentation>
46                </xs:annotation>
47                <xs:complexContent>
48                        <xs:extension base="computingResourceInterface">
49                                <xs:sequence>
50                                        <xs:choice minOccurs="0" maxOccurs="1">
51                                                <xs:element name="location" type="locationType"></xs:element>
52                                        </xs:choice>
53                                        <xs:choice minOccurs="0" maxOccurs="1">
54                                                <xs:element name="size" type="sizeType"></xs:element>
55                                        </xs:choice>
56                                </xs:sequence>
57                                <xs:attribute name="templateId" type="xs:IDREF" use="optional"/>
58                        </xs:extension>
59                </xs:complexContent>
60        </xs:complexType>
61       
62        <xs:complexType name="computingResourceTemplateType">
63                <xs:annotation>
64                        <xs:documentation>Computing resource template</xs:documentation>
65                </xs:annotation>
66                <xs:complexContent>
67                        <xs:extension base="computingResourceInterface"/>
68                </xs:complexContent>
69        </xs:complexType>
70
71        <xs:complexType name="schedulerType">
72                <xs:annotation>
73                        <xs:documentation>Scheduler</xs:documentation>
74                </xs:annotation>
75                <xs:complexContent>
76                        <xs:extension base="resource">
77                                <xs:sequence minOccurs="0" maxOccurs="1">
78                                        <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="1"></xs:element>
79                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
80                                                <xs:element name="scheduler" type="schedulerType"></xs:element>
81                                                <xs:element name="managedComputingResource" type="managedComputingResourceType" minOccurs="0" maxOccurs="1"></xs:element>
82                                                <xs:element name="schedulingParameter" type="parameterType" minOccurs="0" maxOccurs="1"></xs:element>
83                                        </xs:choice>
84                                </xs:sequence>
85                        </xs:extension>
86                </xs:complexContent>
87        </xs:complexType>
88       
89        <xs:complexType name="schedulingPluginType">
90                <xs:annotation>
91                        <xs:documentation>Scheduling plugin</xs:documentation>
92                </xs:annotation>
93                <xs:sequence>
94                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
95                        <xs:element name="frequency" type="xs:integer" minOccurs="0" maxOccurs="1"></xs:element>
96                </xs:sequence>
97        </xs:complexType>
98       
99        <!-- 
100        <xs:complexType name="schedulingParameterType">
101                <xs:annotation>
102                        <xs:documentation>Scheduling resource related parameter</xs:documentation>
103                </xs:annotation>
104                <xs:complexContent>
105                        <xs:extension base="parameterType">
106                        </xs:extension>
107                </xs:complexContent>
108        </xs:complexType>
109        -->
110       
111        <xs:complexType name="managedComputingResourceType">
112                <xs:annotation>
113                        <xs:documentation>Computing resource</xs:documentation>
114                </xs:annotation>
115                <xs:choice minOccurs="0" maxOccurs="1">
116                        <xs:element name="associatedComputingResource" type="xs:string"></xs:element>
117                        <xs:element name="listOfManagedResources" type="resourceList"></xs:element>
118                </xs:choice>
119        </xs:complexType>
120       
121        <xs:complexType name="resourceList">
122                <xs:choice minOccurs="0" maxOccurs="unbounded">
123                        <xs:element name="resourceId" type="xs:string"></xs:element>
124                </xs:choice>
125        </xs:complexType>
126       
127        <xs:complexType name="computingResourceParameterType">
128                <xs:annotation>
129                        <xs:documentation>Computational resource related parameter</xs:documentation>
130                </xs:annotation>
131                <xs:complexContent>
132                        <xs:extension base="parameterType">
133                        </xs:extension>
134                </xs:complexContent>
135        </xs:complexType>
136
137        <xs:simpleType name="computingResourceParameterName">
138                <xs:restriction base="xs:string">
139                        <xs:enumeration value="arch"/>
140                        <xs:enumeration value="memory"/>
141                        <xs:enumeration value="freememory"/>
142                        <xs:enumeration value="diskspace"/>
143                        <xs:enumeration value="freediskspace"/>
144                        <xs:enumeration value="speed"/>
145                        <xs:enumeration value="cost"/>
146                        <xs:enumeration value="load"/>
147                        <xs:enumeration value="application"/>
148                        <xs:enumeration value="osname"/>
149                        <xs:enumeration value="ostype"/>
150                        <xs:enumeration value="osversion"/>
151                        <xs:enumeration value="osrelease"/>
152                </xs:restriction>
153        </xs:simpleType>
154       
155        <xs:complexType name="energyEstimationPluginType">
156                <xs:annotation>
157                        <xs:documentation>Energy consumption estimation plugin</xs:documentation>
158                </xs:annotation>
159                <xs:sequence>
160                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
161                        <xs:choice minOccurs="0" maxOccurs="unbounded">
162                                <xs:element name="energyParameter" type="parameterType"></xs:element>
163                        </xs:choice>
164                </xs:sequence>
165        </xs:complexType>
166       
167        <xs:complexType name="energyPowerProfileType">
168                <xs:annotation>
169                        <xs:documentation>Energy power profile</xs:documentation>
170                </xs:annotation>
171                <xs:sequence>
172                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
173                        <xs:choice minOccurs="0" maxOccurs="unbounded">
174                                <xs:element name="powerStates" type="powerStatesType"></xs:element>
175                                <xs:element name="pStates" type="pStatesType"></xs:element>
176                                <xs:element name="energyParameter" type="parameterType"></xs:element>
177                        </xs:choice>
178                </xs:sequence>
179        </xs:complexType>
180       
181        <!--
182        <xs:complexType name="energyParameterType">
183                <xs:annotation>
184                        <xs:documentation>Computational resource related parameter</xs:documentation>
185                </xs:annotation>
186                <xs:complexContent>
187                        <xs:extension base="parameterType">
188                        </xs:extension>
189                </xs:complexContent>
190        </xs:complexType>
191        -->
192       
193        <xs:complexType name="pStatesType">
194                <xs:choice minOccurs="1" maxOccurs="unbounded">
195                        <xs:element name="pState" type="pStateType"></xs:element>
196                </xs:choice>
197        </xs:complexType>
198       
199        <xs:complexType name="pStateType">
200                <xs:sequence>
201                        <xs:element name="name" type="xs:string"></xs:element>
202                        <xs:element name="frequency" type="xs:double"></xs:element>
203                        <xs:element name="voltage" type="xs:double"></xs:element>
204                        <xs:element name="power" type="xs:double"></xs:element>
205                </xs:sequence>
206        </xs:complexType>
207       
208        <xs:complexType name="powerStatesType">
209                <xs:choice minOccurs="1" maxOccurs="unbounded">
210                        <xs:element name="powerState" type="powerStateType"></xs:element>
211                </xs:choice>
212        </xs:complexType>
213       
214        <xs:complexType name="powerStateType">
215                <xs:sequence>
216                        <xs:element name="name" type="xs:string"></xs:element>
217                        <xs:element name="power" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element>
218                        <xs:element name="transition" type="energyStatesTransitionType" minOccurs="0" maxOccurs="1"></xs:element>
219                </xs:sequence>
220        </xs:complexType>
221       
222        <xs:complexType name="energyStatesTransitionType">
223                <xs:sequence>
224                        <xs:element name="to" type="xs:string"></xs:element>
225                        <xs:element name="power" type="xs:double"></xs:element>
226                        <xs:element name="time" type="xs:double"></xs:element>
227                </xs:sequence>
228        </xs:complexType>
229       
230        <xs:complexType name="locationType">
231                <xs:annotation>
232                        <xs:documentation>Location parameters of resource</xs:documentation>
233                </xs:annotation>
234                <xs:sequence>
235                        <xs:element name="vertical" type="xs:long"/>
236                        <xs:element name="horizontal" type="xs:long"/>
237                        <xs:element name="depth" type="xs:long"/>
238                </xs:sequence>
239        </xs:complexType>
240
241        <xs:complexType name="sizeType">
242                <xs:annotation>
243                        <xs:documentation>Size parameters of resource</xs:documentation>
244                </xs:annotation>
245                <xs:sequence>
246                        <xs:element name="length" type="xs:long"/>
247                        <xs:element name="width" type="xs:long"/>
248                        <xs:element name="height" type="xs:long"/>
249                </xs:sequence>
250        </xs:complexType>
251       
252        <xs:complexType name="parameterType">
253                <xs:annotation>
254                        <xs:documentation>Description of parameter of resource</xs:documentation>
255                </xs:annotation>
256                <xs:sequence>
257                        <xs:element name="paramValue" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
258                </xs:sequence>
259                <xs:attribute name="name" type="xs:string" use="required"/>
260        </xs:complexType>
261       
262        <xs:complexType name="otherParameterType">
263                <xs:annotation>
264                        <xs:documentation>Other parameters</xs:documentation>
265                </xs:annotation>
266                <xs:complexContent>
267                        <xs:extension base="parameterType">
268                                <xs:sequence>
269                                        <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
270                                                <xs:complexType>
271                                                        <xs:sequence>
272                                                                <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
273                                                        </xs:sequence>
274                                                        <xs:attribute name="name" type="xs:string" use="required"/>
275                                                </xs:complexType>
276                                        </xs:element>
277                                </xs:sequence>
278                        </xs:extension>
279                </xs:complexContent>
280        </xs:complexType>
281       
282        <xs:element name="environment">
283                <xs:annotation>
284                        <xs:documentation>Schema describing simulation environment</xs:documentation>
285                </xs:annotation>
286                <xs:complexType>
287                        <xs:sequence>
288                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
289                                <xs:element name="resources">
290                                        <xs:annotation>
291                                                <xs:documentation>Description of resources</xs:documentation>
292                                        </xs:annotation>
293                                        <xs:complexType>
294                                                <xs:sequence>
295                                                        <xs:element name="computingResource" type="computingResourceType" maxOccurs="unbounded"/>
296                                                        <xs:element name="scheduler" type="schedulerType" minOccurs="0"/>
297                                                </xs:sequence>
298                                        </xs:complexType>
299                                </xs:element>
300                                <xs:element name="templates" minOccurs="0">
301                                        <xs:annotation>
302                                                <xs:documentation>Description of resource templates</xs:documentation>
303                                        </xs:annotation>
304                                        <xs:complexType>
305                                                <xs:sequence>
306                                                        <xs:element name="computingResourceTemplate" type="computingResourceTemplateType" maxOccurs="unbounded"/>
307                                                </xs:sequence>
308                                        </xs:complexType>
309                                </xs:element>
310                        </xs:sequence>
311                </xs:complexType>
312        </xs:element>
313
314</xs:schema>
Note: See TracBrowser for help on using the repository browser.