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

Revision 298, 10.4 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"></xs:element>
11                </xs:sequence>
12        </xs:complexType>
13       
14        <xs:complexType name="resourceType">
15                <xs:annotation>
16                        <xs:documentation>Base resource type</xs:documentation>
17                </xs:annotation>
18                <xs:attribute name="type" type="xs:string" use="required" />
19                <xs:attribute name="id" type="xs:ID" use="optional" />
20        </xs:complexType>
21
22        <xs:complexType name="computingResourceType">
23                <xs:annotation>
24                        <xs:documentation>Computing resource template</xs:documentation>
25                </xs:annotation>
26                <xs:complexContent>
27                        <xs:extension base="resourceType">
28                                <xs:sequence>
29                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
30                                                <xs:element name="computingResource" type="computingResourceType"></xs:element>
31                                                <xs:element name="resourceUnit" type="resourceUnitType"></xs:element>
32                                                <xs:element name="otherParameter" type="parameterType"></xs:element>
33                                        </xs:choice>
34                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
35                                        <xs:element name="energyPowerProfile" type="energyPowerProfileType" minOccurs="0" maxOccurs="1"></xs:element>
36                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
37                                </xs:sequence>
38                                <xs:attribute name="groupId" type="xs:integer" use="optional"/>
39                                <xs:attribute name="templateId" type="xs:IDREF" use="optional"/>                               
40                                <xs:attribute name="count" type="xs:integer" use="optional"/>
41                        </xs:extension>
42                </xs:complexContent>
43        </xs:complexType>
44       
45        <xs:complexType name="computingResourceTemplateType">
46                <xs:annotation>
47                        <xs:documentation>Computing resource instance</xs:documentation>
48                </xs:annotation>
49                <xs:complexContent>
50                        <xs:extension base="resourceType">
51                                <xs:sequence>
52                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
53                                                <xs:element name="computingResource" type="computingResourceTemplateType"></xs:element>
54                                                <xs:element name="resourceUnit" type="resourceUnitType"></xs:element>
55                                                <xs:element name="otherParameter" type="parameterType"></xs:element>
56                                        </xs:choice>
57                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
58                                        <xs:element name="energyPowerProfile" type="energyPowerProfileType" minOccurs="0" maxOccurs="1"></xs:element>
59                                </xs:sequence>
60                                <xs:attribute name="count" type="xs:integer" use="optional"/>
61                                <xs:attribute name="templateId" type="xs:IDREF" use="optional"/>
62                        </xs:extension>
63                </xs:complexContent>
64        </xs:complexType>
65
66        <xs:complexType name="schedulerType">
67                <xs:annotation>
68                        <xs:documentation>Scheduler</xs:documentation>
69                </xs:annotation>
70                <xs:complexContent>
71                        <xs:extension base="resourceType">
72                                <xs:sequence>
73                                        <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="1"></xs:element>
74                                        <xs:choice minOccurs="0" maxOccurs="unbounded">
75                                                <xs:element name="scheduler" type="schedulerType"></xs:element>
76                                                <xs:element name="managedComputingResource" type="managedComputingResourceType"></xs:element>
77                                                <xs:element name="parameter" type="parameterType"></xs:element>
78                                        </xs:choice>
79                                </xs:sequence>
80                        </xs:extension>
81                </xs:complexContent>
82        </xs:complexType>
83       
84        <xs:complexType name="schedulingPluginType">
85                <xs:annotation>
86                        <xs:documentation>Scheduling plugin</xs:documentation>
87                </xs:annotation>
88                <xs:sequence>
89                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
90                        <xs:element name="frequency" type="xs:integer" minOccurs="0" maxOccurs="1"></xs:element>
91                </xs:sequence>
92        </xs:complexType>
93       
94        <xs:complexType name="resourceUnitType">
95                <xs:annotation>
96                        <xs:documentation>Description of resource unit</xs:documentation>
97                </xs:annotation>
98                <xs:complexContent>
99                        <xs:extension base="resourceType">
100                                <xs:sequence>
101                                        <xs:element name="amount" type="xs:string"/>
102                                </xs:sequence>
103                        </xs:extension>
104                </xs:complexContent>
105        </xs:complexType>
106       
107        <xs:complexType name="managedComputingResourceType">
108                <xs:annotation>
109                        <xs:documentation>Definition of controlled (by scheduler) computing resources</xs:documentation>
110                </xs:annotation>
111                <xs:choice minOccurs="0" maxOccurs="1">
112                        <xs:element name="associatedComputingResource" type="xs:string"></xs:element>
113                        <xs:element name="listOfManagedResources" type="resourceList"></xs:element>
114                </xs:choice>
115        </xs:complexType>
116       
117        <xs:complexType name="resourceList">
118                <xs:annotation>
119                        <xs:documentation>List of managed computing resources</xs:documentation>
120                </xs:annotation>
121                <xs:sequence minOccurs="0" maxOccurs="unbounded">
122                        <xs:element name="resourceId" type="xs:string"></xs:element>
123                </xs:sequence>
124        </xs:complexType>
125
126        <xs:complexType name="energyEstimationPluginType">
127                <xs:annotation>
128                        <xs:documentation>Energy consumption estimation plugin</xs:documentation>
129                </xs:annotation>
130                <xs:sequence>
131                        <xs:element name="name" type="xs:string"></xs:element>
132                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
133                </xs:sequence>
134        </xs:complexType>
135       
136        <xs:complexType name="energyPowerProfileType">
137                <xs:annotation>
138                        <xs:documentation>Energy power profile</xs:documentation>
139                </xs:annotation>
140                <xs:sequence>
141                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
142                        <xs:choice minOccurs="0" maxOccurs="unbounded">
143                                <xs:element name="powerStates" type="powerStatesType"></xs:element>
144                                <xs:element name="pStates" type="pStatesType"></xs:element>
145                                <xs:element name="parameter" type="parameterType"></xs:element>
146                        </xs:choice>
147                </xs:sequence>
148        </xs:complexType>
149
150        <xs:complexType name="pStatesType">
151                <xs:annotation>
152                        <xs:documentation>Definition of supported  p-states</xs:documentation>
153                </xs:annotation>
154                <xs:sequence minOccurs="1" maxOccurs="unbounded">
155                        <xs:element name="pState" type="pStateType"></xs:element>
156                </xs:sequence>
157        </xs:complexType>
158       
159        <xs:complexType name="pStateType">
160                <xs:annotation>
161                        <xs:documentation>Definition of the p-state</xs:documentation>
162                </xs:annotation>
163                <xs:sequence>
164                        <xs:element name="name" type="xs:string"></xs:element>
165                        <xs:element name="frequency" type="xs:double"></xs:element>
166                        <xs:element name="voltage" type="xs:double"></xs:element>
167                        <xs:element name="power" type="xs:double"></xs:element>
168                </xs:sequence>
169        </xs:complexType>
170       
171        <xs:complexType name="powerStatesType">
172                <xs:annotation>
173                        <xs:documentation>Definition of supported power states</xs:documentation>
174                </xs:annotation>
175                <xs:sequence minOccurs="1" maxOccurs="unbounded">
176                        <xs:element name="powerState" type="powerStateType"></xs:element>
177                </xs:sequence>
178        </xs:complexType>
179       
180        <xs:complexType name="powerStateType">
181                <xs:annotation>
182                        <xs:documentation>Definition of the power state</xs:documentation>
183                </xs:annotation>
184                <xs:sequence>
185                        <xs:element name="name" type="xs:string"></xs:element>
186                        <xs:element name="power" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element>
187                        <xs:element name="transition" type="energyStatesTransitionType" minOccurs="0" maxOccurs="1"></xs:element>
188                </xs:sequence>
189        </xs:complexType>
190       
191        <xs:complexType name="energyStatesTransitionType">
192                <xs:annotation>
193                        <xs:documentation>Description of power states transtition</xs:documentation>
194                </xs:annotation>
195                <xs:sequence>
196                        <xs:element name="to" type="xs:string"></xs:element>
197                        <xs:element name="power" type="xs:double"></xs:element>
198                        <xs:element name="time" type="xs:double"></xs:element>
199                </xs:sequence>
200        </xs:complexType>
201       
202        <xs:complexType name="locationType">
203                <xs:annotation>
204                        <xs:documentation>Location parameters of resource</xs:documentation>
205                </xs:annotation>
206                <xs:sequence>
207                        <xs:element name="vertical" type="xs:long"/>
208                        <xs:element name="horizontal" type="xs:long"/>
209                        <xs:element name="depth" type="xs:long"/>
210                </xs:sequence>
211        </xs:complexType>
212       
213        <xs:complexType name="baseParameterType">
214                <xs:annotation>
215                        <xs:documentation>Base description of parameter of resource</xs:documentation>
216                </xs:annotation>
217                <xs:sequence>
218                        <xs:element name="paramValue" type="xs:string"/>
219                </xs:sequence>
220                <xs:attribute name="name" type="xs:string" use="required"/>
221        </xs:complexType>
222       
223        <xs:complexType name="parameterType">
224                <xs:annotation>
225                        <xs:documentation>Description of parameter of resource</xs:documentation>
226                </xs:annotation>
227                <xs:complexContent>
228                        <xs:extension base="baseParameterType">
229                                <xs:sequence>
230                                        <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
231                                                <xs:complexType>
232                                                        <xs:sequence>
233                                                                <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
234                                                        </xs:sequence>
235                                                        <xs:attribute name="name" type="xs:string" use="required"/>
236                                                </xs:complexType>
237                                        </xs:element>
238                                </xs:sequence>
239                        </xs:extension>
240                </xs:complexContent>
241        </xs:complexType>
242       
243        <xs:element name="environment">
244                <xs:annotation>
245                        <xs:documentation>Schema describing simulation environment</xs:documentation>
246                </xs:annotation>
247                <xs:complexType>
248                        <xs:sequence>
249                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1">
250                                        <xs:annotation>
251                                                <xs:documentation>Specifies which plugin is used to estimate task execution time</xs:documentation>
252                                        </xs:annotation>
253                                </xs:element>
254                                <xs:element name="resources">
255                                        <xs:annotation>
256                                                <xs:documentation>Description of resources</xs:documentation>
257                                        </xs:annotation>
258                                        <xs:complexType>
259                                                <xs:sequence>
260                                                        <xs:element name="computingResource" type="computingResourceType" maxOccurs="unbounded"/>
261                                                        <xs:element name="scheduler" type="schedulerType" maxOccurs="unbounded"/>
262                                                </xs:sequence>
263                                        </xs:complexType>
264                                </xs:element>
265                                <xs:element name="templates" minOccurs="0">
266                                        <xs:annotation>
267                                                <xs:documentation>Definition of computing resource templates that can/will be used in resoce description section </xs:documentation>
268                                        </xs:annotation>
269                                        <xs:complexType>
270                                                <xs:sequence maxOccurs="unbounded">
271                                                        <xs:element name="computingResourceTemplate" type="computingResourceTemplateType"/>
272                                                </xs:sequence>
273                                        </xs:complexType>
274                                </xs:element>
275                        </xs:sequence>
276                </xs:complexType>
277        </xs:element>
278
279</xs:schema>
Note: See TracBrowser for help on using the repository browser.