source: DCWoRMS/trunk/src/test/jobschema/QCGJobDescriptionSchemaNew.xsd @ 853

Revision 853, 25.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. 3 U (http://www.xmlspy.com) by Tomasz Piontek (Instytut Chemii Bioorganicznej PAN) -->
3<!--Job Description Schema for Third Edition QCG -->
4<!--version 0.1.0-->
5<xs:schema xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" jxb:version="1.0">
6        <xs:annotation>
7                <xs:appinfo>
8                        <jxb:schemaBindings>
9                                <jxb:package name="pl.psnc.qcg.grms.jobprofile"/>
10                        </jxb:schemaBindings>
11                </xs:appinfo>
12        </xs:annotation>
13        <xs:simpleType name="computingParameterName">
14                <xs:restriction base="xs:string">
15                        <xs:enumeration value="osname"/>
16                        <xs:enumeration value="ostype"/>
17                        <xs:enumeration value="cpuarch"/>
18                        <xs:enumeration value="osversion"/>
19                        <xs:enumeration value="osrelease"/>
20                        <xs:enumeration value="memory"/>
21                        <xs:enumeration value="properties"/>
22                        <xs:enumeration value="freememory"/>
23                        <xs:enumeration value="cpucount"/>
24                        <xs:enumeration value="gpucount"/>
25                        <xs:enumeration value="freecpus"/>
26                        <xs:enumeration value="cpuspeed"/>
27                        <xs:enumeration value="application"/>
28                        <xs:enumeration value="module"/>
29                        <xs:enumeration value="diskspace"/>
30                        <xs:enumeration value="freediskspace"/>
31                        <xs:enumeration value="remoteSubmissionInterface"/>
32                        <xs:enumeration value="localResourceManager"/>
33                        <xs:enumeration value="hostname"/>
34                        <xs:enumeration value="queue"/>
35                        <xs:enumeration value="native"/>
36                </xs:restriction>
37        </xs:simpleType>
38        <xs:simpleType name="networkParameterName">
39                <xs:restriction base="xs:string">
40                        <xs:enumeration value="bandwidth"/>
41                        <xs:enumeration value="latency"/>
42                        <xs:enumeration value="capacity"/>
43                </xs:restriction>
44        </xs:simpleType>
45        <xs:simpleType name="taskStatesName">
46                <xs:restriction base="xs:string">
47                        <xs:enumeration value="QUEUED"/>
48                        <xs:enumeration value="PREPROCESSING"/>
49                        <xs:enumeration value="PENDING"/>
50                        <xs:enumeration value="RUNNING"/>
51                        <xs:enumeration value="STOPPED"/>
52                        <xs:enumeration value="POSTPROCESSING"/>
53                        <xs:enumeration value="SUSPENDED"/>
54                        <xs:enumeration value="FINISHED"/>
55                        <xs:enumeration value="CANCELED"/>
56                        <xs:enumeration value="FAILED"/>
57                </xs:restriction>
58        </xs:simpleType>
59        <xs:simpleType name="locationTypes">
60                <xs:restriction base="xs:string">
61                        <xs:enumeration value="URL"/>
62                        <xs:enumeration value="DMSID"/>
63                        <xs:enumeration value="SRBID"/>
64                        <xs:enumeration value="REFERENCE"/>
65                </xs:restriction>
66        </xs:simpleType>
67
68        <xs:element name="qcgJob">
69                <xs:annotation>
70                        <xs:documentation>Job Description for Gridge Resource Management System</xs:documentation>
71                </xs:annotation>
72                <xs:complexType>
73                        <xs:sequence>
74                                <xs:element name="note" type="xs:string" minOccurs="0">
75                                        <xs:annotation>
76                                                <xs:documentation>User defined description of Job</xs:documentation>
77                                        </xs:annotation>
78                                </xs:element>
79                                <xs:element name="annotations" minOccurs="0">
80                                        <xs:annotation>
81                                                <xs:documentation>Annotations for Job Description in pair key/value format</xs:documentation>
82                                        </xs:annotation>
83                                        <xs:complexType>
84                                                <xs:sequence>
85                                                        <xs:element name="annotation" maxOccurs="unbounded">
86                                                                <xs:complexType>
87                                                                        <xs:simpleContent>
88                                                                                <xs:extension base="xs:string">
89                                                                                        <xs:attribute name="name" type="xs:string" use="optional"/>
90                                                                                </xs:extension>
91                                                                        </xs:simpleContent>
92                                                                </xs:complexType>
93                                                        </xs:element>
94                                                </xs:sequence>
95                                        </xs:complexType>
96                                </xs:element>
97                                <xs:element name="task" maxOccurs="unbounded">
98                                        <xs:annotation>
99                                                <xs:documentation>Description of Tasks</xs:documentation>
100                                                <xs:documentation>Description of Simple Job</xs:documentation>
101                                        </xs:annotation>
102                                        <xs:complexType>
103                                                <xs:complexContent>
104                                                        <xs:extension base="taskType"/>
105                                                </xs:complexContent>
106                                        </xs:complexType>
107                                </xs:element>
108                                <xs:element name="executionTime" type="executionTimeType" minOccurs="0">
109                                        <xs:annotation>
110                                                <xs:documentation>Execution time definition for Job</xs:documentation>
111                                        </xs:annotation>
112                                </xs:element>
113                        </xs:sequence>
114                        <xs:attribute name="appId" type="xs:string" use="required"/>
115                        <xs:attribute name="priority" type="xs:int" use="optional" default="0"/>
116                </xs:complexType>
117                <xs:key name="taskId">
118                        <xs:selector xpath=".//task"/>
119                        <xs:field xpath="@taskId"/>
120                </xs:key>
121
122        </xs:element>
123        <xs:complexType name="taskType">
124                <xs:annotation>
125                        <xs:documentation>Description of Task</xs:documentation>
126                </xs:annotation>
127                <xs:sequence>
128                        <xs:element name="note" type="xs:string" minOccurs="0">
129                                <xs:annotation>
130                                        <xs:documentation>User defined description of Task</xs:documentation>
131                                </xs:annotation>
132                        </xs:element>
133                        <xs:element name="requirements" type="requirementsType" minOccurs="0">
134                                <xs:annotation>
135                                        <xs:documentation>Description of resource requirements</xs:documentation>
136                                </xs:annotation>
137                        </xs:element>
138                        <xs:element name="execution" type="executionType" minOccurs="0">
139                                <xs:annotation>
140                                        <xs:documentation>Application description section</xs:documentation>
141                                </xs:annotation>
142                        </xs:element>
143                        <xs:element name="executionTime"  type="executionTimeType" minOccurs="0">
144                                <xs:annotation>
145                                        <xs:documentation>Description of time constraints for task execution</xs:documentation>
146                                </xs:annotation>
147                        </xs:element>
148                        <xs:element name="workflow" minOccurs="0">
149                                <xs:annotation>
150                                        <xs:documentation>Workflow description</xs:documentation>
151                                </xs:annotation>
152                                <xs:complexType>
153                                        <xs:choice>
154                                                <xs:element name="parent" type="parentType" maxOccurs="unbounded"/>
155                                                <xs:element name="or" type="parentOpType"/>
156                                                <xs:element name="and" type="parentOpType"/>
157                                        </xs:choice>
158                                </xs:complexType>
159                        </xs:element>
160
161                </xs:sequence>
162                <xs:attribute name="taskId" type="xs:string" use="required"/>
163                <xs:attribute name="persistent" type="xs:boolean" use="optional" default="false"/>
164                <xs:attribute name="extension" type="xs:string" use="optional"/>
165                <xs:attribute name="crucial" type="xs:boolean" use="optional" default="true"/>
166
167                <xs:attribute name="priority" type="xs:int" use="optional" default="0"/>
168        </xs:complexType>
169        <xs:complexType name="fileType">
170                <xs:annotation>
171                        <xs:documentation>Base element for file description</xs:documentation>
172                </xs:annotation>
173                <xs:sequence>
174                        <xs:element name="location">
175                                <xs:complexType>
176                                        <xs:simpleContent>
177                                                <xs:extension base="xs:string">
178                                                        <xs:attribute name="type" type="locationTypes" use="required"/>
179                                                </xs:extension>
180                                        </xs:simpleContent>
181                                </xs:complexType>
182                        </xs:element>
183                        <xs:element name="locationProperties" minOccurs="0">
184                                <xs:complexType>
185                                        <xs:sequence>
186                                                <xs:element name="property" maxOccurs="unbounded">
187                                                        <xs:complexType>
188                                                                <xs:simpleContent>
189                                                                        <xs:extension base="xs:string">
190                                                                                <xs:attribute name="name" type="xs:string"/>
191                                                                        </xs:extension>
192                                                                </xs:simpleContent>
193                                                        </xs:complexType>
194                                                </xs:element>
195                                        </xs:sequence>
196                                </xs:complexType>
197                        </xs:element>
198                </xs:sequence>
199                <xs:attribute name="name" type="xs:string" use="required"/>
200                <xs:attribute name="type" use="optional">
201                        <xs:simpleType>
202                                <xs:restriction base="xs:string">
203                                        <xs:enumeration value="in"/>
204                                        <xs:enumeration value="out"/>
205                                </xs:restriction>
206                        </xs:simpleType>
207                </xs:attribute>
208                <xs:attribute name="required" type="xs:boolean" use="optional" default="true"/>
209                <xs:attribute name="size" type="xs:double" use="optional"/>
210        </xs:complexType>
211
212        <xs:complexType name="executionTimeType">
213                <xs:annotation>
214                        <xs:documentation>Description for time constraints of job execution</xs:documentation>
215                </xs:annotation>
216                <xs:sequence>
217                        <xs:element name="executionDuration" type="xs:duration">
218                                <xs:annotation>
219                                        <xs:documentation>How long the Task is running</xs:documentation>
220                                </xs:annotation>
221                        </xs:element>
222                        <xs:element name="timePeriod" minOccurs="0">
223                                <xs:annotation>
224                                        <xs:documentation>Time period where to look for time slot</xs:documentation>
225                                </xs:annotation>
226                                <xs:complexType>
227                                        <xs:sequence>
228                                                <xs:element name="periodStart" type="xs:dateTime" minOccurs="0"/>
229                                                <xs:choice minOccurs="0">
230                                                        <xs:element name="periodEnd" type="xs:dateTime"/>
231                                                        <xs:element name="periodDuration" type="xs:duration"/>
232                                                </xs:choice>
233                                        </xs:sequence>
234                                </xs:complexType>
235                        </xs:element>
236                </xs:sequence>
237        </xs:complexType>
238
239        <xs:complexType name="rangeType">
240                <xs:annotation>
241                        <xs:documentation>Range of values definition</xs:documentation>
242                </xs:annotation>
243                <xs:sequence>
244                        <xs:element name="min" type="parameterBoundaryType"/>
245                        <xs:element name="max" type="parameterBoundaryType"/>
246                </xs:sequence>
247        </xs:complexType>
248        <xs:complexType name="parameterType">
249                <xs:annotation>
250                        <xs:documentation>Description of parameter of resource</xs:documentation>
251                </xs:annotation>
252                <xs:choice>
253                        <xs:choice maxOccurs="unbounded">
254                                <xs:element name="value">
255                                        <xs:complexType>
256                                                <xs:simpleContent>
257                                                        <xs:extension base="parameterValueType">
258                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
259                                                        </xs:extension>
260                                                </xs:simpleContent>
261                                        </xs:complexType>
262                                </xs:element>
263                                <xs:element name="range">
264                                        <xs:complexType>
265                                                <xs:complexContent>
266                                                        <xs:extension base="rangeType">
267                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
268                                                        </xs:extension>
269                                                </xs:complexContent>
270                                        </xs:complexType>
271                                </xs:element>
272                        </xs:choice>
273                        <xs:element name="min" type="parameterBoundaryType"/>
274                        <xs:element name="max" type="parameterBoundaryType"/>
275                        <xs:element name="stringValue" maxOccurs="unbounded">
276                                <xs:complexType>
277                                        <xs:sequence>
278                                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
279                                                        <xs:complexType>
280                                                                <xs:sequence>
281                                                                        <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
282                                                                </xs:sequence>
283                                                                <xs:attribute name="name" type="xs:string" use="required"/>
284                                                                <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
285                                                        </xs:complexType>
286                                                </xs:element>
287                                        </xs:sequence>
288                                        <xs:attribute name="value" type="xs:string" use="optional"/>
289                                        <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
290                                </xs:complexType>
291                        </xs:element>
292                </xs:choice>
293        </xs:complexType>
294        <xs:complexType name="otherParameterType">
295                <xs:annotation>
296                        <xs:documentation>Dynamically defined parameter of resource</xs:documentation>
297                </xs:annotation>
298                <xs:complexContent>
299                        <xs:extension base="parameterType">
300                                <xs:attribute name="name" type="xs:string" use="required"/>
301                        </xs:extension>
302                </xs:complexContent>
303        </xs:complexType>
304
305        <xs:complexType name="networkParameterType">
306                <xs:annotation>
307                        <xs:documentation>Parameters of network connection</xs:documentation>
308                </xs:annotation>
309                <xs:complexContent>
310                        <xs:extension base="parameterType">
311                                <xs:attribute name="name" type="networkParameterName" use="required"/>
312                        </xs:extension>
313                </xs:complexContent>
314        </xs:complexType>
315        <xs:complexType name="computingResourceBaseType">
316                <xs:annotation>
317                        <xs:documentation>Base type for computing resource</xs:documentation>
318                </xs:annotation>
319                <xs:choice>
320                        <xs:choice maxOccurs="unbounded">
321                                <xs:element name="hostParameter" type="computingResourceParameterType"/>
322                                <xs:element name="networkParameter" type="computingResourceNetParameterType"/>
323                        </xs:choice>
324                        <xs:element name="templateIdReference" type="xs:string"/>
325                </xs:choice>
326                <xs:attribute name="resourceId" type="xs:string" use="optional"/>
327        </xs:complexType>
328        <xs:complexType name="computingResourceType">
329                <xs:annotation>
330                        <xs:documentation>Computing resource</xs:documentation>
331                </xs:annotation>
332                <xs:complexContent>
333                        <xs:extension base="computingResourceBaseType"/>
334                </xs:complexContent>
335        </xs:complexType>
336        <xs:complexType name="computingResourceNetParameterType">
337                <xs:annotation>
338                        <xs:documentation>Network related parameter</xs:documentation>
339                </xs:annotation>
340                <xs:complexContent>
341                        <xs:extension base="parameterType">
342                                <xs:attribute name="name" type="networkParameterName" use="required"/>
343                                <xs:attribute name="endpoint" type="xs:string" use="optional"/>
344                        </xs:extension>
345                </xs:complexContent>
346        </xs:complexType>
347        <xs:complexType name="computingResourceParameterType">
348                <xs:annotation>
349                        <xs:documentation>Computational resource related parameter</xs:documentation>
350                </xs:annotation>
351                <xs:complexContent>
352                        <xs:extension base="parameterType">
353                                <xs:attribute name="name" type="computingParameterName" use="required"/>
354                        </xs:extension>
355                </xs:complexContent>
356        </xs:complexType>
357        <xs:complexType name="networkResourceType">
358                <xs:annotation>
359                        <xs:documentation>Description of network connection</xs:documentation>
360                </xs:annotation>
361                <xs:choice>
362                        <xs:choice maxOccurs="unbounded">
363                                <xs:element name="networkParameter" type="networkParameterType"/>
364                        </xs:choice>
365                </xs:choice>
366                <xs:attribute name="resourceId" type="xs:string" use="optional"/>
367        </xs:complexType>
368        <xs:complexType name="executionType">
369                <xs:annotation>
370                        <xs:documentation>Definition of program execution part of job description</xs:documentation>
371                </xs:annotation>
372                <xs:sequence>
373                        <xs:element name="executable" minOccurs="0">
374                                <xs:annotation>
375                                        <xs:documentation>Description of application executable</xs:documentation>
376                                </xs:annotation>
377                                <xs:complexType>
378                                        <xs:choice>
379                                                <xs:element name="application">
380                                                        <xs:annotation>
381                                                                <xs:documentation>Information about application installed on host</xs:documentation>
382                                                        </xs:annotation>
383                                                        <xs:complexType>
384                                                                <xs:sequence>
385                                                                        <xs:element name="appProperty" minOccurs="0" maxOccurs="unbounded">
386                                                                                <xs:complexType>
387                                                                                        <xs:simpleContent>
388                                                                                                <xs:extension base="xs:string">
389                                                                                                        <xs:attribute name="name" type="xs:string" use="required"/>
390                                                                                                </xs:extension>
391                                                                                        </xs:simpleContent>
392                                                                                </xs:complexType>
393                                                                        </xs:element>
394                                                                </xs:sequence>
395                                                                <xs:attribute name="name" type="xs:string" use="required"/>
396                                                        </xs:complexType>
397                                                </xs:element>
398                                                <xs:element name="execFile" maxOccurs="unbounded">
399                                                        <xs:annotation>
400                                                                <xs:documentation>Executable file description</xs:documentation>
401                                                        </xs:annotation>
402                                                        <xs:complexType>
403                                                                <xs:sequence>
404                                                                        <xs:element name="execProperties" minOccurs="0">
405                                                                                <xs:annotation>
406                                                                                        <xs:documentation>Properties of given executable</xs:documentation>
407                                                                                </xs:annotation>
408                                                                                <xs:complexType>
409                                                                                        <xs:choice>
410                                                                                                <xs:element name="resourceIdReference" type="xs:string"/>
411                                                                                                <xs:choice maxOccurs="unbounded">
412                                                                                                        <xs:element name="hostParameter" type="computingResourceParameterType"/>
413                                                                                                        <xs:element name="otherParameter" type="otherParameterType"/>
414                                                                                                </xs:choice>
415                                                                                        </xs:choice>
416                                                                                </xs:complexType>
417                                                                        </xs:element>
418                                                                </xs:sequence>
419                                                        </xs:complexType>
420                                                </xs:element>
421                                        </xs:choice>
422                                </xs:complexType>
423                        </xs:element>
424                        <xs:element name="stdin" type="fileType" minOccurs="0" maxOccurs="unbounded">
425                                <xs:annotation>
426                                        <xs:documentation>Standard input stream location</xs:documentation>
427                                </xs:annotation>
428                        </xs:element>
429                        <xs:element name="stdout" type="fileType" minOccurs="0" maxOccurs="unbounded">
430                                <xs:annotation>
431                                        <xs:documentation>Standard output stream location</xs:documentation>
432                                </xs:annotation>
433                        </xs:element>
434                        <xs:element name="resourceConsumptionProfile" type="resourceConsumptionProfileType" minOccurs="0">
435                        </xs:element>
436                </xs:sequence>
437                <xs:attribute name="type" use="optional">
438                        <xs:simpleType>
439                                <xs:restriction base="xs:string">
440                                        <xs:enumeration value="single"/>
441                                        <xs:enumeration value="multiple"/>
442                                        <xs:enumeration value="mpi"/>
443                                        <xs:enumeration value="mpichg"/>
444                                        <xs:enumeration value="open_mpi"/>
445                                        <xs:enumeration value="open_mp"/>
446                                        <xs:enumeration value="mpi_mp"/>
447                                        <xs:enumeration value="proactive"/>
448                                </xs:restriction>
449                        </xs:simpleType>
450                </xs:attribute>
451        </xs:complexType>
452        <xs:complexType name="countRangeType">
453                <xs:annotation>
454                        <xs:documentation>Range of count parameter</xs:documentation>
455                </xs:annotation>
456                <xs:sequence>
457                        <xs:element name="min" type="countBoundaryType"/>
458                        <xs:element name="max" type="countBoundaryType"/>
459                </xs:sequence>
460        </xs:complexType>
461
462        <xs:complexType name="preferencesType">
463                <xs:annotation>
464                        <xs:documentation>User preferences concerning scheduling</xs:documentation>
465                </xs:annotation>
466                <xs:sequence>
467                        <xs:element name="parameter" maxOccurs="unbounded">
468                                <xs:complexType>
469                                        <xs:choice minOccurs="0">
470                                                <xs:choice>
471                                                        <xs:element name="value" type="parameterValueType"/>
472                                                        <xs:element name="min" type="parameterBoundaryType"/>
473                                                        <xs:element name="max" type="parameterBoundaryType"/>
474                                                        <xs:element name="range" type="rangeType"/>
475                                                </xs:choice>
476                                                <xs:element name="stringValue" type="xs:string"/>
477                                        </xs:choice>
478                                        <xs:attribute name="name" type="xs:string" use="required"/>
479                                        <xs:attribute name="optimizationType" use="required">
480                                                <xs:simpleType>
481                                                        <xs:restriction base="xs:string">
482                                                                <xs:enumeration value="GAIN"/>
483                                                                <xs:enumeration value="COST"/>
484                                                        </xs:restriction>
485                                                </xs:simpleType>
486                                        </xs:attribute>
487                                        <xs:attribute name="importance" type="xs:int" use="required"/>
488                                        <xs:attribute name="endpoint" type="xs:string" use="optional"/>
489                                </xs:complexType>
490                        </xs:element>
491                </xs:sequence>
492                <xs:attribute name="preferenceType" use="required">
493                        <xs:simpleType>
494                                <xs:restriction base="xs:string">
495                                        <xs:enumeration value="PRIORITY"/>
496                                        <xs:enumeration value="RANKING"/>
497                                </xs:restriction>
498                        </xs:simpleType>
499                </xs:attribute>
500        </xs:complexType>
501        <xs:complexType name="requirementsType">
502                <xs:annotation>
503                        <xs:documentation>Resource description</xs:documentation>
504                </xs:annotation>
505                <xs:sequence>
506                        <xs:element name="resourceRequirements" type="resourceRequirementsType" minOccurs="0">
507                                <xs:annotation>
508                                        <xs:documentation>Computing resource requirements </xs:documentation>
509                                </xs:annotation>
510                        </xs:element>
511                        <xs:element name="topology" minOccurs="0">
512                                <xs:annotation>
513                                        <xs:documentation>Processes topology definition</xs:documentation>
514                                </xs:annotation>
515                                <xs:complexType>
516                                        <xs:sequence>
517                                                <xs:element name="group" minOccurs="0" maxOccurs="unbounded">
518                                                        <xs:annotation>
519                                                                <xs:documentation>Groups of processes definition</xs:documentation>
520                                                        </xs:annotation>
521                                                        <xs:complexType>
522                                                                <xs:sequence>
523                                                                        <xs:element name="processesConnection" minOccurs="0">
524                                                                                <xs:annotation>
525                                                                                        <xs:documentation>Requirements for network parameters of connection among processes in group</xs:documentation>
526                                                                                </xs:annotation>
527                                                                                <xs:complexType>
528                                                                                        <xs:sequence>
529                                                                                                <xs:element name="networkResource" type="networkResourceType" maxOccurs="unbounded"/>
530                                                                                        </xs:sequence>
531                                                                                </xs:complexType>
532                                                                        </xs:element>
533                                                                        <xs:element name="groupConnection" minOccurs="0" maxOccurs="unbounded">
534                                                                                <xs:annotation>
535                                                                                        <xs:documentation>Requirements for network parameters of connection between current group and group with provided id</xs:documentation>
536                                                                                </xs:annotation>
537                                                                                <xs:complexType>
538                                                                                        <xs:sequence>
539                                                                                                <xs:element name="networkResource" type="networkResourceType" maxOccurs="unbounded"/>
540                                                                                        </xs:sequence>
541                                                                                        <xs:attribute name="endpointGroupId" type="xs:string" use="required"/>
542                                                                                </xs:complexType>
543                                                                        </xs:element>
544                                                                </xs:sequence>
545                                                                <xs:attribute name="groupId" type="xs:string" use="required"/>
546                                                        </xs:complexType>
547                                                </xs:element>
548                                                <xs:element name="processes" maxOccurs="unbounded">
549                                                        <xs:annotation>
550                                                                <xs:documentation>Processes definition</xs:documentation>
551                                                        </xs:annotation>
552                                                        <xs:complexType>
553                                                                                                                        <xs:sequence>
554                                                                        <xs:element name="groupIdReference" type="xs:string" minOccurs="0" maxOccurs="unbounded">
555                                                                                <xs:annotation>
556                                                                                        <xs:documentation>Ids of group that the process belongs</xs:documentation>
557                                                                                </xs:annotation>
558                                                                        </xs:element>
559                                                                        <xs:element name="processesCount" type="countType" minOccurs="0">
560                                                                                <xs:annotation>
561                                                                                        <xs:documentation>Number of process with specified resources requirements</xs:documentation>
562                                                                                </xs:annotation>
563                                                                        </xs:element>
564                                                                        <xs:element name="resourceRequirements" minOccurs="0">
565                                                                                <xs:annotation>
566                                                                                        <xs:documentation>Resource requirements of defined processes</xs:documentation>
567                                                                                </xs:annotation>
568                                                                                <xs:complexType>
569                                                                                        <xs:sequence>
570                                                                                                <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded">
571                                                                                                        <xs:annotation>
572                                                                                                                <xs:documentation>Definition of resource reqiurements for processes</xs:documentation>
573                                                                                                        </xs:annotation>
574                                                                                                </xs:element>
575                                                                                                <xs:element name="preferences" type="preferencesType" minOccurs="0"/>
576                                                                                        </xs:sequence>
577                                                                                </xs:complexType>
578                                                                        </xs:element>
579                                                                </xs:sequence>
580                                                                <xs:attribute name="processesId" type="xs:string" use="required"/>
581                                                                <xs:attribute name="masterGroup" type="xs:boolean" use="optional"/>
582                                                        </xs:complexType>
583                                                </xs:element>
584                                        </xs:sequence>
585                                </xs:complexType>
586                        </xs:element>
587                </xs:sequence>
588        </xs:complexType>
589        <xs:complexType name="countType">
590                <xs:annotation>
591                        <xs:documentation>Description of count element</xs:documentation>
592                </xs:annotation>
593                <xs:choice>
594                        <xs:element name="value">
595                                <xs:complexType>
596                                        <xs:simpleContent>
597                                                <xs:extension base="xs:int">
598                                                        <xs:attribute name="indiffThreshold" type="xs:int" use="optional" default="0"/>
599                                                </xs:extension>
600                                        </xs:simpleContent>
601                                </xs:complexType>
602                        </xs:element>
603                        <xs:element name="min" type="countBoundaryType"/>
604                        <xs:element name="max" type="countBoundaryType"/>
605                        <xs:element name="range" type="countRangeType"/>
606                </xs:choice>
607        </xs:complexType>
608        <xs:complexType name="parameterValueType">
609                <xs:annotation>
610                        <xs:documentation>Value of the parameter</xs:documentation>
611                </xs:annotation>
612                <xs:simpleContent>
613                        <xs:extension base="xs:double">
614                                <xs:attribute name="indiffThreshold" type="xs:double" use="optional" default="0"/>
615                        </xs:extension>
616                </xs:simpleContent>
617        </xs:complexType>
618
619        <xs:complexType name="parameterBoundaryType">
620                <xs:annotation>
621                        <xs:documentation>Description of boundary for parameters</xs:documentation>
622                </xs:annotation>
623                <xs:simpleContent>
624                        <xs:extension base="xs:double">
625                                <xs:attribute name="exclusiveBound" type="xs:boolean" use="optional" default="false"/>
626                        </xs:extension>
627                </xs:simpleContent>
628        </xs:complexType>
629        <xs:complexType name="countBoundaryType">
630                <xs:annotation>
631                        <xs:documentation>Description of boundary for count</xs:documentation>
632                </xs:annotation>
633                <xs:simpleContent>
634                        <xs:extension base="xs:int">
635                                <xs:attribute name="exclusiveBound" type="xs:boolean" use="optional" default="false"/>
636                        </xs:extension>
637                </xs:simpleContent>
638        </xs:complexType>
639
640        <xs:complexType name="resourceRequirementsType">
641                <xs:sequence>
642                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"/>
643                        <xs:element name="preferences" type="preferencesType" minOccurs="0"/>
644                </xs:sequence>
645        </xs:complexType>
646        <xs:complexType name="parentOpType">
647                <xs:choice maxOccurs="unbounded">
648                        <xs:element name="or" type="parentOpType"/>
649                        <xs:element name="and" type="parentOpType"/>
650                        <xs:element name="parent" type="parentType"/>
651                </xs:choice>
652        </xs:complexType>
653        <xs:complexType name="parentType">
654                <xs:simpleContent>
655                        <xs:extension base="xs:string">
656                                <xs:attribute name="triggerState" type="taskStatesName" use="optional" default="FINISHED"/>
657                                <xs:attribute name="runSameHost" type="xs:boolean" use="optional" default="false"/>
658                                <xs:attribute name="atEachIteration" type="xs:boolean" use="optional" default="false"/>
659                        </xs:extension>
660                </xs:simpleContent>
661        </xs:complexType>
662                <xs:complexType name="resourceConsumptionProfileType">
663                <xs:sequence>
664                        <xs:element name="resourceConsumption" type="resourceConsumptionType" minOccurs="1" maxOccurs="unbounded"/>
665                </xs:sequence>
666        </xs:complexType>
667       
668        <xs:complexType name="resourceConsumptionType">
669                <xs:sequence>
670                        <xs:element name="id" type="xs:string" minOccurs="0"/>
671                        <xs:element name="referenceHardware" type="xs:string" minOccurs="0"/>
672                        <xs:choice minOccurs="0">
673                                <xs:element name="percentage" type="xs:double"/>
674                                <xs:element name="time" type="phaseTimeType"/>
675                        </xs:choice>
676                        <xs:element name="behaviour" type="phaseBehaviourType" minOccurs="1" maxOccurs="unbounded"/>
677                </xs:sequence>
678        </xs:complexType>
679       
680        <xs:complexType name="phaseBehaviourType">
681                <xs:complexContent>
682                        <xs:extension base="parameterType">
683                                <xs:attribute name="name" type="xs:string" use="required"/>
684                        </xs:extension>
685                </xs:complexContent>
686        </xs:complexType>
687       
688        <xs:complexType name="phaseTimeType">
689                <xs:sequence>
690                                <xs:element name="periodDuration" type="xs:duration"/>
691                </xs:sequence>
692        </xs:complexType>
693       
694</xs:schema>
Note: See TracBrowser for help on using the repository browser.