source: DCWoRMS/trunk/simulator/schemas/WorkloadSchema3g.xsd @ 477

Revision 477, 7.5 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2
3<xs:schema
4        xmlns:xs="http://www.w3.org/2001/XMLSchema"
5        xmlns:tns="http://www.man.poznan.pl/WorkloadSchema"
6        targetNamespace="http://www.man.poznan.pl/WorkloadSchema">
7       
8        <xs:annotation>
9                <xs:documentation>
10                        Workload generator parameters for experiment simulator
11                </xs:documentation>
12        </xs:annotation>
13       
14        <xs:element name="WorkloadConfiguration">
15                <xs:complexType>
16                        <xs:sequence>
17                                <xs:element name="SimulationStartTime" type="tns:Date" minOccurs="0"/>
18                                <xs:choice>
19                                        <xs:element name="JobCount" type="tns:RandParams"/>
20                                        <xs:element name="SimulationTime" type="tns:Duration"/>
21                                </xs:choice>
22
23                                <xs:element name="TaskCount" type="tns:RandParams"/>
24                                <xs:element name="TaskLength" type="tns:RandParams"/>
25                                <xs:element name="JobPackageLength" type="tns:RandParams"/>
26                                <xs:element name="JobInterval" type="tns:RandParams"/>
27                               
28                                <xs:element name="ComputingResourceHostParameter" minOccurs="0" maxOccurs="unbounded">
29                                        <xs:complexType>
30                                                <xs:sequence>
31                                                        <xs:element name="value" type="tns:RandParams" minOccurs="0" maxOccurs="unbounded"/>
32                                                        <xs:element name="range" minOccurs="0" maxOccurs="unbounded">
33                                                                <xs:complexType>
34                                                                        <xs:sequence>
35                                                                                <xs:element name="min" minOccurs="0" type="tns:RandParams"/>
36                                                                                <xs:element name="max" minOccurs="0" type="tns:RandParams"/>
37                                                                        </xs:sequence>
38                                                                </xs:complexType>
39                                                        </xs:element>
40                                                </xs:sequence>
41                                                <xs:attribute name="metric" type="xs:string" use="required"/>
42                                        </xs:complexType>
43                                </xs:element>
44                               
45                                <xs:element name="Preferences" minOccurs="0">
46                                        <xs:complexType>
47                                                <xs:sequence>
48                                                        <xs:element name="parameter" type="tns:preferenceParameterType" maxOccurs="unbounded"/>
49                                                </xs:sequence>
50                                                <xs:attribute name="preferenceType" use="required">
51                                                        <xs:simpleType>
52                                                                <xs:restriction base="xs:string">
53                                                                        <xs:enumeration value="PRIORITY"/>
54                                                                        <xs:enumeration value="RANKING"/>
55                                                                </xs:restriction>
56                                                        </xs:simpleType>
57                                                </xs:attribute>
58                                        </xs:complexType>
59                                </xs:element>
60                               
61                                <xs:element name="ExecutionTime" minOccurs="0">
62                                        <xs:complexType>
63                                                <xs:sequence>
64                                                        <xs:element name="execDuration" type="tns:RandParams" minOccurs="0"/>
65                                                        <xs:element name="periodStart" type="tns:RandParams" minOccurs="0"/>
66                                                        <xs:choice>
67                                                                <xs:element name="periodEnd" type="tns:RandParams" minOccurs="0"/>
68                                                                <xs:element name="periodDuration" type="tns:RandParams" minOccurs="0"/>
69                                                        </xs:choice>
70                                                </xs:sequence>
71                                        </xs:complexType>
72                                </xs:element>
73                               
74                                <xs:element name="PrecedingConstraints" minOccurs="0">
75                                        <xs:complexType>
76                                                <xs:sequence>
77                                                        <xs:element name="parentCard" type="tns:RandParams"/>
78                                                        <xs:element name="workflowLevel" type="tns:RandParams"/>
79                                                        <xs:element name="outputFileSize" type="tns:RandParams" minOccurs="0"/>
80                                                        <xs:element name="parentStates_OR" type="tns:RandParams" minOccurs="0"/>
81                                                        <xs:element name="runSameHost" type="tns:RandParams" minOccurs="0"/>
82                                                        <xs:element name="triggers" minOccurs="0">
83                                                                <xs:complexType>
84                                                                        <xs:sequence>
85                                                                                <xs:element name="trigger" minOccurs="1" maxOccurs="unbounded">
86                                                                                        <xs:complexType>
87                                                                                                <xs:complexContent>
88                                                                                                        <xs:extension base="tns:RandParams">
89                                                                                                                <xs:attribute name="name" use="required"/>
90                                                                                                        </xs:extension>
91                                                                                                </xs:complexContent>
92                                                                                        </xs:complexType>
93                                                                                </xs:element>
94                                                                        </xs:sequence>
95                                                                </xs:complexType>
96                                                        </xs:element>
97                                                </xs:sequence>
98                                        </xs:complexType>
99                                </xs:element>
100                               
101                        </xs:sequence>
102                </xs:complexType>
103        </xs:element>
104       
105       
106       
107        <!-- Types definitions -->
108       
109       
110        <xs:complexType name="preferenceParameterType">
111                <xs:sequence>
112                        <xs:element name="name" type="xs:string"/>
113                        <xs:element name="endpoint" type="xs:string" minOccurs="0"/>
114                        <xs:element name="importance" type="tns:RandParams"/>
115                        <xs:element name="optimizationType">
116                                <xs:simpleType>
117                                        <xs:restriction base="xs:string">
118                                                <xs:enumeration value="GAIN"/>
119                                                <xs:enumeration value="COST"/>
120                                        </xs:restriction>
121                                </xs:simpleType>
122                        </xs:element>
123                        <xs:element name="value" minOccurs="0" type="tns:RandParams"/>
124                        <xs:element name="range" minOccurs="0" maxOccurs="unbounded">
125                                <xs:complexType>
126                                        <xs:sequence>
127                                                <xs:element name="min" minOccurs="0" type="tns:RandParams"/>
128                                                <xs:element name="max" minOccurs="0" type="tns:RandParams"/>
129                                        </xs:sequence>
130                                </xs:complexType>
131                        </xs:element>
132                </xs:sequence>
133        </xs:complexType>
134       
135        <xs:attributeGroup name="ParameterAttributes">
136                <xs:attribute name="id" type="xs:string">
137                        <xs:annotation>
138                                <xs:documentation>
139                                        This is unique identifier of current element. It is used to resolve element dependencies - see refElementId
140                                        attribute description. It must be unique in range of whole document.
141                                </xs:documentation>
142                        </xs:annotation>
143                </xs:attribute>
144                <xs:attribute name="refElementId" type="xs:string">
145                        <xs:annotation>
146                                <xs:documentation>
147                                        Value of this attribute should be the id of the element on which value of current element should based on.
148                                        If refElemenentId attribute is used, then unique value for id attribute must also be set.
149                                </xs:documentation>
150                        </xs:annotation>
151                </xs:attribute>
152                <xs:attribute name="expr" type="xs:string">
153                        <xs:annotation>
154                                <xs:documentation>
155                                        How value of your current element should be depended on refElement.
156                                        Example: if value of your current element should be two times plus three graither then value of TaskLength, then
157                                        set attribute refElement="TaskLength" and expr="2*x+3".
158                                </xs:documentation>
159                        </xs:annotation>
160                </xs:attribute>
161                <xs:attribute name="avg" type="xs:double"/>
162                <xs:attribute name="stdev" type="xs:double" default="1.0"/>
163                <xs:attribute name="min" type="xs:double"/>
164                <xs:attribute name="max" type="xs:double"/>
165                <xs:attribute name="seed" type="xs:long"/>
166                <xs:attribute name="distribution" default="normal">
167                        <xs:simpleType>
168                                <xs:restriction base="xs:string">
169                                        <xs:enumeration value="constant"/>
170                                        <xs:enumeration value="normal"/>
171                                        <xs:enumeration value="poisson"/>
172                                        <xs:enumeration value="uniform"/>
173                                        <xs:enumeration value="exponential"/>
174                                        <xs:enumeration value="gamma"/>
175                                        <xs:enumeration value="harmonic"/>
176                                </xs:restriction>
177                        </xs:simpleType>
178                </xs:attribute>
179               
180        </xs:attributeGroup>
181
182        <xs:simpleType name="Date">
183                <xs:restriction base="xs:dateTime"></xs:restriction>
184        </xs:simpleType>
185
186        <xs:simpleType name="Duration">
187                <xs:restriction base="xs:duration"></xs:restriction>
188        </xs:simpleType>
189
190        <xs:complexType name="TemporaryParamsType">
191                <xs:sequence>
192                        <xs:element name="BeginValidTime" type="tns:Date"/>
193                        <xs:element name="EndValidTime" type="tns:Date"/>
194                </xs:sequence>
195                <xs:attributeGroup ref="tns:ParameterAttributes"/>
196        </xs:complexType>
197
198        <xs:complexType name="MultiDistributionType">
199                <xs:sequence>
200                        <xs:element name="dist" minOccurs="1" maxOccurs="unbounded">
201                                <xs:complexType mixed="true">
202                                        <xs:attributeGroup ref="tns:ParameterAttributes"/>
203                                </xs:complexType>
204                        </xs:element>
205                </xs:sequence>
206        </xs:complexType>
207       
208        <xs:complexType name="RandParams">
209                <xs:choice>
210                        <xs:sequence>
211                                <xs:element name="PeriodicValidValues" type="tns:TemporaryParamsType" minOccurs="0" maxOccurs="unbounded"/>
212                        </xs:sequence>
213                        <xs:element name="MultiDistribution" type="tns:MultiDistributionType" minOccurs="0" maxOccurs="1"/>
214                </xs:choice>
215               
216                <xs:attributeGroup ref="tns:ParameterAttributes"/>
217        </xs:complexType>
218       
219</xs:schema>
Note: See TracBrowser for help on using the repository browser.