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

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