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

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