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

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