source: xssim/trunk/simulator/schemas/grms3/GrmsJobDescriptionSchema.xsd @ 104

Revision 104, 38.9 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<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by yulo (Instytut Chemii Bioorganicznej PAN) -->
3<!--Job Description Schema for Third Edition GRMS -->
4<!--version 0.1.0-->
5<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"
6  xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
7  jxb:version="1.0">
8  <xs:annotation>
9   <xs:appinfo>
10      <jxb:schemaBindings>
11         <jxb:package name="pl.psnc.qcg.grms.jobprofile"/>
12      </jxb:schemaBindings>
13   </xs:appinfo>
14  </xs:annotation>
15  <xs:simpleType name="computingParameterName">
16                <xs:restriction base="xs:string">
17                        <xs:enumeration value="osname"/>
18                        <xs:enumeration value="ostype"/>
19                        <xs:enumeration value="cpuarch"/>
20                        <xs:enumeration value="osversion"/>
21                        <xs:enumeration value="osrelease"/>
22                        <xs:enumeration value="memory"/>
23                        <xs:enumeration value="freememory"/>
24                        <xs:enumeration value="cpucount"/>
25                        <xs:enumeration value="freecpus"/>
26                        <xs:enumeration value="cpuspeed"/>
27                        <xs:enumeration value="application"/>
28                        <xs:enumeration value="diskspace"/>
29                        <xs:enumeration value="freediskspace"/>
30                        <xs:enumeration value="remoteSubmissionInterface"/>
31                        <xs:enumeration value="localResourceManager"/>
32                        <xs:enumeration value="hostname"/>
33                </xs:restriction>
34        </xs:simpleType>
35        <xs:simpleType name="networkParameterName">
36                <xs:restriction base="xs:string">
37                        <xs:enumeration value="bandwidth"/>
38                        <xs:enumeration value="latency"/>
39                        <xs:enumeration value="capacity"/>
40                </xs:restriction>
41        </xs:simpleType>
42        <xs:simpleType name="taskStatesName">
43                <xs:restriction base="xs:string">
44                        <xs:enumeration value="QUEUED"/>
45                        <xs:enumeration value="PREPROCESSING"/>
46                        <xs:enumeration value="PENDING"/>
47                        <xs:enumeration value="RUNNING"/>
48                        <xs:enumeration value="STOPPED"/>
49                        <xs:enumeration value="POSTPROCESSING"/>
50                        <xs:enumeration value="SUSPENDED"/>
51                        <xs:enumeration value="FINISHED"/>
52                        <xs:enumeration value="CANCELED"/>
53                        <xs:enumeration value="FAILED"/>
54                </xs:restriction>
55        </xs:simpleType>
56        <xs:simpleType name="locationTypes">
57                <xs:restriction base="xs:string">
58                        <xs:enumeration value="URL"/>
59                        <xs:enumeration value="DMSID"/>
60                        <xs:enumeration value="SRBID"/>
61                        <xs:enumeration value="REFERENCE"/>
62                </xs:restriction>
63        </xs:simpleType>
64        <xs:element name="grmsJob">
65                <xs:annotation>
66                        <xs:documentation>Job Description for Gridge Resource Management System</xs:documentation>
67                </xs:annotation>
68                <xs:complexType>
69                        <xs:sequence>
70                                <xs:element name="description" type="xs:string" minOccurs="0">
71                                        <xs:annotation>
72                                                <xs:documentation>User defined description of Job</xs:documentation>
73                                        </xs:annotation>
74                                </xs:element>
75                                <xs:element name="annotations" minOccurs="0">
76                                        <xs:annotation>
77                                                <xs:documentation>Annotations for Job Description in pair key/value format</xs:documentation>
78                                        </xs:annotation>
79                                        <xs:complexType>
80                                                <xs:sequence>
81                                                        <xs:element name="annotation" maxOccurs="unbounded">
82                                                                <xs:complexType>
83                                                                        <xs:simpleContent>
84                                                                                <xs:extension base="xs:string">
85                                                                                        <xs:attribute name="name" type="xs:string" use="optional"/>
86                                                                                </xs:extension>
87                                                                        </xs:simpleContent>
88                                                                </xs:complexType>
89                                                        </xs:element>
90                                                </xs:sequence>
91                                        </xs:complexType>
92                                </xs:element>
93                                <xs:element name="descriptionVariables" type="descriptionVariablesType" minOccurs="0"/>
94                                <xs:element name="resourceTemplates" type="resourceTemplatesType" minOccurs="0">
95                                        <xs:annotation>
96                                                <xs:documentation>Global templates for definitions of resources</xs:documentation>
97                                        </xs:annotation>
98                                </xs:element>
99                                <xs:element name="tasksDefaults" minOccurs="0">
100                                        <xs:annotation>
101                                                <xs:documentation>Default settings for all Tasks in Job Description - used when there is no other definitions in particular task description</xs:documentation>
102                                        </xs:annotation>
103                                        <xs:complexType>
104                                                <xs:sequence>
105                                                        <xs:element name="proxyInfo" type="proxyInfoType" minOccurs="0"/>
106                                                        <xs:element name="candidateHosts" type="hostCandidatesType" minOccurs="0"/>
107                                                        <xs:element name="requirements" type="requirementsType" minOccurs="0"/>
108                                                        <xs:element name="faultTolerance" type="faultToleranceType" minOccurs="0"/>
109                                                        <xs:element name="executionTime" type="executionTimeType" minOccurs="0"/>
110                                                </xs:sequence>
111                                        </xs:complexType>
112                                        <xs:keyref name="deftemplidref" refer="deftemplId">
113                                                <xs:selector xpath="./resourcesDescription/resourceRequirements/computingResource | ./resourcesDescription/topology/group/processesConnection/networkResource  | ./resourcesDescription/topology/group/groupConnection/networkResource"/>
114                                                <xs:field xpath="templateIdReference"/>
115                                        </xs:keyref>
116                                        <xs:key name="defgroupid">
117                                                <xs:selector xpath="./resourcesDescription/resourceRequirements/topology/group"/>
118                                                <xs:field xpath="@groupId"/>
119                                        </xs:key>
120                                        <xs:keyref name="defgroupidref" refer="defgroupid">
121                                                <xs:selector xpath="./resourcesDescription/resourceRequirements/topology/processes"/>
122                                                <xs:field xpath="groupIdReference"/>
123                                        </xs:keyref>
124                                        <xs:key name="defresid">
125                                                <xs:selector xpath="./resourcesDescription/resourceRequirements/computingResource"/>
126                                                <xs:field xpath="@resourceId"/>
127                                        </xs:key>
128                                </xs:element>
129                                <xs:element name="task" maxOccurs="unbounded">
130                                        <xs:annotation>
131                                                <xs:documentation>Description of Tasks</xs:documentation>
132                                                <xs:documentation>Description of Simple Job</xs:documentation>
133                                        </xs:annotation>
134                                        <xs:complexType>
135                                                <xs:complexContent>
136                                                        <xs:extension base="taskType"/>
137                                                </xs:complexContent>
138                                        </xs:complexType>
139                                        <xs:keyref name="taskidref" refer="taskId">
140                                                <xs:selector xpath="./workflow"/>
141                                                <xs:field xpath="parent"/>
142                                        </xs:keyref>
143                                        <xs:keyref name="ext" refer="taskId">
144                                                <xs:selector xpath="."/>
145                                                <xs:field xpath="@extension"/>
146                                        </xs:keyref>
147                                        <xs:key name="defprocessesid">
148                                                <xs:selector xpath=".//processes"/>
149                                                <xs:field xpath="@processesId"/>
150                                        </xs:key>
151                                       
152                                </xs:element>
153                                <xs:element name="executionTime" type="executionTimeType" minOccurs="0">
154                                        <xs:annotation>
155                                                <xs:documentation>Execution time definition for Job</xs:documentation>
156                                        </xs:annotation>
157                                </xs:element>
158                        </xs:sequence>
159                        <xs:attribute name="appId" type="xs:string" use="required"/>
160                        <xs:attribute name="project" type="xs:string" use="optional"/>
161                        <xs:attribute name="commitWait" type="xs:boolean" use="optional" default="false"/>
162                        <xs:attribute name="priority" type="xs:int" use="optional" default="0"/>
163                </xs:complexType>
164                <xs:key name="taskId">
165                        <xs:selector xpath=".//task"/>
166                        <xs:field xpath="@taskId"/>
167                </xs:key>
168                <xs:key name="templid">
169                        <xs:selector xpath="./resourceTemplates/* | ./task/resourcesDescription/resourceTemplates/*"/>
170                        <xs:field xpath="@templateId"/>
171                </xs:key>
172                <xs:key name="deftemplId">
173                        <xs:selector xpath="./resourceTemplates/* | ./tasksDefaults/resourcesDescription/resourceTemplates/*"/>
174                        <xs:field xpath="@templateId"/>
175                </xs:key>
176        </xs:element>
177        <xs:complexType name="taskType">
178                <xs:annotation>
179                        <xs:documentation>Description of Task</xs:documentation>
180                </xs:annotation>
181                <xs:sequence>
182                        <xs:element name="description" type="xs:string" minOccurs="0">
183                                <xs:annotation>
184                                        <xs:documentation>User defined description of Task</xs:documentation>
185                                </xs:annotation>
186                        </xs:element>
187                        <xs:element name="descriptionVariables" type="descriptionVariablesType" minOccurs="0"/>
188                        <xs:element name="proxyInfo" type="proxyInfoType" minOccurs="0">
189                                <xs:annotation>
190                                        <xs:documentation>Proxy used for task execution</xs:documentation>
191                                </xs:annotation>
192                        </xs:element>
193                        <xs:element name="candidateHosts" type="hostCandidatesType" minOccurs="0">
194                                <xs:annotation>
195                                        <xs:documentation>List of hosts used by GRMS in resource discovery process</xs:documentation>
196                                </xs:annotation>
197                        </xs:element>
198                        <xs:element name="requirements" type="requirementsType" minOccurs="0">
199                                <xs:annotation>
200                                        <xs:documentation>Description of resource requirements</xs:documentation>
201                                </xs:annotation>
202                                <xs:keyref name="templidref" refer="templid">
203                                        <xs:selector xpath="./resourceRequirements/computingResource"/>
204                                        <xs:field xpath="templateIdReference"/>
205                                </xs:keyref>
206                                <!--                           
207                                <xs:key name="resourceid">
208                                        <xs:selector xpath="./resourceRequirements/computingResource"/>
209                                        <xs:field xpath="@resourceId"/>
210                                </xs:key>
211-->
212                        </xs:element>
213                        <xs:element name="execution" type="executionType" minOccurs="0">
214                                <xs:annotation>
215                                        <xs:documentation>Application description section</xs:documentation>
216                                </xs:annotation>
217                                <!--                           
218                                <xs:key name="fileid">
219                                        <xs:selector xpath="*"/>
220                                        <xs:field xpath="@fileDirId"/>
221                                </xs:key>
222                                <xs:keyref name="fileidref" refer="fileid">
223                                        <xs:selector xpath="*"/>
224                                        <xs:field xpath="fileDirIdRef"/>
225                                </xs:keyref>
226-->
227                        </xs:element>
228                        <xs:element name="postResumeExecution" type="executionType" minOccurs="0">
229                                <xs:annotation>
230                                        <xs:documentation>Description of application execution after Resume call (or during migration process)</xs:documentation>
231                                </xs:annotation>
232                        </xs:element>
233                        <xs:element name="executionTime" type="executionTimeType" minOccurs="0">
234                                <xs:annotation>
235                                        <xs:documentation>Description of time constraints for task execution</xs:documentation>
236                                </xs:annotation>
237                        </xs:element>
238                        <xs:element name="workflow" minOccurs="0">
239                                <xs:annotation>
240                                        <xs:documentation>Workflow description</xs:documentation>
241                                </xs:annotation>
242                                <xs:complexType>
243                                        <xs:choice>
244                                                <xs:element name="parent" type="parentType" maxOccurs="unbounded"/>
245                                                <xs:element name="or" type="parentOpType"/>
246                                                <xs:element name="and" type="parentOpType"/>
247                                        </xs:choice>
248                                </xs:complexType>
249                        </xs:element>
250                        <xs:element name="parametersSweep" minOccurs="0">
251                                <xs:complexType>
252                                        <xs:sequence>
253                                                <xs:element name="parameter" type="parametersSweepParameter" maxOccurs="unbounded"/>
254                                        </xs:sequence>
255                                </xs:complexType>
256                        </xs:element>
257                        <xs:element name="faultTolerance" type="faultToleranceType" minOccurs="0">
258                                <xs:annotation>
259                                        <xs:documentation>Fault tolerance requirements</xs:documentation>
260                                </xs:annotation>
261                        </xs:element>
262                        <xs:element name="other" type="extensionType" minOccurs="0">
263                                <xs:annotation>
264                                        <xs:documentation>Additional parameters</xs:documentation>
265                                </xs:annotation>
266                        </xs:element>
267                </xs:sequence>
268                <xs:attribute name="taskId" type="xs:string" use="required"/>
269                <xs:attribute name="persistent" type="xs:boolean" use="optional" default="false"/>
270                <xs:attribute name="extension" type="xs:string" use="optional"/>
271                <xs:attribute name="crucial" type="xs:boolean" use="optional" default="true"/>
272                <xs:attribute name="commitWait" type="xs:boolean" use="optional" default="false"/>
273                <xs:attribute name="useScratchDir" type="xs:boolean" use="optional"/>
274                <xs:attribute name="priority" type="xs:int" use="optional" default="0"/>
275        </xs:complexType>
276        <xs:complexType name="fileType">
277                <xs:annotation>
278                        <xs:documentation>Element that describes a file</xs:documentation>
279                </xs:annotation>
280                <xs:complexContent>
281                        <xs:extension base="baseFileType">
282                                <xs:attribute name="name" type="xs:string" use="required"/>
283                                <xs:attribute name="type" use="required">
284                                        <xs:simpleType>
285                                                <xs:restriction base="xs:string">
286                                                        <xs:enumeration value="in"/>
287                                                        <xs:enumeration value="out"/>
288                                                </xs:restriction>
289                                        </xs:simpleType>
290                                </xs:attribute>
291                                <xs:attribute name="required" type="xs:boolean" use="optional" default="true"/>
292                                <xs:attribute name="creationFlag" use="optional" default="OVERWRITE">
293                                        <xs:simpleType>
294                                                <xs:restriction base="xs:string">
295                                                        <xs:enumeration value="APPEND"/>
296                                                        <xs:enumeration value="OVERWRITE"/>
297                                                        <xs:enumeration value="DONTOVERWRITE"/>
298                                                </xs:restriction>
299                                        </xs:simpleType>
300                                </xs:attribute>
301                        </xs:extension>
302                </xs:complexContent>
303        </xs:complexType>
304        <xs:complexType name="baseFileType">
305                <xs:annotation>
306                        <xs:documentation>Base element for file description</xs:documentation>
307                </xs:annotation>
308                <xs:sequence>
309                        <xs:element name="location">
310                                <xs:complexType>
311                                        <xs:simpleContent>
312                                                <xs:extension base="xs:string">
313                                                        <xs:attribute name="type" type="locationTypes" use="required"/>
314                                                </xs:extension>
315                                        </xs:simpleContent>
316                                </xs:complexType>
317                        </xs:element>
318                        <xs:element name="locationProperties" minOccurs="0">
319                                <xs:complexType>
320                                        <xs:sequence>
321                                                <xs:element name="property">
322                                                        <xs:complexType>
323                                                                <xs:simpleContent>
324                                                                        <xs:extension base="xs:string">
325                                                                                <xs:attribute name="name" type="xs:string"/>
326                                                                        </xs:extension>
327                                                                </xs:simpleContent>
328                                                        </xs:complexType>
329                                                </xs:element>
330                                        </xs:sequence>
331                                </xs:complexType>
332                        </xs:element>
333                </xs:sequence>
334                <xs:attribute name="proxyName" type="xs:string" use="optional"/>
335                <xs:attribute name="fileDirId" type="xs:string" use="optional"/>
336                <xs:attribute name="permissions" type="xs:string" use="optional"/>
337                <xs:attribute name="deleteOnTermination" type="xs:boolean" use="optional" default="false"/>
338                <xs:attribute name="size" type="xs:double" use="optional"/>
339        </xs:complexType>
340        <xs:complexType name="executionTimeType">
341                <xs:annotation>
342                        <xs:documentation>Description for time constraints of job execution</xs:documentation>
343                </xs:annotation>
344                <xs:sequence>
345                        <xs:element name="timeSlot" minOccurs="0">
346                                <xs:annotation>
347                                        <xs:documentation>Information when to start application</xs:documentation>
348                                </xs:annotation>
349                                <xs:complexType>
350                                        <xs:sequence>
351                                                <xs:element name="slotStart">
352                                                        <xs:complexType>
353                                                                <xs:simpleContent>
354                                                                        <xs:extension base="xs:time"/>
355                                                                </xs:simpleContent>
356                                                        </xs:complexType>
357                                                </xs:element>
358                                                <xs:choice>
359                                                        <xs:element name="slotEnd" type="xs:time"/>
360                                                        <xs:element name="slotDuration" type="xs:duration"/>
361                                                </xs:choice>
362                                        </xs:sequence>
363                                </xs:complexType>
364                        </xs:element>
365                        <xs:element name="executionDuration" type="xs:duration">
366                                <xs:annotation>
367                                        <xs:documentation>How long the Task is running</xs:documentation>
368                                </xs:annotation>
369                        </xs:element>
370                        <xs:element name="timePeriod" minOccurs="0">
371                                <xs:annotation>
372                                        <xs:documentation>Time period where to look for time slot</xs:documentation>
373                                </xs:annotation>
374                                <xs:complexType>
375                                        <xs:sequence>
376                                                <xs:element name="periodStart" type="xs:dateTime" minOccurs="0"/>
377                                                <xs:choice>
378                                                        <xs:element name="periodEnd" type="xs:dateTime"/>
379                                                        <xs:element name="periodDuration" type="xs:duration"/>
380                                                </xs:choice>
381                                                <xs:element name="excluding" type="daysType" minOccurs="0"/>
382                                                <xs:element name="including" type="daysType" minOccurs="0"/>
383                                        </xs:sequence>
384                                </xs:complexType>
385                        </xs:element>
386                </xs:sequence>
387        </xs:complexType>
388        <xs:complexType name="extensionType">
389                <xs:annotation>
390                        <xs:documentation>Dynamically defined extension to job description</xs:documentation>
391                </xs:annotation>
392                <xs:sequence>
393                        <xs:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
394                </xs:sequence>
395        </xs:complexType>
396        <xs:complexType name="proxyInfoType">
397                <xs:annotation>
398                        <xs:documentation>Description of proxy certificate</xs:documentation>
399                </xs:annotation>
400                <xs:sequence>
401                        <xs:element name="proxyName" maxOccurs="unbounded">
402                                <xs:complexType>
403                                        <xs:simpleContent>
404                                                <xs:extension base="xs:string">
405                                                        <xs:attribute name="lifetime" type="xs:int" use="optional"/>
406                                                </xs:extension>
407                                        </xs:simpleContent>
408                                </xs:complexType>
409                        </xs:element>
410                </xs:sequence>
411        </xs:complexType>
412        <xs:complexType name="rangeType">
413                <xs:annotation>
414                        <xs:documentation>Range of values definition</xs:documentation>
415                </xs:annotation>
416                <xs:sequence>
417                        <xs:element name="min" type="parameterBoundaryType"/>
418                        <xs:element name="max" type="parameterBoundaryType"/>
419                </xs:sequence>
420        </xs:complexType>
421        <xs:complexType name="parameterType">
422                <xs:annotation>
423                        <xs:documentation>Description of parameter of resource</xs:documentation>
424                </xs:annotation>
425                <xs:choice>
426                        <xs:choice maxOccurs="unbounded">
427                                <xs:element name="value">
428                                        <xs:complexType>
429                                                <xs:simpleContent>
430                                                        <xs:extension base="parameterValueType">
431                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
432                                                        </xs:extension>
433                                                </xs:simpleContent>
434                                        </xs:complexType>
435                                </xs:element>
436                                <xs:element name="range">
437                                        <xs:complexType>
438                                                <xs:complexContent>
439                                                        <xs:extension base="rangeType">
440                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
441                                                        </xs:extension>
442                                                </xs:complexContent>
443                                        </xs:complexType>
444                                </xs:element>
445                        </xs:choice>
446                        <xs:element name="min" type="parameterBoundaryType"/>
447                        <xs:element name="max" type="parameterBoundaryType"/>
448                        <xs:element name="stringValue" maxOccurs="unbounded">
449                                <xs:complexType>
450                                        <xs:sequence>
451                                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
452                                                        <xs:complexType>
453                                                                <xs:sequence>
454                                                                        <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
455                                                                </xs:sequence>
456                                                                <xs:attribute name="name" type="xs:string" use="required"/>
457                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
458                                                        </xs:complexType>
459                                                </xs:element>
460                                        </xs:sequence>
461                                        <xs:attribute name="value" type="xs:string" use="optional"/>
462                                        <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
463                                </xs:complexType>
464                        </xs:element>
465                </xs:choice>
466        </xs:complexType>
467        <xs:complexType name="otherParameterType">
468                <xs:annotation>
469                        <xs:documentation>Dynamically defined parameter of resource</xs:documentation>
470                </xs:annotation>
471                <xs:complexContent>
472                        <xs:extension base="parameterType">
473                                <xs:attribute name="name" type="xs:string" use="required"/>
474                                <xs:attribute name="endpoint" type="xs:string" use="optional"/>
475                        </xs:extension>
476                </xs:complexContent>
477        </xs:complexType>
478        <xs:complexType name="otherNetParameterType">
479                <xs:annotation>
480                        <xs:documentation>Additional - dynamically defined - parameters of network connection</xs:documentation>
481                </xs:annotation>
482                <xs:complexContent>
483                        <xs:extension base="parameterType">
484                                <xs:attribute name="name" type="xs:string" use="required"/>
485                        </xs:extension>
486                </xs:complexContent>
487        </xs:complexType>
488        <xs:complexType name="networkParameterType">
489                <xs:annotation>
490                        <xs:documentation>Parameters of network connection</xs:documentation>
491                </xs:annotation>
492                <xs:complexContent>
493                        <xs:extension base="parameterType">
494                                <xs:attribute name="name" type="networkParameterName" use="required" />
495                        </xs:extension>
496                </xs:complexContent>
497        </xs:complexType>
498        <xs:complexType name="computingResourceBaseType">
499                <xs:annotation>
500                        <xs:documentation>Base type for computing resource</xs:documentation>
501                </xs:annotation>
502                <xs:choice>
503                        <xs:choice maxOccurs="unbounded">
504                                <xs:element name="hostParameter" type="computingResourceParameterType"/>
505                                <xs:element name="networkParameter" type="computingResourceNetParameterType"/>
506                                <xs:element name="otherParameter" type="otherParameterType"/>
507                        </xs:choice>
508                        <xs:element name="templateIdReference" type="xs:string"/>
509                </xs:choice>
510                <xs:attribute name="resourceId" type="xs:string" use="optional"/>
511        </xs:complexType>
512        <xs:complexType name="computingResourceType">
513                <xs:annotation>
514                        <xs:documentation>Computing resource</xs:documentation>
515                </xs:annotation>
516                <xs:complexContent>
517                        <xs:extension base="computingResourceBaseType">
518                                <xs:sequence>
519                                        <xs:element name="faultTolerance" type="faultToleranceType" minOccurs="0"/>
520                                </xs:sequence>
521                        </xs:extension>
522                </xs:complexContent>
523        </xs:complexType>
524        <xs:complexType name="computingResourceExtType">
525                <xs:annotation>
526                        <xs:documentation>Extended computing resource description</xs:documentation>
527                </xs:annotation>
528                <xs:complexContent>
529                        <xs:extension base="computingResourceType">
530                                <xs:sequence>
531                                        <xs:element name="processesCount" type="countType" minOccurs="0"/>
532                                </xs:sequence>
533                        </xs:extension>
534                </xs:complexContent>
535        </xs:complexType>
536        <xs:complexType name="computingResourceNetParameterType">
537                <xs:annotation>
538                        <xs:documentation>Network related parameter</xs:documentation>
539                </xs:annotation>
540                <xs:complexContent>
541                        <xs:extension base="parameterType">
542                                <xs:attribute name="name" type="networkParameterName" use="required"/>
543                                <xs:attribute name="endpoint" type="xs:string" use="required"/>
544                        </xs:extension>
545                </xs:complexContent>
546        </xs:complexType>
547        <xs:complexType name="computingResourceParameterType">
548                <xs:annotation>
549                        <xs:documentation>Computational resource related parameter</xs:documentation>
550                </xs:annotation>
551                <xs:complexContent>
552                        <xs:extension base="parameterType">
553                                <xs:attribute name="name" type="computingParameterName" use="required"/>
554                        </xs:extension>
555                </xs:complexContent>
556        </xs:complexType>
557        <xs:complexType name="networkResourceType">
558                <xs:annotation>
559                        <xs:documentation>Description of network connection</xs:documentation>
560                </xs:annotation>
561                <xs:choice>
562                        <xs:choice maxOccurs="unbounded">
563                                <xs:element name="networkParameter" type="networkParameterType"/>
564                                <xs:element name="otherParameter" type="otherNetParameterType"/>
565                        </xs:choice>
566                        <xs:element name="templateIdReference" type="xs:string"/>
567                </xs:choice>
568                <xs:attribute name="resourceId" type="xs:string" use="optional"/>
569        </xs:complexType>
570        <xs:complexType name="executionType">
571                <xs:annotation>
572                        <xs:documentation>Definition of program execution part of job description</xs:documentation>
573                </xs:annotation>
574                <xs:sequence>
575                        <xs:element name="executable">
576                                <xs:annotation>
577                                        <xs:documentation>Description of application executable</xs:documentation>
578                                </xs:annotation>
579                                <xs:complexType>
580                                        <xs:choice>
581                                                <xs:element name="application">
582                                                        <xs:annotation>
583                                                                <xs:documentation>Information about application installed on host</xs:documentation>
584                                                        </xs:annotation>
585                                                        <xs:complexType>
586                                                                <xs:sequence>
587                                                                        <xs:element name="appProperty" minOccurs="0" maxOccurs="unbounded">
588                                                                                <xs:complexType>
589                                                                                        <xs:simpleContent>
590                                                                                                <xs:extension base="xs:string">
591                                                                                                        <xs:attribute name="name" type="xs:string" use="required"/>
592                                                                                                </xs:extension>
593                                                                                        </xs:simpleContent>
594                                                                                </xs:complexType>
595                                                                        </xs:element>
596                                                                </xs:sequence>
597                                                                <xs:attribute name="name" type="xs:string" use="required"/>
598                                                        </xs:complexType>
599                                                </xs:element>
600                                                <xs:element name="execFile" maxOccurs="unbounded">
601                                                        <xs:annotation>
602                                                                <xs:documentation>Executable file description</xs:documentation>
603                                                        </xs:annotation>
604                                                        <xs:complexType>
605                                                                <xs:sequence>
606                                                                        <xs:element name="execProperties" minOccurs="0">
607                                                                                <xs:annotation>
608                                                                                        <xs:documentation>Properties of given executable</xs:documentation>
609                                                                                </xs:annotation>
610                                                                                <xs:complexType>
611                                                                                        <xs:choice>
612                                                                                                <xs:element name="resourceIdReference" type="xs:string"/>
613                                                                                                <xs:choice maxOccurs="unbounded">
614                                                                                                        <xs:element name="hostParameter" type="computingResourceParameterType"/>
615                                                                                                        <xs:element name="otherParameter" type="otherParameterType"/>
616                                                                                                </xs:choice>
617                                                                                        </xs:choice>
618                                                                                </xs:complexType>
619                                                                        </xs:element>
620                                                                        <xs:element name="file">
621                                                                                <xs:annotation>
622                                                                                        <xs:documentation>Exec file</xs:documentation>
623                                                                                </xs:annotation>
624                                                                                <xs:complexType>
625                                                                                        <xs:complexContent>
626                                                                                                <xs:extension base="baseFileType">
627                                                                                                        <xs:attribute name="name" type="xs:string" use="optional"/>
628                                                                                                </xs:extension>
629                                                                                        </xs:complexContent>
630                                                                                </xs:complexType>
631                                                                        </xs:element>
632                                                                </xs:sequence>
633                                                        </xs:complexType>
634                                                </xs:element>
635                                        </xs:choice>
636                                </xs:complexType>
637                        </xs:element>
638                        <xs:element name="arguments" minOccurs="0">
639                                <xs:annotation>
640                                        <xs:documentation>Arguments of executable</xs:documentation>
641                                </xs:annotation>
642                                <xs:complexType>
643                                        <xs:sequence>
644                                                <xs:element name="value" type="xs:string" maxOccurs="unbounded"/>
645                                        </xs:sequence>
646                                </xs:complexType>
647                        </xs:element>
648                        <xs:element name="stdin" type="baseFileType" minOccurs="0">
649                                <xs:annotation>
650                                        <xs:documentation>Standard input stream location</xs:documentation>
651                                </xs:annotation>
652                        </xs:element>
653                        <xs:element name="stdout" type="baseFileType" minOccurs="0">
654                                <xs:annotation>
655                                        <xs:documentation>Standard output stream location</xs:documentation>
656                                </xs:annotation>
657                        </xs:element>
658                        <xs:element name="stderr" type="baseFileType" minOccurs="0">
659                                <xs:annotation>
660                                        <xs:documentation>Standard error stream location</xs:documentation>
661                                </xs:annotation>
662                        </xs:element>
663                        <xs:element name="stageInOut" minOccurs="0">
664                                <xs:annotation>
665                                        <xs:documentation>Description of files and directories to be stage out or in</xs:documentation>
666                                </xs:annotation>
667                                <xs:complexType>
668                                        <xs:choice maxOccurs="unbounded">
669                                                <xs:element name="file" type="fileType"/>
670                                                <xs:element name="directory" type="fileType"/>
671                                        </xs:choice>
672                                </xs:complexType>
673                        </xs:element>
674                        <xs:element name="environment" minOccurs="0">
675                                <xs:annotation>
676                                        <xs:documentation>Environment variables</xs:documentation>
677                                </xs:annotation>
678                                <xs:complexType>
679                                        <xs:sequence>
680                                                <xs:element name="variable" maxOccurs="unbounded">
681                                                        <xs:complexType>
682                                                                <xs:simpleContent>
683                                                                        <xs:extension base="xs:string">
684                                                                                <xs:attribute name="name" type="xs:string" use="required"/>
685                                                                        </xs:extension>
686                                                                </xs:simpleContent>
687                                                        </xs:complexType>
688                                                </xs:element>
689                                        </xs:sequence>
690                                </xs:complexType>
691                        </xs:element>
692                        <xs:element name="checkpoint" minOccurs="0">
693                                <xs:annotation>
694                                        <xs:documentation>Checkpoint files location</xs:documentation>
695                                </xs:annotation>
696                                <xs:complexType>
697                                        <xs:choice maxOccurs="unbounded">
698                                                <xs:element name="file" type="fileType">
699                                                        <xs:annotation>
700                                                                <xs:documentation>Checkpoint files description</xs:documentation>
701                                                        </xs:annotation>
702                                                </xs:element>
703                                                <xs:element name="directory" type="fileType"/>
704                                        </xs:choice>
705                                </xs:complexType>
706                        </xs:element>
707                </xs:sequence>
708                <xs:attribute name="type" use="required">
709                        <xs:simpleType>
710                                <xs:restriction base="xs:string">
711                                        <xs:enumeration value="single"/>
712                                        <xs:enumeration value="multiple"/>
713                                        <xs:enumeration value="mpi"/>
714                                        <xs:enumeration value="mpichg"/>
715                                        <xs:enumeration value="open_mpi"/>
716                                        <xs:enumeration value="proactive"/>
717                                </xs:restriction>
718                        </xs:simpleType>
719                </xs:attribute>
720                <xs:attribute name="checkpointable" type="xs:boolean" use="optional" default="false"/>
721        </xs:complexType>
722        <xs:complexType name="countRangeType">
723                <xs:annotation>
724                        <xs:documentation>Range of count parameter</xs:documentation>
725                </xs:annotation>
726                <xs:sequence>
727                        <xs:element name="min" type="countBoundaryType"/>
728                        <xs:element name="max" type="countBoundaryType"/>
729                </xs:sequence>
730        </xs:complexType>
731        <xs:complexType name="faultToleranceType">
732                <xs:annotation>
733                        <xs:documentation>Fault tolerance description</xs:documentation>
734                </xs:annotation>
735                <xs:sequence>
736                        <xs:element name="additionalCPUs" minOccurs="0">
737                                <xs:complexType>
738                                        <xs:choice>
739                                                <xs:element name="count" type="countType"/>
740                                                <xs:element name="percentage" type="countType"/>
741                                        </xs:choice>
742                                </xs:complexType>
743                        </xs:element>
744                </xs:sequence>
745        </xs:complexType>
746        <xs:complexType name="hostCandidatesType">
747                <xs:annotation>
748                        <xs:documentation>List of hosts used by GRMS in resource discovery process</xs:documentation>
749                </xs:annotation>
750                <xs:sequence>
751                        <xs:element name="hostName" type="xs:string" maxOccurs="unbounded"/>
752                </xs:sequence>
753        </xs:complexType>
754        <xs:complexType name="resourceTemplatesType">
755                <xs:annotation>
756                        <xs:documentation>Templates for describing resources and network connections</xs:documentation>
757                </xs:annotation>
758                <xs:choice maxOccurs="unbounded">
759                        <xs:element name="computingResourceTemplate" minOccurs="0">
760                                <xs:complexType>
761                                        <xs:choice maxOccurs="unbounded">
762                                                <xs:element name="hostParameter" type="computingResourceParameterType"/>
763                                                <xs:element name="networkParameter" type="computingResourceNetParameterType"/>
764                                                <xs:element name="otherParameter" type="otherParameterType"/>
765                                        </xs:choice>
766                                        <xs:attribute name="templateId" type="xs:string" use="required"/>
767                                </xs:complexType>
768                        </xs:element>
769                        <xs:element name="networkResourceTemplate" minOccurs="0">
770                                <xs:complexType>
771                                        <xs:choice maxOccurs="unbounded">
772                                                <xs:element name="networkParameter" type="networkParameterType"/>
773                                                <xs:element name="otherParameter" type="otherNetParameterType"/>
774                                        </xs:choice>
775                                        <xs:attribute name="templateId" type="xs:string" use="required"/>
776                                </xs:complexType>
777                        </xs:element>
778                </xs:choice>
779        </xs:complexType>
780        <xs:complexType name="preferencesType">
781                <xs:annotation>
782                        <xs:documentation>User preferences concerning scheduling</xs:documentation>
783                </xs:annotation>
784                <xs:sequence>
785                        <xs:element name="parameter" maxOccurs="unbounded">
786                                <xs:complexType>
787                                        <xs:choice minOccurs="0">
788                                                <xs:choice>
789                                                        <xs:element name="value" type="parameterValueType"/>
790                                                        <xs:element name="min" type="parameterBoundaryType"/>
791                                                        <xs:element name="max" type="parameterBoundaryType"/>
792                                                        <xs:element name="range" type="rangeType"/>
793                                                </xs:choice>
794                                                <xs:element name="stringValue" type="xs:string"/>
795                                        </xs:choice>
796                                        <xs:attribute name="name" type="xs:string" use="required"/>
797                                        <xs:attribute name="optimizationType" use="required">
798                                                <xs:simpleType>
799                                                        <xs:restriction base="xs:string">
800                                                                <xs:enumeration value="GAIN"/>
801                                                                <xs:enumeration value="COST"/>
802                                                        </xs:restriction>
803                                                </xs:simpleType>
804                                        </xs:attribute>
805                                        <xs:attribute name="importance" type="xs:int" use="required"/>
806                                        <xs:attribute name="endpoint" type="xs:string" use="optional"/>
807                                </xs:complexType>
808                        </xs:element>
809                </xs:sequence>
810                <xs:attribute name="preferenceType" use="required">
811                        <xs:simpleType>
812                                <xs:restriction base="xs:string">
813                                        <xs:enumeration value="PRIORITY"/>
814                                        <xs:enumeration value="RANKING"/>
815                                </xs:restriction>
816                        </xs:simpleType>
817                </xs:attribute>
818        </xs:complexType>
819        <xs:complexType name="requirementsType">
820                <xs:annotation>
821                        <xs:documentation>Resource description</xs:documentation>
822                </xs:annotation>
823                <xs:sequence>
824                        <xs:element name="resourceTemplates" type="resourceTemplatesType" minOccurs="0">
825                                <xs:annotation>
826                                        <xs:documentation>Templates of resources description</xs:documentation>
827                                </xs:annotation>
828                        </xs:element>
829                        <xs:element name="resourceRequirements" type="resourceRequirementsType" minOccurs="0">
830                                <xs:annotation>
831                                        <xs:documentation>Computing resource requirements </xs:documentation>
832                                </xs:annotation>
833                        </xs:element>
834                        <xs:element name="topology" minOccurs="0" maxOccurs="unbounded">
835                                <xs:annotation>
836                                        <xs:documentation>Processes topology definition</xs:documentation>
837                                </xs:annotation>
838                                <xs:complexType>
839                                        <xs:sequence>
840                                                <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
841                                                        <xs:annotation>
842                                                                <xs:documentation>Groups of processes definition</xs:documentation>
843                                                        </xs:annotation>
844                                                        <xs:complexType>
845                                                                <xs:sequence>
846                                                                        <xs:element name="processesConnection" minOccurs="0">
847                                                                                <xs:annotation>
848                                                                                        <xs:documentation>Requirements for network parameters of connection among processes in group</xs:documentation>
849                                                                                </xs:annotation>
850                                                                                <xs:complexType>
851                                                                                        <xs:sequence>
852                                                                                                <xs:element name="networkResource" type="networkResourceType" maxOccurs="unbounded"/>
853                                                                                        </xs:sequence>
854                                                                                </xs:complexType>
855                                                                        </xs:element>
856                                                                        <xs:element name="groupConnection" minOccurs="0" maxOccurs="unbounded">
857                                                                                <xs:annotation>
858                                                                                        <xs:documentation>Requirements for network parameters of connection between current group and group with provided id</xs:documentation>
859                                                                                </xs:annotation>
860                                                                                <xs:complexType>
861                                                                                        <xs:sequence>
862                                                                                                <xs:element name="networkResource" type="networkResourceType" maxOccurs="unbounded"/>
863                                                                                        </xs:sequence>
864                                                                                        <xs:attribute name="endpointGroupId" type="xs:string" use="required"/>
865                                                                                </xs:complexType>
866                                                                        </xs:element>
867                                                                </xs:sequence>
868                                                                <xs:attribute name="groupId" type="xs:string" use="required"/>
869                                                        </xs:complexType>
870                                                </xs:element>
871                                                <xs:element name="processes" maxOccurs="unbounded">
872                                                        <xs:annotation>
873                                                                <xs:documentation>Processes definition</xs:documentation>
874                                                        </xs:annotation>
875                                                        <xs:complexType>
876                                                                <xs:sequence>
877                                                                        <xs:element name="groupIdReference" type="xs:string" minOccurs="0" maxOccurs="unbounded">
878                                                                                <xs:annotation>
879                                                                                        <xs:documentation>Ids of group that the process belongs</xs:documentation>
880                                                                                </xs:annotation>
881                                                                        </xs:element>
882                                                                        <xs:element name="processesCount" type="countType" minOccurs="0">
883                                                                                <xs:annotation>
884                                                                                        <xs:documentation>Number of process with specified resources requirements</xs:documentation>
885                                                                                </xs:annotation>
886                                                                        </xs:element>
887                                                                        <xs:element name="resourceRequirements" minOccurs="0">
888                                                                                <xs:annotation>
889                                                                                        <xs:documentation>Resource requirements of defined processes</xs:documentation>
890                                                                                </xs:annotation>
891                                                                                <xs:complexType>
892                                                                                        <xs:sequence>
893                                                                                                <xs:element name="computingResource" type="computingResourceExtType" minOccurs="0" maxOccurs="unbounded">
894                                                                                                        <xs:annotation>
895                                                                                                                <xs:documentation>Definition of resource reqiurements for processes</xs:documentation>
896                                                                                                        </xs:annotation>
897                                                                                                </xs:element>
898                                                                                                <xs:element name="preferences" type="preferencesType" minOccurs="0"/>
899                                                                                        </xs:sequence>
900                                                                                </xs:complexType>
901                                                                        </xs:element>
902                                                                </xs:sequence>
903                                                                <xs:attribute name="processesId" type="xs:string" use="optional"/>
904                                                                <xs:attribute name="masterGroup" type="xs:boolean" use="optional"/>
905                                                        </xs:complexType>
906                                                </xs:element>
907                                        </xs:sequence>
908                                </xs:complexType>
909                        </xs:element>
910                </xs:sequence>
911        </xs:complexType>
912        <xs:complexType name="countType">
913                <xs:annotation>
914                        <xs:documentation>Description of count element</xs:documentation>
915                </xs:annotation>
916                <xs:choice>
917                        <xs:element name="value">
918                                <xs:complexType>
919                                        <xs:simpleContent>
920                                                <xs:extension base="xs:int">
921                                                        <xs:attribute name="indiffThreshold" type="xs:int" use="optional" default="0"/>
922                                                </xs:extension>
923                                        </xs:simpleContent>
924                                </xs:complexType>
925                        </xs:element>
926                        <xs:element name="min" type="countBoundaryType"/>
927                        <xs:element name="max" type="countBoundaryType"/>
928                        <xs:element name="range" type="countRangeType"/>
929                </xs:choice>
930        </xs:complexType>
931        <xs:complexType name="daysType">
932                <xs:annotation>
933                        <xs:documentation>Days of the week</xs:documentation>
934                </xs:annotation>
935                <xs:choice maxOccurs="unbounded">
936                        <xs:element name="weekDay">
937                                <xs:simpleType>
938                                        <xs:restriction base="xs:string">
939                                                <xs:enumeration value="Monday"/>
940                                                <xs:enumeration value="Tuesday"/>
941                                                <xs:enumeration value="Wednesday"/>
942                                                <xs:enumeration value="Thursday"/>
943                                                <xs:enumeration value="Friday"/>
944                                                <xs:enumeration value="Saturday"/>
945                                                <xs:enumeration value="Sunday"/>
946                                        </xs:restriction>
947                                </xs:simpleType>
948                        </xs:element>
949                        <xs:element name="dateDay" type="xs:date"/>
950                </xs:choice>
951        </xs:complexType>
952        <xs:complexType name="parameterValueType">
953                <xs:annotation>
954                        <xs:documentation>Value of the parameter</xs:documentation>
955                </xs:annotation>
956                <xs:simpleContent>
957                        <xs:extension base="xs:double">
958                                <xs:attribute name="indiffThreshold" type="xs:double" use="optional" default="0"/>
959                        </xs:extension>
960                </xs:simpleContent>
961        </xs:complexType>
962        <xs:complexType name="networkResourceRefType">
963                <xs:annotation>
964                        <xs:documentation>Reference to network Id</xs:documentation>
965                </xs:annotation>
966                <xs:attribute name="idRef" type="xs:IDREF" use="required"/>
967        </xs:complexType>
968        <xs:complexType name="parameterBoundaryType">
969                <xs:annotation>
970                        <xs:documentation>Description of boundary for parameters</xs:documentation>
971                </xs:annotation>
972                <xs:simpleContent>
973                        <xs:extension base="xs:double">
974                                <xs:attribute name="exclusiveBound" type="xs:boolean" use="optional" default="false"/>
975                        </xs:extension>
976                </xs:simpleContent>
977        </xs:complexType>
978        <xs:complexType name="countBoundaryType">
979                <xs:annotation>
980                        <xs:documentation>Description of boundary for count</xs:documentation>
981                </xs:annotation>
982                <xs:simpleContent>
983                        <xs:extension base="xs:int">
984                                <xs:attribute name="exclusiveBound" type="xs:boolean" use="optional" default="false"/>
985                        </xs:extension>
986                </xs:simpleContent>
987        </xs:complexType>
988        <xs:complexType name="descriptionVariablesType">
989                <xs:sequence>
990                        <xs:element name="variable" type="xs:string"/>
991                </xs:sequence>
992        </xs:complexType>
993        <xs:complexType name="resourceRequirementsType">
994                <xs:sequence>
995                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"/>
996                        <xs:element name="preferences" type="preferencesType" minOccurs="0"/>
997                </xs:sequence>
998        </xs:complexType>
999        <xs:complexType name="parentOpType">
1000                <xs:choice maxOccurs="unbounded">
1001                        <xs:element name="or" type="parentOpType"/>
1002                        <xs:element name="and" type="parentOpType"/>
1003                        <xs:element name="parent" type="parentType"/>
1004                </xs:choice>
1005        </xs:complexType>
1006        <xs:complexType name="parentType">
1007                <xs:simpleContent>
1008                        <xs:extension base="xs:string">
1009                                <xs:attribute name="triggerState" type="taskStatesName" use="optional" default="FINISHED"/>
1010                                <xs:attribute name="runSameHost" type="xs:boolean" use="optional" default="false"/>
1011                                <xs:attribute name="atEachIteration" type="xs:boolean" use="optional" default="false"/>
1012                        </xs:extension>
1013                </xs:simpleContent>
1014        </xs:complexType>
1015        <xs:complexType name="parametersSweepParameter">
1016                <xs:sequence>
1017                        <xs:element name="name" type="xs:string"/>
1018                        <xs:element name="value" type="parametersSweepParameterValue"/>
1019                        <xs:element name="parameter" type="parametersSweepParameter" minOccurs="0" maxOccurs="unbounded"/>
1020                </xs:sequence>
1021        </xs:complexType>
1022        <xs:complexType name="parametersSweepParameterValue">
1023                <xs:choice>
1024                        <xs:element name="loop" type="parametersSweepParameterLoop"/>
1025                        <xs:element name="set" type="parametersSweepParameterSet"/>
1026                </xs:choice>
1027        </xs:complexType>
1028        <xs:complexType name="parametersSweepParameterLoop">
1029                <xs:sequence>
1030                        <xs:element name="start" type="xs:double"/>
1031                        <xs:element name="end" type="xs:double"/>
1032                        <xs:element name="step" type="xs:double"/>
1033                        <xs:element name="except" minOccurs="0">
1034                                <xs:complexType>
1035                                        <xs:sequence>
1036                                                <xs:element name="value" type="xs:double" maxOccurs="unbounded"/>
1037                                        </xs:sequence>
1038                                </xs:complexType>
1039                        </xs:element>
1040                </xs:sequence>
1041        </xs:complexType>
1042        <xs:complexType name="parametersSweepParameterSet">
1043                <xs:sequence>
1044                        <xs:element name="item" type="xs:string" maxOccurs="unbounded"/>
1045                </xs:sequence>
1046        </xs:complexType>
1047</xs:schema>
Note: See TracBrowser for help on using the repository browser.