source: DCWoRMS/branches/coolemall/simulator/schemas/resources/DCwormsResSchema.xsd @ 1414

Revision 1414, 26.2 KB checked in by wojtekp, 11 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3        elementFormDefault="qualified" attributeFormDefault="unqualified">
4               
5        <xs:complexType name="pluginType">
6                <xs:annotation>
7                        <xs:documentation>Base plugin type.
8                        Plugins allow configuring and adapting the simulation framework to the purpose of particular experiment
9                        starting from modeling job performance, through method of calculating energy estimation up to implementation of scheduling policies
10                        Name of the plugin specifies the JAVA class that implements dedicated interface.</xs:documentation>
11                </xs:annotation>
12                <xs:sequence>
13                        <xs:element name="name" type="xs:string"></xs:element>
14                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
15                </xs:sequence>
16        </xs:complexType>
17       
18        <xs:complexType name="timeEstimationPluginType">
19                <xs:annotation>
20                        <xs:documentation>TimeEstimationPlugin derived from pluginType.
21                        Time estimation plugin provides means to include specific application performance models during simulations
22                        and allows introducing specific ways of calculating task execution time.</xs:documentation>
23                </xs:annotation>
24                <xs:complexContent>
25                        <xs:restriction base="pluginType">
26                                <xs:sequence>
27                                        <xs:element name="name" type="xs:string"></xs:element>
28                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
29                                </xs:sequence>
30                        </xs:restriction>
31                </xs:complexContent>   
32        </xs:complexType>
33       
34        <xs:complexType name="resourceType">
35                <xs:annotation>
36                        <xs:documentation>Base resource type.
37                        It allows to define simulation entities like computing resources, devices, schedulers.
38                        Attributes: class - determines the component of the architecture i.e. rack, processor, memory, storage etc.
39                        type - type of resource; for instance, continuous for memory, bandwidth, etc. and discrete for processors
40                        name - unique resource identifier, if not specified it will be generated by the simulator in the following manner: class + "_" + subsequent_natural_number
41                        </xs:documentation>
42                </xs:annotation>
43                <xs:sequence>
44                        <xs:element name="description" type="xs:string" minOccurs="0"></xs:element>
45                </xs:sequence>
46                <xs:attribute name="class" type="xs:string" use="required"/>
47                <xs:attribute name="type" type="xs:string" use="optional"/>
48                <xs:attribute name="name" type="xs:string" use="optional"/>
49        </xs:complexType>
50
51        <xs:complexType name="physicalResourceType">
52                <xs:annotation>
53                        <xs:documentation> ComputingResource derived from resourceType
54                        Computing resource specifies resources that are able to perform computing operations.
55                        From the simulator point of view computing resource is everything that is/contains processing element.
56                        Hence, all entities like core, processor, computing node, as well as those which aggregate them (like shelf, rack, container etc.)
57                        should be define using this type. This way of description provides flexibility in defining system architecture
58                        and allows to build hierarchy of resources that corresponds to real world.
59                        Attributes: groupId - allows to group resources of the given class in the logical structures that can be used during binding them with schedulers
60                        count - defines number of resources of the given class</xs:documentation>
61                </xs:annotation>
62                <xs:complexContent>
63                        <xs:extension base="resourceType">
64                                <xs:attribute name="groupId" type="xs:integer" use="optional"/>                 
65                                <xs:attribute name="count" type="xs:integer" use="optional"/>
66                        </xs:extension>
67                </xs:complexContent>
68        </xs:complexType>
69       
70        <xs:complexType name="computingResourceType">
71                <xs:annotation>
72                        <xs:documentation> ComputingResource derived from physicalResourceType
73                        Computing resource specifies resources that are able to perform computing operations.
74                        From the simulator point of view computing resource is everything that is/contains processing element.
75                        Hence, all entities like core, processor, computing node, as well as those which aggregate them (like shelf, rack, container etc.)
76                        should be define using this type. This way of description provides flexibility in defining system architecture
77                        and allows to build hierarchy of resources that corresponds to real world.
78                        Attributes: groupId - allows to group resources of the given class in the logical structures that can be used during binding them with schedulers
79                        count - defines number of resources of the given class</xs:documentation>
80                </xs:annotation>
81                <xs:complexContent>
82                        <xs:extension base="physicalResourceType">
83                                <xs:sequence>
84                                        <xs:choice>
85                                                <xs:sequence>
86                                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
87                                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
88                                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element>
89                                                        <xs:element name="device" type="deviceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
90                                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element>
91                                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
92                                                </xs:sequence>
93                                                <xs:sequence>
94                                                        <xs:element name="templateId" type="xs:string"/>
95                                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
96                                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
97                                                </xs:sequence>
98                                        </xs:choice>
99                                </xs:sequence>
100                        </xs:extension>
101                </xs:complexContent>
102        </xs:complexType>
103       
104        <xs:complexType name="deviceType">
105                <xs:annotation>
106                        <xs:documentation> Device derived from physicalResourceType</xs:documentation>
107                </xs:annotation>
108                <xs:complexContent>
109                        <xs:extension base="physicalResourceType">
110                                <xs:sequence>
111                                        <xs:choice>
112                                                <xs:sequence>
113                                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
114                                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
115                                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element>
116                                                </xs:sequence>
117                                                <xs:sequence>
118                                                        <xs:element name="templateId" type="xs:string"/>
119                                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
120                                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
121                                                </xs:sequence>
122                                        </xs:choice>
123                                </xs:sequence>
124                        </xs:extension>
125                </xs:complexContent>
126        </xs:complexType>
127       
128        <xs:complexType name="computingResourceTemplateType">
129                <xs:annotation>
130                        <xs:documentation>ComputingResourceTemplate derived from resourceType.
131                        It allows user to define model of computing resource component that may constitute other computing resources
132                        Computing resource templates can be then referred in computing resource definition</xs:documentation>
133                </xs:annotation>
134                <xs:complexContent>
135                        <xs:extension base="resourceType">
136                                <xs:sequence>
137                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
138                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element>
139                                        <xs:element name="device" type="deviceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
140                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element>
141                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
142                                </xs:sequence>
143                        </xs:extension>
144                </xs:complexContent>
145        </xs:complexType>
146       
147        <xs:complexType name="deviceTemplateType">
148                <xs:annotation>
149                        <xs:documentation>ComputingResourceTemplate derived from resourceType.
150                        It allows user to define model of computing resource component that may constitute other computing resources
151                        Computing resource templates can be then referred in computing resource definition</xs:documentation>
152                </xs:annotation>
153                <xs:complexContent>
154                        <xs:extension base="resourceType">
155                                <xs:sequence>
156                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
157                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element>
158                                </xs:sequence>
159                        </xs:extension>
160                </xs:complexContent>
161        </xs:complexType>
162
163        <xs:complexType name="schedulerType">
164                <xs:annotation>
165                        <xs:documentation>Scheduler derived from resourceType.
166                        It allows to model scheduling entity responsible for managing resources.</xs:documentation>
167                </xs:annotation>
168                <xs:complexContent>
169                        <xs:extension base="resourceType">
170                                <xs:sequence>
171                                        <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="1"></xs:element>
172                                        <xs:element name="queues" type="queueListType" minOccurs="0"></xs:element>
173                                        <xs:choice minOccurs="1" maxOccurs="unbounded">
174                                                <xs:element name="scheduler" type="schedulerType"></xs:element>
175                                                <xs:element name="managedComputingResources" type="managedComputingResourcesType"></xs:element>
176                                        </xs:choice>
177                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
178                                </xs:sequence>
179                        </xs:extension>
180                </xs:complexContent>
181        </xs:complexType>
182       
183        <xs:complexType name="schedulingPluginType">
184                <xs:annotation>
185                        <xs:documentation>SchedulingPlugin derived from pluginType.
186                        Scheduling plugins allow plugging scheduling algorithms into the simulated environment.
187                        Elements: frequency - is used to enable scheduling periodically; it specifies the time interval (in seconds by default) between subsequent scheduling invocations
188                        </xs:documentation>
189                </xs:annotation>
190                <xs:complexContent>
191                        <xs:extension base="pluginType">
192                                <xs:sequence>
193                                        <xs:element name="frequency" type="doubleValueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element>
194                                </xs:sequence>
195                        </xs:extension>
196                </xs:complexContent>
197        </xs:complexType>
198       
199        <xs:complexType name="resourceUnitType">
200                <xs:annotation>
201                        <xs:documentation>Resource unit is used to define non-computing resource like memory, storage etc.
202                        Elements: amount - represents concrete amount (values) of specific resource unit</xs:documentation>
203                </xs:annotation>
204                <xs:complexContent>
205                        <xs:extension base="resourceType">
206                                <xs:sequence>
207                                        <xs:element name="amount" type="doubleValueWithUnitType"/>
208                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
209                                </xs:sequence>
210                        </xs:extension>
211                </xs:complexContent>
212        </xs:complexType>
213
214        <xs:complexType name="doubleValueWithUnitType">
215                <xs:annotation>
216                        <xs:documentation>DoubleValueWitUnit derived from double. Allows providing units in which the given value is expressed
217                        Attributes: unit - indicates appropriate units, for instance: seconds, watts, bytes etc. </xs:documentation>
218                </xs:annotation>
219                <xs:simpleContent>
220                        <xs:extension base="xs:double">
221                                <xs:attribute name="unit" type="xs:string" use="optional"/>
222                        </xs:extension>
223                </xs:simpleContent>     
224        </xs:complexType>
225       
226        <xs:complexType name="stringValueWithUnitType">
227                <xs:annotation>
228                        <xs:documentation>StringValueWitUnit derived from string. Allows providing units in which the given value is expressed
229                        Attributes: unit - indicates appropriate units. </xs:documentation>
230                </xs:annotation>
231                <xs:simpleContent>
232                        <xs:extension base="xs:string">
233                                <xs:attribute name="unit" type="xs:string" use="optional"/>
234                        </xs:extension>
235                </xs:simpleContent>     
236        </xs:complexType>
237       
238        <xs:complexType name="queueListType">
239                <xs:annotation>
240                        <xs:documentation>Profile acts as a container for resource profiles: power and air throughput</xs:documentation>
241                </xs:annotation>
242                <xs:sequence>
243                        <xs:element name="queue" type="queueType" minOccurs="1" maxOccurs="unbounded"></xs:element>
244                </xs:sequence>
245        </xs:complexType>
246       
247        <xs:complexType name="queueType">
248                <xs:annotation>
249                        <xs:documentation>Profile acts as a container for resource profiles: power and air throughput</xs:documentation>
250                </xs:annotation>
251                <xs:sequence>
252                        <xs:element name="name" type="xs:string"></xs:element>
253                        <xs:element name="priority" type="xs:int" minOccurs="0"></xs:element>
254                        <xs:element name="reservation" type="xs:boolean" minOccurs="0" ></xs:element>
255                </xs:sequence>
256        </xs:complexType>
257       
258        <xs:complexType name="managedComputingResourcesType">
259                <xs:annotation>
260                        <xs:documentation>ManagedComputingResource type specifies computing resources controlled by scheduler.
261                        They can be provided either by listing their names or listing the group ids which they belong to.
262                        Attributes: include - specifies whether the given resource layer (listed resources) can be allocated by the scheduler
263                        In other words, false (default) value indicates that scheduler maneges only the subcomponents of the listed resources;
264                        true value determines that also listed resources will be under the control of the defined scheduler</xs:documentation>
265                </xs:annotation>
266                <xs:choice>
267                        <xs:element name="resourceName" type="xs:string" minOccurs="1" maxOccurs="unbounded"></xs:element>
268                        <xs:element name="resourceGroupId" type="xs:string" minOccurs="1" maxOccurs="unbounded"></xs:element>
269                </xs:choice>
270                <xs:attribute name="include" type="xs:boolean" default="false"/>
271        </xs:complexType>
272
273        <xs:complexType name="energyEstimationPluginType">
274                <xs:annotation>
275                        <xs:documentation>EnergyEstimationPlugin derived from pluginType.
276                        Energy estimation plugin is used to estimate energy consumption of the given computing resource.
277                        It has access to the detailed resource description including power and air throughput profiles
278                        and application characteristics running on a given resource</xs:documentation>
279                </xs:annotation>
280                <xs:complexContent>
281                        <xs:extension base="pluginType">
282                                <xs:sequence>
283                                        <xs:element name="powerCapLevel" type="doubleValueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element>
284                                        <xs:element name="powerFloorLevel" type="doubleValueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element>
285                                </xs:sequence>
286                        </xs:extension>
287                </xs:complexContent>
288        </xs:complexType>
289       
290        <xs:complexType name="profileType">
291                <xs:annotation>
292                        <xs:documentation>Profile acts as a container for resource profiles: power and air throughput</xs:documentation>
293                </xs:annotation>
294                <xs:sequence>
295                        <xs:element name="powerProfile" type="powerProfileType" minOccurs="0"></xs:element>
296                        <xs:element name="airThroughputProfile" type="airThroughputProfileType" minOccurs="0"></xs:element>
297                        <xs:element name="thermalProfile" type="thermalProfileType" minOccurs="0"></xs:element>
298                        <xs:element name="loadProfile" type="loadProfileType" minOccurs="0"></xs:element>
299                </xs:sequence>
300        </xs:complexType>
301       
302        <xs:complexType name="powerProfileType">
303                <xs:annotation>
304                        <xs:documentation>Power profile provides energyEstimation plugin, powerStates and other power-related parameters definition</xs:documentation>
305                </xs:annotation>
306                <xs:sequence>
307                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0"></xs:element>
308                        <xs:element name="powerStates" type="powerStatesListType" minOccurs="0"></xs:element>
309                        <xs:element name="loadPowerUsage" type="loadPowerUsageType" minOccurs="0"></xs:element>                 
310                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
311                </xs:sequence>
312        </xs:complexType>
313       
314        <xs:complexType name="powerStatesListType">
315                <xs:annotation>
316                        <xs:documentation>PowerState type act as a container for power states. It contains energy-related characteristics of the computing resource</xs:documentation>
317                </xs:annotation>
318                <xs:sequence>
319                        <xs:element name="powerState" type="powerStateType" minOccurs="1" maxOccurs="unbounded"></xs:element>
320                </xs:sequence>
321        </xs:complexType>
322       
323        <xs:complexType name="powerStateType">
324                <xs:annotation>
325                        <xs:documentation>Power state defines available (for computing resource) power states.
326                        Elements: name - denotes name of the given power state
327                        powerUsage - defines power consumption in the given state
328                        transition - specifies possible power states transitions from the given power state</xs:documentation>
329                </xs:annotation>
330                <xs:sequence>
331                        <xs:element name="name" type="xs:string"></xs:element>
332                        <xs:element name="powerUsage" type="doubleValueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element>
333                        <xs:element name="transition" type="powerStatesTransitionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
334                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
335                </xs:sequence>
336        </xs:complexType>
337       
338        <xs:complexType name="powerStatesTransitionType">
339                <xs:annotation>
340                        <xs:documentation>Description of power states transtition
341                        Elements: to - denotes name of target power state
342                        powerUsage - defines transition cost in the form of power consumption
343                        time - specifies transition time</xs:documentation>
344                </xs:annotation>
345                <xs:sequence>
346                        <xs:element name="to" type="xs:string"></xs:element>
347                        <xs:element name="powerUsage" type="doubleValueWithUnitType"></xs:element>
348                        <xs:element name="time" type="doubleValueWithUnitType"></xs:element>
349                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
350                </xs:sequence>
351        </xs:complexType>
352               
353        <xs:complexType name="loadPowerUsageType">
354                <xs:sequence>
355                        <xs:element name="load" type="xs:float" maxOccurs="1" minOccurs="1"></xs:element>
356                        <xs:element name="powerUsage" type="xs:float" maxOccurs="1" minOccurs="1"></xs:element>
357                </xs:sequence>
358        </xs:complexType>
359       
360        <xs:complexType name="airThroughputEstimationPluginType">
361                <xs:annotation>
362                        <xs:documentation>AirThroughputEstimationPlugin derived from pluginType.
363                        Air Throughput plugin is used to estimate air flow value based on the defined air throughput states</xs:documentation>
364                </xs:annotation>
365                <xs:complexContent>
366                        <xs:extension base="pluginType"/>
367                </xs:complexContent>
368        </xs:complexType>
369       
370        <xs:complexType name="airThroughputProfileType">
371                <xs:annotation>
372                        <xs:documentation>AirThrouhputProfile provides airThroughputEstimation plugin, airThroughputStates and other airThroughput-related parameters definition</xs:documentation>
373                </xs:annotation>
374                <xs:sequence>
375                        <xs:element name="airThroughputEstimationPlugin" type="airThroughputEstimationPluginType" minOccurs="0"></xs:element>
376                        <xs:element name="airThroughputStates" type="airThroughputStatesListType" minOccurs="0"></xs:element>
377                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
378                </xs:sequence>
379        </xs:complexType>
380       
381        <xs:complexType name="airThroughputStatesListType">
382                <xs:annotation>
383                        <xs:documentation>AirThroughputStates type act as a container for air throughput states.</xs:documentation>
384                </xs:annotation>
385                <xs:sequence>
386                        <xs:element name="airThroughputState" type="airThroughputStateType" minOccurs="1" maxOccurs="unbounded"></xs:element>
387                </xs:sequence>
388                <xs:attribute name="name" type="xs:string" use="optional"/>
389        </xs:complexType>
390       
391        <xs:complexType name="airThroughputStateType">
392                <xs:annotation>
393                        <xs:documentation>Air throughput state provides means to define air flow level.
394                        It can represent, for instance, a fan working state</xs:documentation>
395                </xs:annotation>
396                <xs:sequence>
397                        <xs:element name="name" type="xs:string"></xs:element>
398                        <xs:element name="value" type="doubleValueWithUnitType"></xs:element>
399                        <xs:element name="powerUsage" type="doubleValueWithUnitType" minOccurs="0"></xs:element>
400                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
401                </xs:sequence>
402        </xs:complexType>
403       
404        <xs:complexType name="temperatureEstimationPluginType">
405                <xs:annotation>
406                        <xs:documentation>TemperatureEstimationPlugin derived from pluginType.
407                        Temperature plugin is used to estimate temperature based on the defined resource characteristics</xs:documentation>
408                </xs:annotation>
409                <xs:complexContent>
410                        <xs:extension base="pluginType"/>
411                </xs:complexContent>
412        </xs:complexType>
413       
414        <xs:complexType name="thermalProfileType">
415                <xs:annotation>
416                        <xs:documentation>ThermalProfile provides temperatureEstimation plugin, and other thermal-related parameters definition</xs:documentation>
417                </xs:annotation>
418                <xs:sequence>
419                        <xs:element name="temperatureEstimationPlugin" type="temperatureEstimationPluginType" minOccurs="0"></xs:element>
420                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
421                </xs:sequence>
422        </xs:complexType>
423       
424        <xs:complexType name="loadProfileType">
425                <xs:annotation>
426                        <xs:documentation>Load profile provides loadEstimation plugin and supports modelinf of a local utilization of the given resource during the time</xs:documentation>
427                </xs:annotation>
428                <xs:sequence>
429                        <xs:element name="loadEstimationPlugin" type="loadEstimationPluginType" minOccurs="0"></xs:element>
430                        <xs:element name="loadCalendar" type="loadCalendarType" minOccurs="0"></xs:element>
431                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
432                </xs:sequence>
433        </xs:complexType>
434       
435        <xs:complexType name="loadEstimationPluginType">
436                <xs:annotation>
437                        <xs:documentation>LoadEstimationPlugin derived from pluginType.
438                        Load plugin is used to calclulate load on the given resource if it's based on user-defined model</xs:documentation>
439                </xs:annotation>
440                <xs:complexContent>
441                        <xs:extension base="pluginType"/>
442                </xs:complexContent>
443        </xs:complexType>
444       
445        <xs:complexType name="locationType">
446                <xs:annotation>
447                        <xs:documentation>The location type describes placement of the computing resource using 3 coordinates</xs:documentation>
448                </xs:annotation>
449                <xs:sequence>
450                        <xs:element name="horizontal" type="xs:long"/>
451                        <xs:element name="vertical" type="xs:long"/>
452                        <xs:element name="depth" type="xs:long"/>
453                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
454                </xs:sequence>
455        </xs:complexType>
456       
457        <xs:complexType name="parameterType">
458                <xs:annotation>
459                        <xs:documentation>Parameter of resource. Allows defining additional resource parameters.
460                        Contains a list of parameter values or a list of key-value pairs.
461                        Attribute : name - denotes parameter name</xs:documentation>
462                </xs:annotation>
463                <xs:choice>
464                        <xs:element name="value" type="stringValueWithUnitType" minOccurs="0" maxOccurs="unbounded"/>
465                        <xs:sequence>
466                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
467                                        <xs:complexType>
468                                                <xs:annotation>
469                                                        <xs:documentation>Property of parameter. Allows defining additional properties of parameter as a list of values.
470                                                        Attribute : name - denotes property name</xs:documentation>
471                                                </xs:annotation>
472                                                <xs:sequence>
473                                                        <xs:element name="value" type="stringValueWithUnitType" minOccurs="0" maxOccurs="unbounded"/>
474                                                </xs:sequence>
475                                                <xs:attribute name="name" type="xs:string" use="required"/>
476                                        </xs:complexType>
477                                </xs:element>
478                        </xs:sequence>
479                </xs:choice>
480                <xs:attribute name="name" type="xs:string" use="required"/>
481        </xs:complexType>
482       
483       
484        <xs:complexType name="loadCalendarType">
485                <xs:choice>
486                        <xs:element name="weekDay" type="weekDayType"  maxOccurs="unbounded"/>
487                        <xs:element name="loadSchedule" type="loadScheduleType" maxOccurs="unbounded"/>
488                </xs:choice>
489        </xs:complexType>
490       
491        <xs:complexType name="weekDayType">
492                <xs:sequence>
493                        <xs:element name="type" type="dayType"></xs:element>
494                        <xs:choice>
495                                <xs:element name="timePeriod" maxOccurs="unbounded">
496                                        <xs:complexType>
497                                                <xs:sequence>
498                                                        <xs:element name="fromTime" type="xs:time"/>
499                                                        <xs:element name="toTime" type="xs:time"/>
500                                                        <xs:element name="loadLevel" type="xs:double"/>
501                                                </xs:sequence>
502                                        </xs:complexType>
503                                </xs:element>
504                                <xs:element name="loadLevel" type="xs:double"/>
505                        </xs:choice>
506                </xs:sequence>
507        </xs:complexType>
508               
509        <xs:complexType name="loadScheduleType">
510                <xs:sequence>
511                        <xs:element name="loadDistribution" maxOccurs="unbounded">
512                                <xs:complexType>
513                                        <xs:sequence>
514                                                <xs:element name="fromTime" type="xs:long"/>
515                                                <xs:element name="toTime" type="xs:long"/>
516                                                <xs:element name="loadLevel" type="xs:double"/>
517                                        </xs:sequence>
518                                </xs:complexType>
519                        </xs:element>
520                </xs:sequence>
521        </xs:complexType>
522                               
523        <xs:simpleType name="dayType">
524                <xs:annotation>
525                        <xs:documentation>The type of day. Values are: 0=AllDays,
526                                1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday,
527                                6=Friday, 7=Saturday.</xs:documentation>
528                </xs:annotation>
529                <xs:restriction base="xs:integer">
530                        <xs:enumeration value="0" />
531                        <xs:enumeration value="1" />
532                        <xs:enumeration value="2" />
533                        <xs:enumeration value="3" />
534                        <xs:enumeration value="4" />
535                        <xs:enumeration value="5" />
536                        <xs:enumeration value="6" />
537                        <xs:enumeration value="7" />
538                </xs:restriction>
539        </xs:simpleType>
540       
541        <xs:element name="environment">
542                <xs:annotation>
543                        <xs:documentation>Schema describing simulation environment</xs:documentation>
544                </xs:annotation>
545                <xs:complexType>
546                        <xs:sequence>
547                                <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element>
548                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
549                                <xs:element name="resources">
550                                        <xs:annotation>
551                                                <xs:documentation>Description of resources</xs:documentation>
552                                        </xs:annotation>
553                                        <xs:complexType>
554                                                <xs:sequence>
555                                                        <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element>
556                                                        <xs:element name="computingResource" type="computingResourceType" maxOccurs="unbounded"/>
557                                                        <xs:element name="scheduler" type="schedulerType" maxOccurs="unbounded"/>
558                                                </xs:sequence>
559                                                <xs:attribute name="mode" type="xs:string" default="Standard"/>
560                                        </xs:complexType>
561                                </xs:element>
562                                <xs:element name="templates" minOccurs="0">
563                                        <xs:annotation>
564                                                <xs:documentation>Definition of computing resource templates that can/will be used in resource description section </xs:documentation>
565                                        </xs:annotation>
566                                        <xs:complexType>
567                                                <xs:sequence>
568                                                        <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element>
569                                                        <xs:element name="computingResourceTemplate" type="computingResourceTemplateType" minOccurs="0" maxOccurs="unbounded"/>
570                                                        <xs:element name="deviceTemplate" type="deviceTemplateType" minOccurs="0" maxOccurs="unbounded"/>
571                                                </xs:sequence>
572                                        </xs:complexType>
573                                </xs:element>
574                        </xs:sequence>
575                </xs:complexType>
576        </xs:element>
577
578</xs:schema>
Note: See TracBrowser for help on using the repository browser.