source: DCWoRMS/trunk/src/test/jobschema/GrmsJobDescriptionSchemaNew.xsd @ 761

Revision 761, 27.0 KB checked in by wojtekp, 12 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="task" maxOccurs="unbounded">
94                                        <xs:annotation>
95                                                <xs:documentation>Description of Tasks</xs:documentation>
96                                                <xs:documentation>Description of Simple Job</xs:documentation>
97                                        </xs:annotation>
98                                        <xs:complexType>
99                                                <xs:complexContent>
100                                                        <xs:extension base="taskType"/>
101                                                </xs:complexContent>
102                                        </xs:complexType>                             
103                                </xs:element>
104                        </xs:sequence>
105                        <xs:attribute name="appId" type="xs:string" use="required"/>
106                        <xs:attribute name="priority" type="xs:int" use="optional" default="0"/>
107                </xs:complexType>
108                <xs:key name="taskId">
109                        <xs:selector xpath=".//task"/>
110                        <xs:field xpath="@taskId"/>
111                </xs:key>
112
113        </xs:element>
114        <xs:complexType name="taskType">
115                <xs:annotation>
116                        <xs:documentation>Description of Task</xs:documentation>
117                </xs:annotation>
118                <xs:sequence>
119                        <xs:element name="description" type="xs:string" minOccurs="0">
120                                <xs:annotation>
121                                        <xs:documentation>User defined description of Task</xs:documentation>
122                                </xs:annotation>
123                        </xs:element>
124
125                        <xs:element name="requirements" type="requirementsType" minOccurs="0">
126                                <xs:annotation>
127                                        <xs:documentation>Description of resource requirements</xs:documentation>
128                                </xs:annotation>
129
130                        </xs:element>
131                        <xs:element name="execution" type="executionType" minOccurs="0">
132                                <xs:annotation>
133                                        <xs:documentation>Application description section</xs:documentation>
134                                </xs:annotation>
135                        </xs:element>
136
137                        <xs:element name="executionTime" type="executionTimeType" minOccurs="0">
138                                <xs:annotation>
139                                        <xs:documentation>Description of time constraints for task execution</xs:documentation>
140                                </xs:annotation>
141                        </xs:element>
142                        <xs:element name="workflow" minOccurs="0">
143                                <xs:annotation>
144                                        <xs:documentation>Workflow description</xs:documentation>
145                                </xs:annotation>
146                                <xs:complexType>
147                                        <xs:choice>
148                                                <xs:element name="parent" type="parentType" maxOccurs="unbounded"/>
149                                                <xs:element name="or" type="parentOpType"/>
150                                                <xs:element name="and" type="parentOpType"/>
151                                        </xs:choice>
152                                </xs:complexType>
153                        </xs:element>
154
155                </xs:sequence>
156                <xs:attribute name="taskId" type="xs:string" use="required"/>
157                <xs:attribute name="persistent" type="xs:boolean" use="optional" default="false"/>
158                <xs:attribute name="extension" type="xs:string" use="optional"/>
159                <xs:attribute name="crucial" type="xs:boolean" use="optional" default="true"/>
160                <xs:attribute name="priority" type="xs:int" use="optional" default="0"/>
161        </xs:complexType>
162
163        <xs:complexType name="fileType">
164                <xs:annotation>
165                        <xs:documentation>Base element for file description</xs:documentation>
166                </xs:annotation>
167                <xs:sequence>
168                        <xs:element name="location">
169                                <xs:complexType>
170                                        <xs:simpleContent>
171                                                <xs:extension base="xs:string">
172                                                        <xs:attribute name="type" type="locationTypes" use="required"/>
173                                                </xs:extension>
174                                        </xs:simpleContent>
175                                </xs:complexType>
176                        </xs:element>
177                        <xs:element name="locationProperties" minOccurs="0">
178                                <xs:complexType>
179                                        <xs:sequence>
180                                                <xs:element name="property">
181                                                        <xs:complexType>
182                                                                <xs:simpleContent>
183                                                                        <xs:extension base="xs:string">
184                                                                                <xs:attribute name="name" type="xs:string"/>
185                                                                        </xs:extension>
186                                                                </xs:simpleContent>
187                                                        </xs:complexType>
188                                                </xs:element>
189                                        </xs:sequence>
190                                </xs:complexType>
191                        </xs:element>
192                </xs:sequence>
193                <xs:attribute name="name" type="xs:string" use="required"/>
194                <xs:attribute name="type" use="optional">
195                        <xs:simpleType>
196                                <xs:restriction base="xs:string">
197                                        <xs:enumeration value="in"/>
198                                        <xs:enumeration value="out"/>
199                                </xs:restriction>
200                        </xs:simpleType>
201                </xs:attribute>
202                <xs:attribute name="required" type="xs:boolean" use="optional" default="true"/>
203                <xs:attribute name="size" type="xs:double" use="optional"/>
204        </xs:complexType>
205        <xs:complexType name="executionTimeType">
206                <xs:annotation>
207                        <xs:documentation>Description for time constraints of job execution</xs:documentation>
208                </xs:annotation>
209                <xs:sequence>
210                        <xs:element name="timeSlot" minOccurs="0">
211                                <xs:annotation>
212                                        <xs:documentation>Information when to start application</xs:documentation>
213                                </xs:annotation>
214                                <xs:complexType>
215                                        <xs:sequence>
216                                                <xs:element name="slotStart">
217                                                        <xs:complexType>
218                                                                <xs:simpleContent>
219                                                                        <xs:extension base="xs:time"/>
220                                                                </xs:simpleContent>
221                                                        </xs:complexType>
222                                                </xs:element>
223                                                <xs:choice>
224                                                        <xs:element name="slotEnd" type="xs:time"/>
225                                                        <xs:element name="slotDuration" type="xs:duration"/>
226                                                </xs:choice>
227                                        </xs:sequence>
228                                </xs:complexType>
229                        </xs:element>
230                        <xs:element name="executionDuration" type="xs:duration">
231                                <xs:annotation>
232                                        <xs:documentation>How long the Task is running</xs:documentation>
233                                </xs:annotation>
234                        </xs:element>
235                        <xs:element name="timePeriod" minOccurs="0">
236                                <xs:annotation>
237                                        <xs:documentation>Time period where to look for time slot</xs:documentation>
238                                </xs:annotation>
239                                <xs:complexType>
240                                        <xs:sequence>
241                                                <xs:element name="periodStart" type="xs:dateTime" minOccurs="0"/>
242                                                <xs:choice>
243                                                        <xs:element name="periodEnd" type="xs:dateTime"/>
244                                                        <xs:element name="periodDuration" type="xs:duration"/>
245                                                </xs:choice>
246                                                <xs:element name="excluding" type="daysType" minOccurs="0"/>
247                                                <xs:element name="including" type="daysType" minOccurs="0"/>
248                                        </xs:sequence>
249                                </xs:complexType>
250                        </xs:element>
251                </xs:sequence>
252        </xs:complexType>
253
254        <xs:complexType name="rangeType">
255                <xs:annotation>
256                        <xs:documentation>Range of values definition</xs:documentation>
257                </xs:annotation>
258                <xs:sequence>
259                        <xs:element name="min" type="parameterBoundaryType"/>
260                        <xs:element name="max" type="parameterBoundaryType"/>
261                </xs:sequence>
262        </xs:complexType>
263        <xs:complexType name="parameterType">
264                <xs:annotation>
265                        <xs:documentation>Description of parameter of resource</xs:documentation>
266                </xs:annotation>
267                <xs:choice>
268                        <xs:choice maxOccurs="unbounded">
269                                <xs:element name="value">
270                                        <xs:complexType>
271                                                <xs:simpleContent>
272                                                        <xs:extension base="parameterValueType">
273                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
274                                                        </xs:extension>
275                                                </xs:simpleContent>
276                                        </xs:complexType>
277                                </xs:element>
278                                <xs:element name="range">
279                                        <xs:complexType>
280                                                <xs:complexContent>
281                                                        <xs:extension base="rangeType">
282                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
283                                                        </xs:extension>
284                                                </xs:complexContent>
285                                        </xs:complexType>
286                                </xs:element>
287                        </xs:choice>
288                        <xs:element name="stringValue" maxOccurs="unbounded">
289                                <xs:complexType>
290                                        <xs:sequence>
291                                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
292                                                        <xs:complexType>
293                                                                <xs:sequence>
294                                                                        <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
295                                                                </xs:sequence>
296                                                                <xs:attribute name="name" type="xs:string" use="required"/>
297                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
298                                                        </xs:complexType>
299                                                </xs:element>
300                                        </xs:sequence>
301                                        <xs:attribute name="value" type="xs:string" use="optional"/>
302                                        <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
303                                </xs:complexType>
304                        </xs:element>
305                </xs:choice>
306        </xs:complexType>
307       
308        <xs:complexType name="otherParameterType">
309                <xs:annotation>
310                        <xs:documentation>Dynamically defined parameter of resource</xs:documentation>
311                </xs:annotation>
312                <xs:complexContent>
313                        <xs:extension base="parameterType">
314                                <xs:attribute name="name" type="xs:string" use="required"/>
315                        </xs:extension>
316                </xs:complexContent>
317        </xs:complexType>
318
319        <xs:complexType name="networkParameterType">
320                <xs:annotation>
321                        <xs:documentation>Parameters of network connection</xs:documentation>
322                </xs:annotation>
323                <xs:complexContent>
324                        <xs:extension base="parameterType">
325                                <xs:attribute name="name" type="networkParameterName" use="required" />
326                        </xs:extension>
327                </xs:complexContent>
328        </xs:complexType>
329        <xs:complexType name="computingResourceBaseType">
330                <xs:annotation>
331                        <xs:documentation>Base type for computing resource</xs:documentation>
332                </xs:annotation>
333                <xs:choice>
334                        <xs:choice maxOccurs="unbounded">
335                                <xs:element name="hostParameter" type="computingResourceParameterType"/>
336                                <xs:element name="networkParameter" type="computingResourceNetParameterType"/>
337                                <xs:element name="otherParameter" type="otherParameterType"/>
338                        </xs:choice>
339                </xs:choice>
340                <xs:attribute name="resourceId" type="xs:string" use="optional"/>
341        </xs:complexType>
342        <xs:complexType name="computingResourceType">
343                <xs:annotation>
344                        <xs:documentation>Computing resource</xs:documentation>
345                </xs:annotation>
346                <xs:complexContent>
347                        <xs:extension base="computingResourceBaseType">
348                                <xs:sequence>
349                                        <xs:element name="faultTolerance" type="faultToleranceType" minOccurs="0"/>
350                                </xs:sequence>
351                        </xs:extension>
352                </xs:complexContent>
353        </xs:complexType>
354        <xs:complexType name="computingResourceExtType">
355                <xs:annotation>
356                        <xs:documentation>Extended computing resource description</xs:documentation>
357                </xs:annotation>
358                <xs:complexContent>
359                        <xs:extension base="computingResourceType">
360                                <xs:sequence>
361                                        <xs:element name="processesCount" type="countType" minOccurs="0"/>
362                                </xs:sequence>
363                        </xs:extension>
364                </xs:complexContent>
365        </xs:complexType>
366        <xs:complexType name="computingResourceNetParameterType">
367                <xs:annotation>
368                        <xs:documentation>Network related parameter</xs:documentation>
369                </xs:annotation>
370                <xs:complexContent>
371                        <xs:extension base="parameterType">
372                                <xs:attribute name="name" type="networkParameterName" use="required"/>
373                                <xs:attribute name="endpoint" type="xs:string" use="optional"/>
374                        </xs:extension>
375                </xs:complexContent>
376        </xs:complexType>
377        <xs:complexType name="computingResourceParameterType">
378                <xs:annotation>
379                        <xs:documentation>Computational resource related parameter</xs:documentation>
380                </xs:annotation>
381                <xs:complexContent>
382                        <xs:extension base="parameterType">
383                                <xs:attribute name="name" type="computingParameterName" use="required"/>
384                        </xs:extension>
385                </xs:complexContent>
386        </xs:complexType>
387        <xs:complexType name="networkResourceType">
388                <xs:annotation>
389                        <xs:documentation>Description of network connection</xs:documentation>
390                </xs:annotation>
391                <xs:choice>
392                        <xs:choice maxOccurs="unbounded">
393                                <xs:element name="networkParameter" type="networkParameterType"/>
394                        </xs:choice>
395                </xs:choice>
396                <xs:attribute name="resourceId" type="xs:string" use="optional"/>
397        </xs:complexType>
398        <xs:complexType name="executionType">
399                <xs:annotation>
400                        <xs:documentation>Definition of program execution part of job description</xs:documentation>
401                </xs:annotation>
402                <xs:sequence>
403                        <xs:element name="executable" minOccurs="0">
404                                <xs:annotation>
405                                        <xs:documentation>Description of application executable</xs:documentation>
406                                </xs:annotation>
407                                <xs:complexType>
408                                        <xs:choice>
409                                                <xs:element name="application">
410                                                        <xs:annotation>
411                                                                <xs:documentation>Information about application installed on host</xs:documentation>
412                                                        </xs:annotation>
413                                                        <xs:complexType>
414                                                                <xs:sequence>
415                                                                        <xs:element name="appProperty" minOccurs="0" maxOccurs="unbounded">
416                                                                                <xs:complexType>
417                                                                                        <xs:simpleContent>
418                                                                                                <xs:extension base="xs:string">
419                                                                                                        <xs:attribute name="name" type="xs:string" use="required"/>
420                                                                                                </xs:extension>
421                                                                                        </xs:simpleContent>
422                                                                                </xs:complexType>
423                                                                        </xs:element>
424                                                                </xs:sequence>
425                                                                <xs:attribute name="name" type="xs:string" use="required"/>
426                                                        </xs:complexType>
427                                                </xs:element>
428                                                <xs:element name="execFile" maxOccurs="unbounded">
429                                                        <xs:annotation>
430                                                                <xs:documentation>Executable file description</xs:documentation>
431                                                        </xs:annotation>
432                                                        <xs:complexType>
433                                                                <xs:sequence>
434                                                                        <xs:element name="execProperties" minOccurs="0">
435                                                                                <xs:annotation>
436                                                                                        <xs:documentation>Properties of given executable</xs:documentation>
437                                                                                </xs:annotation>
438                                                                                <xs:complexType>
439                                                                                        <xs:choice>
440                                                                                                <xs:element name="resourceIdReference" type="xs:string"/>
441                                                                                                <xs:choice maxOccurs="unbounded">
442                                                                                                        <xs:element name="hostParameter" type="computingResourceParameterType"/>
443                                                                                                        <xs:element name="otherParameter" type="otherParameterType"/>
444                                                                                                </xs:choice>
445                                                                                        </xs:choice>
446                                                                                </xs:complexType>
447                                                                        </xs:element>
448                                                                </xs:sequence>
449                                                        </xs:complexType>
450                                                </xs:element>
451                                        </xs:choice>
452                                </xs:complexType>
453                        </xs:element>
454                        <xs:element name="stdin" type="fileType" minOccurs="0" maxOccurs="unbounded">
455                                <xs:annotation>
456                                        <xs:documentation>Standard input stream location</xs:documentation>
457                                </xs:annotation>
458                        </xs:element>
459                        <xs:element name="stdout" type="fileType" minOccurs="0" maxOccurs="unbounded">
460                                <xs:annotation>
461                                        <xs:documentation>Standard output stream location</xs:documentation>
462                                </xs:annotation>
463                        </xs:element>
464                        <xs:element name="resourceConsumptionProfile" type="resourceConsumptionProfileType" minOccurs="0">
465                        </xs:element>
466                </xs:sequence>
467                <xs:attribute name="type" use="optional">
468                        <xs:simpleType>
469                                <xs:restriction base="xs:string">
470                                        <xs:enumeration value="single"/>
471                                        <xs:enumeration value="multiple"/>
472                                        <xs:enumeration value="mpi"/>
473                                        <xs:enumeration value="mpichg"/>
474                                        <xs:enumeration value="open_mpi"/>
475                                        <xs:enumeration value="proactive"/>
476                                </xs:restriction>
477                        </xs:simpleType>
478                </xs:attribute>
479                <xs:attribute name="checkpointable" type="xs:boolean" use="optional" default="false"/>
480        </xs:complexType>
481        <xs:complexType name="countRangeType">
482                <xs:annotation>
483                        <xs:documentation>Range of count parameter</xs:documentation>
484                </xs:annotation>
485                <xs:sequence>
486                        <xs:element name="min" type="countBoundaryType"/>
487                        <xs:element name="max" type="countBoundaryType"/>
488                </xs:sequence>
489        </xs:complexType>
490        <xs:complexType name="faultToleranceType">
491                <xs:annotation>
492                        <xs:documentation>Fault tolerance description</xs:documentation>
493                </xs:annotation>
494                <xs:sequence>
495                        <xs:element name="additionalCPUs" minOccurs="0">
496                                <xs:complexType>
497                                        <xs:choice>
498                                                <xs:element name="count" type="countType"/>
499                                                <xs:element name="percentage" type="countType"/>
500                                        </xs:choice>
501                                </xs:complexType>
502                        </xs:element>
503                </xs:sequence>
504        </xs:complexType>
505
506        <xs:complexType name="preferencesType">
507                <xs:annotation>
508                        <xs:documentation>User preferences concerning scheduling</xs:documentation>
509                </xs:annotation>
510                <xs:sequence>
511                        <xs:element name="parameter" maxOccurs="unbounded">
512                                <xs:complexType>
513                                        <xs:choice minOccurs="0">
514                                                <xs:choice>
515                                                        <xs:element name="value" type="parameterValueType"/>
516                                                        <xs:element name="min" type="parameterBoundaryType"/>
517                                                        <xs:element name="max" type="parameterBoundaryType"/>
518                                                        <xs:element name="range" type="rangeType"/>
519                                                </xs:choice>
520                                                <xs:element name="stringValue" type="xs:string"/>
521                                        </xs:choice>
522                                        <xs:attribute name="name" type="xs:string" use="required"/>
523                                        <xs:attribute name="optimizationType" use="required">
524                                                <xs:simpleType>
525                                                        <xs:restriction base="xs:string">
526                                                                <xs:enumeration value="GAIN"/>
527                                                                <xs:enumeration value="COST"/>
528                                                        </xs:restriction>
529                                                </xs:simpleType>
530                                        </xs:attribute>
531                                        <xs:attribute name="importance" type="xs:int" use="required"/>
532                                        <xs:attribute name="endpoint" type="xs:string" use="optional"/>
533                                </xs:complexType>
534                        </xs:element>
535                </xs:sequence>
536                <xs:attribute name="preferenceType" use="required">
537                        <xs:simpleType>
538                                <xs:restriction base="xs:string">
539                                        <xs:enumeration value="PRIORITY"/>
540                                        <xs:enumeration value="RANKING"/>
541                                </xs:restriction>
542                        </xs:simpleType>
543                </xs:attribute>
544        </xs:complexType>
545        <xs:complexType name="requirementsType">
546                <xs:annotation>
547                        <xs:documentation>Resource description</xs:documentation>
548                </xs:annotation>
549                <xs:sequence>
550                        <xs:element name="resourceRequirements" type="resourceRequirementsType" minOccurs="0">
551                                <xs:annotation>
552                                        <xs:documentation>Computing resource requirements </xs:documentation>
553                                </xs:annotation>
554                        </xs:element>
555                        <xs:element name="topology" minOccurs="0" maxOccurs="unbounded">
556                                <xs:annotation>
557                                        <xs:documentation>Processes topology definition</xs:documentation>
558                                </xs:annotation>
559                                <xs:complexType>
560                                        <xs:sequence>
561                                                <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
562                                                        <xs:annotation>
563                                                                <xs:documentation>Groups of processes definition</xs:documentation>
564                                                        </xs:annotation>
565                                                        <xs:complexType>
566                                                                <xs:sequence>
567                                                                        <xs:element name="processesConnection" minOccurs="0">
568                                                                                <xs:annotation>
569                                                                                        <xs:documentation>Requirements for network parameters of connection among processes in group</xs:documentation>
570                                                                                </xs:annotation>
571                                                                                <xs:complexType>
572                                                                                        <xs:sequence>
573                                                                                                <xs:element name="networkResource" type="networkResourceType" maxOccurs="unbounded"/>
574                                                                                        </xs:sequence>
575                                                                                </xs:complexType>
576                                                                        </xs:element>
577                                                                        <xs:element name="groupConnection" minOccurs="0" maxOccurs="unbounded">
578                                                                                <xs:annotation>
579                                                                                        <xs:documentation>Requirements for network parameters of connection between current group and group with provided id</xs:documentation>
580                                                                                </xs:annotation>
581                                                                                <xs:complexType>
582                                                                                        <xs:sequence>
583                                                                                                <xs:element name="networkResource" type="networkResourceType" maxOccurs="unbounded"/>
584                                                                                        </xs:sequence>
585                                                                                        <xs:attribute name="endpointGroupId" type="xs:string" use="required"/>
586                                                                                </xs:complexType>
587                                                                        </xs:element>
588                                                                </xs:sequence>
589                                                                <xs:attribute name="groupId" type="xs:string" use="required"/>
590                                                        </xs:complexType>
591                                                </xs:element>
592                                                <xs:element name="processes" maxOccurs="unbounded">
593                                                        <xs:annotation>
594                                                                <xs:documentation>Processes definition</xs:documentation>
595                                                        </xs:annotation>
596                                                        <xs:complexType>
597                                                                <xs:sequence>
598                                                                        <xs:element name="groupIdReference" type="xs:string" minOccurs="0" maxOccurs="unbounded">
599                                                                                <xs:annotation>
600                                                                                        <xs:documentation>Ids of group that the process belongs</xs:documentation>
601                                                                                </xs:annotation>
602                                                                        </xs:element>
603                                                                        <xs:element name="processesCount" type="countType" minOccurs="0">
604                                                                                <xs:annotation>
605                                                                                        <xs:documentation>Number of process with specified resources requirements</xs:documentation>
606                                                                                </xs:annotation>
607                                                                        </xs:element>
608                                                                        <xs:element name="resourceRequirements" minOccurs="0">
609                                                                                <xs:annotation>
610                                                                                        <xs:documentation>Resource requirements of defined processes</xs:documentation>
611                                                                                </xs:annotation>
612                                                                                <xs:complexType>
613                                                                                        <xs:sequence>
614                                                                                                <xs:element name="computingResource" type="computingResourceExtType" minOccurs="0" maxOccurs="unbounded">
615                                                                                                        <xs:annotation>
616                                                                                                                <xs:documentation>Definition of resource reqiurements for processes</xs:documentation>
617                                                                                                        </xs:annotation>
618                                                                                                </xs:element>
619                                                                                                <xs:element name="preferences" type="preferencesType" minOccurs="0"/>
620                                                                                        </xs:sequence>
621                                                                                </xs:complexType>
622                                                                        </xs:element>
623                                                                </xs:sequence>
624                                                                <xs:attribute name="processesId" type="xs:string" use="optional"/>
625                                                                <xs:attribute name="masterGroup" type="xs:boolean" use="optional"/>
626                                                        </xs:complexType>
627                                                </xs:element>
628                                        </xs:sequence>
629                                </xs:complexType>
630                        </xs:element>
631                </xs:sequence>
632        </xs:complexType>
633        <xs:complexType name="countType">
634                <xs:annotation>
635                        <xs:documentation>Description of count element</xs:documentation>
636                </xs:annotation>
637                <xs:choice>
638                        <xs:element name="value">
639                                <xs:complexType>
640                                        <xs:simpleContent>
641                                                <xs:extension base="xs:int">
642                                                        <xs:attribute name="indiffThreshold" type="xs:int" use="optional" default="0"/>
643                                                </xs:extension>
644                                        </xs:simpleContent>
645                                </xs:complexType>
646                        </xs:element>
647                        <xs:element name="min" type="countBoundaryType"/>
648                        <xs:element name="max" type="countBoundaryType"/>
649                        <xs:element name="range" type="countRangeType"/>
650                </xs:choice>
651        </xs:complexType>
652        <xs:complexType name="daysType">
653                <xs:annotation>
654                        <xs:documentation>Days of the week</xs:documentation>
655                </xs:annotation>
656                <xs:choice maxOccurs="unbounded">
657                        <xs:element name="weekDay">
658                                <xs:simpleType>
659                                        <xs:restriction base="xs:string">
660                                                <xs:enumeration value="Monday"/>
661                                                <xs:enumeration value="Tuesday"/>
662                                                <xs:enumeration value="Wednesday"/>
663                                                <xs:enumeration value="Thursday"/>
664                                                <xs:enumeration value="Friday"/>
665                                                <xs:enumeration value="Saturday"/>
666                                                <xs:enumeration value="Sunday"/>
667                                        </xs:restriction>
668                                </xs:simpleType>
669                        </xs:element>
670                        <xs:element name="dateDay" type="xs:date"/>
671                </xs:choice>
672        </xs:complexType>
673        <xs:complexType name="parameterValueType">
674                <xs:annotation>
675                        <xs:documentation>Value of the parameter</xs:documentation>
676                </xs:annotation>
677                <xs:simpleContent>
678                        <xs:extension base="xs:double">
679                                <xs:attribute name="indiffThreshold" type="xs:double" use="optional" default="0"/>
680                        </xs:extension>
681                </xs:simpleContent>
682        </xs:complexType>
683
684        <xs:complexType name="parameterBoundaryType">
685                <xs:annotation>
686                        <xs:documentation>Description of boundary for parameters</xs:documentation>
687                </xs:annotation>
688                <xs:simpleContent>
689                        <xs:extension base="xs:double">
690                                <xs:attribute name="exclusiveBound" type="xs:boolean" use="optional" default="false"/>
691                        </xs:extension>
692                </xs:simpleContent>
693        </xs:complexType>
694        <xs:complexType name="countBoundaryType">
695                <xs:annotation>
696                        <xs:documentation>Description of boundary for count</xs:documentation>
697                </xs:annotation>
698                <xs:simpleContent>
699                        <xs:extension base="xs:int">
700                                <xs:attribute name="exclusiveBound" type="xs:boolean" use="optional" default="false"/>
701                        </xs:extension>
702                </xs:simpleContent>
703        </xs:complexType>
704
705        <xs:complexType name="resourceRequirementsType">
706                <xs:sequence>
707                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"/>
708                        <xs:element name="preferences" type="preferencesType" minOccurs="0"/>
709                </xs:sequence>
710        </xs:complexType>
711        <xs:complexType name="parentOpType">
712                <xs:choice maxOccurs="unbounded">
713                        <xs:element name="or" type="parentOpType"/>
714                        <xs:element name="and" type="parentOpType"/>
715                        <xs:element name="parent" type="parentType"/>
716                </xs:choice>
717        </xs:complexType>
718        <xs:complexType name="parentType">
719                <xs:simpleContent>
720                        <xs:extension base="xs:string">
721                                <xs:attribute name="triggerState" type="taskStatesName" use="optional" default="FINISHED"/>
722                                <xs:attribute name="runSameHost" type="xs:boolean" use="optional" default="false"/>
723                                <xs:attribute name="atEachIteration" type="xs:boolean" use="optional" default="false"/>
724                        </xs:extension>
725                </xs:simpleContent>
726        </xs:complexType>
727       
728        <xs:complexType name="resourceConsumptionProfileType">
729                <xs:sequence>
730                        <xs:element name="resourceConsumption" type="resourceConsumptionType" minOccurs="1" maxOccurs="unbounded"/>
731                </xs:sequence>
732        </xs:complexType>
733       
734        <xs:complexType name="resourceConsumptionType">
735                <xs:sequence>
736                        <xs:choice minOccurs="0">
737                                <xs:element name="percentage" type="xs:double"/>
738                                <xs:element name="time" type="phaseTimeType"/>
739                        </xs:choice>
740                        <xs:element name="behaviour" type="phaseBehaviourType" minOccurs="1" maxOccurs="unbounded"/>
741                </xs:sequence>
742        </xs:complexType>
743       
744        <xs:complexType name="phaseBehaviourType">
745                <xs:complexContent>
746                        <xs:extension base="parameterType">
747                                <xs:attribute name="name" type="computingParameterName" use="required"/>
748                        </xs:extension>
749                </xs:complexContent>
750        </xs:complexType>
751       
752        <xs:complexType name="phaseTimeType">
753        <xs:sequence>
754                <xs:element name="periodStart" type="xs:dateTime" minOccurs="0"/>
755                <xs:choice>
756                        <xs:element name="periodEnd" type="xs:dateTime"/>
757                        <xs:element name="periodDuration" type="xs:duration"/>
758                </xs:choice>
759                </xs:sequence>
760        </xs:complexType>
761</xs:schema>
Note: See TracBrowser for help on using the repository browser.