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

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