[Globus Packages] / playground / java / glue / schema / base / glue / ce.xsd Repository:
ViewVC logotype

Annotation of /playground/java/glue/schema/base/glue/ce.xsd

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.5 - (view) (download) (as text)

1 : benc 1.1 <?xml version="1.0" encoding="UTF-8"?>
2 :    
3 : benc 1.2 <!-- TODO: insert globus license -->
4 :    
5 : benc 1.5 <!-- $Id: ce.xsd,v 1.4 2003/04/16 00:49:42 benc Exp $ -->
6 : benc 1.2
7 : benc 1.4 <schema targetNamespace="http://glue.base.ogsa.globus.org/ce/1.1"
8 :     xmlns:ce="http://glue.base.ogsa.globus.org/ce/1.1"
9 : benc 1.2 attributeFormDefault="qualified"
10 :     elementFormDefault="qualified"
11 :     xmlns="http://www.w3.org/2001/XMLSchema"
12 :     xml:lang="en" >
13 :    
14 :     <annotation><documentation>
15 : benc 1.1 This document is a translation of the CE component of the GLUE schema
16 :     into XML.
17 :    
18 : benc 1.2 Converted by benc@isi.edu of the Globus Project.
19 : benc 1.1
20 :     Method of attack:
21 :    
22 :     Each class in the CE UML diagram is converted to an XSD type. If the UML
23 :     class is called "Foo", then the XSD type is called "FooType".
24 :    
25 :     The UML schema splits nicely into two trees, one rooted at
26 :     ComputeElement, the other rooted at Cluster. These trees are
27 :     formed in the XSD by placing child elements within parents element
28 :     in the same was in the XSD as in the UML diagram.
29 :    
30 :     Elements that represent a class have the same name as that class.
31 :     So, if the UML class is called "Foo", then an element that
32 :     represents that would also be called "Foo".
33 :    
34 :     Every element is permitted arbitrary extension by means of
35 :     any elements and any attributes.
36 :    
37 : benc 1.2 A producer of GLUE information MAY add additional information into the
38 : benc 1.1 hierarchy, as long as it is in a different namespace.
39 :    
40 :     A consumer of GLUE information MUST ignore additional information that
41 :     it does not understand. It MUST NOT fail on the presence of
42 :     unrecognised properties in unknown namespaces.
43 :    
44 :     TODO: need to be more explicit about units.
45 :    
46 : benc 1.2 </documentation></annotation>
47 :    
48 : benc 1.4 <element name="Cluster" type="ce:ClusterType" />
49 : benc 1.2
50 : benc 1.4 <element name="ComputingElement" type="ce:ComputingElementType" />
51 :    
52 :    
53 :    
54 :     <attributeGroup name="IdentifiableEntity">
55 : benc 1.2 <annotation><documentation>
56 : benc 1.4 Named identifiable entities should have this attribute group.
57 : benc 1.2 </documentation></annotation>
58 : benc 1.4 <attribute name="Name" type="string"/>
59 :     <attribute name="UniqueID" type="string"/>
60 :     <attribute name="InformationServiceURL" type="anyURI"/>
61 :     </attributeGroup>
62 : benc 1.2
63 :    
64 : benc 1.4 <!-- ========== ComputingElement bits ========== -->
65 : benc 1.1
66 : benc 1.2 <complexType name="ComputingElementType">
67 :     <annotation><documentation>
68 :     Contains information about a ComputeElement.
69 :     </documentation></annotation>
70 : benc 1.1 <sequence>
71 :     <element name="Info" type="ce:InfoType" minOccurs="0" maxOccurs="1" />
72 :     <element name="State" type="ce:StateType" minOccurs="0" maxOccurs="1" />
73 :     <element name="Policy" type="ce:PolicyType" minOccurs="0" maxOccurs="1" />
74 :     <element name="Job" type="ce:JobType" minOccurs="0" maxOccurs="unbounded" />
75 :     <element name="AccessControlBase" type="ce:AccessControlBaseType" minOccurs="0" maxOccurs="1" />
76 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
77 : benc 1.1 </sequence>
78 :    
79 : benc 1.4 <attributeGroup ref="ce:IdentifiableEntity" />
80 :     <anyAttribute namespace="##other"/>
81 : benc 1.1 </complexType>
82 :    
83 : benc 1.3
84 :     <complexType name="InfoType">
85 :     <sequence>
86 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
87 : benc 1.3 </sequence>
88 :     <attribute name="LRMSType" type="string"/>
89 :     <attribute name="LRMSVersion" type="string"/>
90 :     <attribute name="GRAMVersion" type="string"/>
91 :     <attribute name="HostName" type="string"/>
92 :     <attribute name="GatekeeperPort" type="string"/>
93 :     <attribute name="TotalCPUs" type="string"/>
94 : benc 1.4 <anyAttribute namespace="##other"/>
95 : benc 1.3 </complexType>
96 :    
97 :    
98 :     <complexType name="StateType">
99 :     <sequence>
100 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
101 : benc 1.3 </sequence>
102 :    
103 :     <attribute name="Status" type="string">
104 :     <annotation><documentation>
105 :     TODO: This should actually be a restriction of some kind:
106 :     Queueing, Production, Closed, Draining
107 :     </documentation></annotation>
108 :     </attribute>
109 :    
110 :     <attribute name="TotalJobs" type="int"/>
111 :    
112 :     <attribute name="RunningJobs" type="int"/>
113 :    
114 :     <attribute name="WaitingJobs" type="int"/>
115 :    
116 :     <attribute name="WorstResponseTime" type="int">
117 :     <annotation><documentation>in seconds</documentation></annotation>
118 :     </attribute>
119 :    
120 :     <attribute name="EstimatedResponseTime" type="int">
121 :     <annotation><documentation>in seconds</documentation></annotation>
122 :     </attribute>
123 :    
124 :     <attribute name="FreeCPUs" type="int"/>
125 : benc 1.4 <anyAttribute namespace="##other"/>
126 : benc 1.3 </complexType>
127 :    
128 :    
129 :     <complexType name="PolicyType">
130 :     <sequence>
131 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
132 : benc 1.3 </sequence>
133 :    
134 :     <attribute name="MaxWallClockTime" type="int">
135 :     <annotation><documentation>in minutes</documentation></annotation>
136 :     </attribute>
137 :    
138 :     <attribute name="MaxCPUTime" type="int">
139 :     <annotation><documentation>in minutes</documentation></annotation>
140 :     </attribute>
141 :    
142 :     <attribute name="MaxTotalTime" type="int"/>
143 :     <attribute name="MaxRunningJobs" type="int"/>
144 :     <attribute name="Priority" type="int"/>
145 : benc 1.4 <anyAttribute namespace="##other"/>
146 : benc 1.3 </complexType>
147 :    
148 :    
149 :     <complexType name="JobType">
150 :     <sequence>
151 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
152 : benc 1.3 </sequence>
153 :     <attribute name="GlobalID" type="string"/>
154 :     <attribute name="LocalID" type="string"/>
155 :     <attribute name="LocalOwner" type="string"/>
156 :     <attribute name="GlobalOwner" type="string"/>
157 :     <attribute name="Status" type="string">
158 :     <annotation><documentation>
159 :     This can be one of SUBMITTED, WAITING, READY, SCHEDULED, RUNNING,
160 :     ABORTED, DONE, CLEARED, CHECKPOINTED
161 :     </documentation></annotation>
162 :     </attribute>
163 :     <attribute name="SchedulerSpecific" type="string"/>
164 : benc 1.4 <anyAttribute namespace="##other"/>
165 : benc 1.3 </complexType>
166 :    
167 :    
168 :     <complexType name="AccessControlBaseType" >
169 :     <sequence>
170 :     <element name="Rule" type="string" minOccurs="0" maxOccurs="unbounded" />
171 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
172 : benc 1.3 </sequence>
173 : benc 1.4 <anyAttribute namespace="##other"/>
174 : benc 1.3 </complexType>
175 :    
176 : benc 1.1
177 : benc 1.2 <!-- ========== Cluster definitions ========== -->
178 : benc 1.1
179 :     <complexType name="ClusterType">
180 : benc 1.2 <annotation><documentation>
181 :     Contains information about a Cluster. This consists of a name,
182 :     unique ID, and one or more subclusters.
183 :     </documentation></annotation>
184 : benc 1.1 <sequence>
185 : benc 1.4 <element name="SubCluster" type="ce:SubClusterType" minOccurs="0" maxOccurs="unbounded"/>
186 :     <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
187 : benc 1.1 </sequence>
188 : benc 1.4 <attributeGroup ref="ce:IdentifiableEntity" />
189 :     <anyAttribute namespace="##other"/>
190 : benc 1.1 </complexType>
191 :    
192 : benc 1.2
193 : benc 1.4 <complexType name="SubClusterOrHostType">
194 : benc 1.2 <annotation><documentation>
195 :     A subcluster contains at least one host, as well as having properties
196 : benc 1.1 associated with it that represent the state of every host within the
197 :     subcluster.
198 :    
199 :     TODO: need some specification of uniqueness. It is reasonable for
200 :     fairly simple type such as architecture to say that it MAY NOT appear
201 :     on both a Host and its containing SubCluster, but for filesystems
202 :     (for example) it might be desirable to put some filesystems on the
203 : benc 1.2 SubCluster (eg. nfs or pvfs) and some on the
204 : benc 1.1 Hosts (eg. /scratch)
205 : benc 1.2 </documentation></annotation>
206 : benc 1.1 <sequence>
207 :     <element name="Benchmark" type="ce:BenchmarkType" minOccurs="0" />
208 :     <element name="Processor" type="ce:ProcessorType" minOccurs="0" />
209 :     <element name="MainMemory" type="ce:MainMemoryType" minOccurs="0" />
210 :     <element name="OperatingSystem" type="ce:OperatingSystemType" minOccurs="0" />
211 :     <element name="StorageDevice" type="ce:StorageDeviceType" maxOccurs="unbounded" minOccurs="0" />
212 :     <element name="Architecture" type="ce:ArchitectureType" minOccurs="0" />
213 :     <element name="ApplicationSoftware" type="ce:ApplicationSoftwareType" minOccurs="0" />
214 :     <element name="FileSystem" type="ce:FileSystemType" maxOccurs="unbounded" minOccurs="0"/>
215 :     <element name="NetworkAdapter" type="ce:NetworkAdapterType" maxOccurs="unbounded" minOccurs="0"/>
216 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
217 : benc 1.1 </sequence>
218 : benc 1.4 <attributeGroup ref="ce:IdentifiableEntity" />
219 :     <anyAttribute namespace="##other"/>
220 : benc 1.1 </complexType>
221 :    
222 : benc 1.4 <complexType name="SubClusterType">
223 :     <annotation><documentation>
224 :     </documentation></annotation>
225 :     <complexContent>
226 :     <extension base="ce:SubClusterOrHostType">
227 :     <sequence>
228 :     <element name="Host" type="ce:HostType" minOccurs="0" maxOccurs="unbounded"/>
229 :     </sequence>
230 :     </extension>
231 :     </complexContent>
232 :     </complexType>
233 : benc 1.1
234 : benc 1.2 <complexType name="HostType">
235 :     <annotation><documentation>
236 :     A host may have any of the properties of a subcluster.
237 : benc 1.1
238 : benc 1.2 TODO: really a Host shouldn't be allowed another Host below it? Can I
239 :     specify a restriction in here to limit the number of subordinate Hosts
240 :     to 0, or some trick like that?
241 :     </documentation></annotation>
242 : benc 1.1 <complexContent>
243 : benc 1.4 <extension base="ce:SubClusterOrHostType">
244 : benc 1.1 <sequence>
245 :     <element name="ProcessorLoad" type="ce:LoadType" minOccurs="0" />
246 :     <element name="SMPLoad" type="ce:LoadType" minOccurs="0" />
247 :     </sequence>
248 :     </extension>
249 :     </complexContent>
250 :     </complexType>
251 :    
252 : benc 1.2
253 : benc 1.1 <complexType name="LoadType">
254 : benc 1.2 <annotation><documentation>
255 :     Represents the unix-style CPU load-average multiplied by 100.
256 :     </documentation></annotation>
257 : benc 1.1 <sequence>
258 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
259 : benc 1.1 </sequence>
260 : benc 1.5 <attribute name="Last1Min" type="int"/>
261 :     <attribute name="Last5Min" type="int"/>
262 :     <attribute name="Last15Min" type="int"/>
263 : benc 1.4 <anyAttribute namespace="##other"/>
264 : benc 1.1 </complexType>
265 :    
266 : benc 1.2
267 : benc 1.1 <complexType name="BenchmarkType">
268 :     <sequence>
269 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
270 : benc 1.1 </sequence>
271 :     <attribute name="SI00" type="float"/>
272 :     <attribute name="SF00" type="float"/>
273 : benc 1.4 <anyAttribute namespace="##other"/>
274 : benc 1.1 </complexType>
275 :    
276 : benc 1.2
277 : benc 1.1 <complexType name="ProcessorType">
278 :     <sequence>
279 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
280 : benc 1.1 </sequence>
281 :     <attribute name="Vendor" type="string"/>
282 :     <attribute name="Model" type="string"/>
283 :     <attribute name="Version" type="string"/>
284 :     <attribute name="ClockSpeed" type="int"/>
285 :     <attribute name="InstructionSet" type="string"/>
286 :     <attribute name="OtherProcessorDescription" type="string"/>
287 : benc 1.3 <attribute name="CacheL1" type="int">
288 :     <annotation><documentation>in kb</documentation></annotation>
289 :     </attribute>
290 :    
291 :     <attribute name="CacheL1I" type="int">
292 :     <annotation><documentation>in kb</documentation></annotation>
293 :     </attribute>
294 :    
295 :     <attribute name="CacheL1D" type="int">
296 :     <annotation><documentation>in kb</documentation></annotation>
297 :     </attribute>
298 :    
299 :     <attribute name="CacheL2" type="int">
300 :     <annotation><documentation>in kb</documentation></annotation>
301 :     </attribute>
302 :    
303 : benc 1.4 <anyAttribute namespace="##other"/>
304 : benc 1.1 </complexType>
305 :    
306 : benc 1.2
307 : benc 1.1 <complexType name="MainMemoryType">
308 :     <sequence>
309 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
310 : benc 1.1 </sequence>
311 : benc 1.3 <attribute name="RAMSize" type="long"> <!-- is long big enough here? -->
312 :     <annotation><documentation>in MB</documentation></annotation>
313 :     </attribute>
314 :    
315 :     <attribute name="RAMAvailable" type="long">
316 :     <annotation><documentation>in MB</documentation></annotation>
317 :     </attribute>
318 :    
319 :     <attribute name="VirtualSize" type="long">
320 :     <annotation><documentation>in MB</documentation></annotation>
321 :     </attribute>
322 :    
323 :     <attribute name="VirtualAvailable" type="long">
324 :     <annotation><documentation>in MB</documentation></annotation>
325 :     </attribute>
326 :    
327 : benc 1.4 <anyAttribute namespace="##other"/>
328 : benc 1.1 </complexType>
329 :    
330 : benc 1.2
331 : benc 1.1 <complexType name="OperatingSystemType">
332 :     <sequence>
333 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
334 : benc 1.1 </sequence>
335 :     <attribute name="Name" type="string"/>
336 :     <attribute name="Release" type="string"/>
337 :     <attribute name="Version" type="string"/>
338 : benc 1.4 <anyAttribute namespace="##other"/>
339 : benc 1.1 </complexType>
340 :    
341 : benc 1.2
342 : benc 1.1 <complexType name="StorageDeviceType">
343 :     <sequence>
344 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
345 : benc 1.1 </sequence>
346 :     <attribute name="Name" type="string"/>
347 :     <attribute name="Type" type="string"/>
348 :     <attribute name="TransferRate" type="int"/>
349 :     <attribute name="Size" type="int"/>
350 :     <attribute name="AvailableSpace" type="int"/>
351 : benc 1.4 <anyAttribute namespace="##other"/>
352 : benc 1.1 <!-- are these ints big enough? -->
353 :     </complexType>
354 :    
355 : benc 1.2
356 : benc 1.1 <complexType name="NetworkAdapterType">
357 :     <sequence>
358 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
359 : benc 1.1 </sequence>
360 :     <attribute name="Name" type="string"/>
361 :     <attribute name="IPAddress" type="string"/> <!-- restrict syntax here? can it be IPv6? -->
362 : benc 1.3 <attribute name="MTU" type="int">
363 :     <annotation><documentation>in bytes</documentation></annotation>
364 :     </attribute>
365 : benc 1.1 <attribute name="OutboundIP" type="boolean"/>
366 :     <attribute name="InboundIP" type="boolean"/>
367 : benc 1.4 <anyAttribute namespace="##other"/>
368 : benc 1.1 </complexType>
369 :    
370 : benc 1.2
371 : benc 1.1 <complexType name="ArchitectureType">
372 :     <sequence>
373 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
374 : benc 1.1 </sequence>
375 :     <attribute name="PlatformType" type="string"/>
376 :     <attribute name="SMPSize" type="int"/>
377 : benc 1.4 <anyAttribute namespace="##other"/>
378 : benc 1.1 </complexType>
379 :    
380 : benc 1.2
381 : benc 1.1 <!-- this deviates a little from the usual method of rendering the UML
382 : benc 1.2 diagram into XSD. Each RuntimeEnvironment is made an element to provide
383 :     somewhere to put any elements.
384 : benc 1.1 -->
385 :     <complexType name="ApplicationSoftwareType">
386 :     <sequence>
387 :     <element name="RunTimeEnvironment" type="ce:RunTimeEnvironmentType" minOccurs="0" maxOccurs="unbounded"/>
388 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
389 : benc 1.1 </sequence>
390 : benc 1.4 <anyAttribute namespace="##other"/>
391 : benc 1.1 </complexType>
392 :    
393 : benc 1.2
394 : benc 1.1 <complexType name="RunTimeEnvironmentType">
395 :     <sequence>
396 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
397 : benc 1.1 </sequence>
398 :     <attribute name="Name" type="string" />
399 :     </complexType>
400 : benc 1.2
401 : benc 1.1
402 :     <!-- TODO: other filesystem types need implementing. -->
403 :     <complexType name="FileSystemType">
404 :     <sequence>
405 : benc 1.4 <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
406 : benc 1.1 </sequence>
407 :     <attribute name="Name" type="string" />
408 :     <attribute name="Root" type="string" />
409 : benc 1.3 <attribute name="Size" type="long">
410 :     <annotation><documentation>in MB</documentation></annotation>
411 :     </attribute>
412 :    
413 :     <attribute name="AvailableSpace" type="long">
414 :     <annotation><documentation>in MB</documentation></annotation>
415 :     </attribute>
416 :    
417 : benc 1.1 <attribute name="ReadOnly" type="boolean" />
418 :     <attribute name="Type" type="string" />
419 : benc 1.4 <anyAttribute namespace="##other"/>
420 : benc 1.1 </complexType>
421 :    
422 :     </schema>
423 :    
424 :    

Webmaster
ViewVC Help
Powered by ViewVC 1.0.1