source: xssim/trunk/src/test/rewolucja/schemas/XSSimResSchema.xsd @ 319

Revision 319, 11.0 KB checked in by wojtekp, 13 years ago (diff)
  • Property svn:mime-type set to text/plain
RevLine 
[234]1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3        elementFormDefault="qualified" attributeFormDefault="unqualified">
[293]4               
[315]5                <xs:complexType name="pluginType">
[293]6                <xs:annotation>
[315]7                        <xs:documentation>Base plugin description</xs:documentation>
[293]8                </xs:annotation>
9                <xs:sequence>
[296]10                        <xs:element name="name" type="xs:string"></xs:element>
[299]11                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[293]12                </xs:sequence>
13        </xs:complexType>
[234]14       
[315]15        <xs:complexType name="timeEstimationPluginType">
16                <xs:annotation>
17                        <xs:documentation>Time estimation plugin</xs:documentation>
18                </xs:annotation>
19                <xs:complexContent>
20                        <xs:extension base="pluginType"/>
21                </xs:complexContent>   
22        </xs:complexType>
[303]23       
[296]24        <xs:complexType name="resourceType">
25                <xs:annotation>
26                        <xs:documentation>Base resource type</xs:documentation>
27                </xs:annotation>
[299]28                <xs:sequence>
[315]29                        <xs:element name="description" type="xs:string" minOccurs="0"></xs:element>
[299]30                </xs:sequence>
[315]31                <xs:attribute name="class" type="xs:string" use="required"/>
32                <xs:attribute name="type" type="xs:string" use="optional"/>
33                <xs:attribute name="id" type="xs:ID" use="optional"/>
[293]34        </xs:complexType>
35
[298]36        <xs:complexType name="computingResourceType">
[293]37                <xs:annotation>
[296]38                        <xs:documentation>Computing resource template</xs:documentation>
[293]39                </xs:annotation>
40                <xs:complexContent>
[296]41                        <xs:extension base="resourceType">
[315]42                                <xs:sequence>
43                                        <xs:choice>
44                                                <xs:sequence>
45                                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
46                                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element>
47                                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
48                                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
[317]49                                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element>
[315]50                                                </xs:sequence>
51                                                <xs:element name="templateId" type="xs:IDREF"/>
52                                        </xs:choice>
53                                        <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
54                                </xs:sequence>
[299]55                                <xs:attribute name="groupId" type="xs:integer" use="optional"/>                 
[298]56                                <xs:attribute name="count" type="xs:integer" use="optional"/>
[293]57                        </xs:extension>
58                </xs:complexContent>
59        </xs:complexType>
60       
[298]61        <xs:complexType name="computingResourceTemplateType">
[293]62                <xs:annotation>
[296]63                        <xs:documentation>Computing resource instance</xs:documentation>
[293]64                </xs:annotation>
65                <xs:complexContent>
[298]66                        <xs:extension base="resourceType">
67                                <xs:sequence>
[299]68                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
69                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[312]70                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[298]71                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
[317]72                                        <xs:element name="profile" type="profileType" minOccurs="0" maxOccurs="1"></xs:element>
[293]73                                </xs:sequence>
74                        </xs:extension>
75                </xs:complexContent>
76        </xs:complexType>
77
78        <xs:complexType name="schedulerType">
79                <xs:annotation>
80                        <xs:documentation>Scheduler</xs:documentation>
81                </xs:annotation>
82                <xs:complexContent>
[296]83                        <xs:extension base="resourceType">
84                                <xs:sequence>
[293]85                                        <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="1"></xs:element>
[299]86                                        <xs:choice minOccurs="1" maxOccurs="unbounded">
[293]87                                                <xs:element name="scheduler" type="schedulerType"></xs:element>
[296]88                                                <xs:element name="managedComputingResource" type="managedComputingResourceType"></xs:element>
[293]89                                        </xs:choice>
[299]90                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[293]91                                </xs:sequence>
92                        </xs:extension>
93                </xs:complexContent>
94        </xs:complexType>
95       
96        <xs:complexType name="schedulingPluginType">
97                <xs:annotation>
98                        <xs:documentation>Scheduling plugin</xs:documentation>
99                </xs:annotation>
[315]100                <xs:complexContent>
101                        <xs:extension base="pluginType">
102                                <xs:sequence>
103                                        <xs:element name="frequency" type="xs:integer" minOccurs="0" maxOccurs="1"></xs:element>
104                                </xs:sequence>
105                        </xs:extension>
106                </xs:complexContent>
[293]107        </xs:complexType>
108       
[296]109        <xs:complexType name="resourceUnitType">
[293]110                <xs:annotation>
[296]111                        <xs:documentation>Description of resource unit</xs:documentation>
[293]112                </xs:annotation>
113                <xs:complexContent>
[296]114                        <xs:extension base="resourceType">
115                                <xs:sequence>
[312]116                                        <xs:element name="amount" type="xs:double"/>
[317]117                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[296]118                                </xs:sequence>
[293]119                        </xs:extension>
120                </xs:complexContent>
121        </xs:complexType>
122       
123        <xs:complexType name="managedComputingResourceType">
124                <xs:annotation>
[296]125                        <xs:documentation>Definition of controlled (by scheduler) computing resources</xs:documentation>
[293]126                </xs:annotation>
[310]127                <xs:sequence minOccurs="1" maxOccurs="unbounded">
128                        <xs:element name="resourceId" type="xs:string"></xs:element>
129                </xs:sequence>
130                <xs:attribute name="include" type="xs:boolean" default="false"/>
[293]131        </xs:complexType>
[234]132
[293]133        <xs:complexType name="energyEstimationPluginType">
[234]134                <xs:annotation>
[293]135                        <xs:documentation>Energy consumption estimation plugin</xs:documentation>
136                </xs:annotation>
[315]137                <xs:complexContent>
138                        <xs:extension base="pluginType"/>
139                </xs:complexContent>
[293]140        </xs:complexType>
141       
[317]142        <xs:complexType name="profileType">
[293]143                <xs:annotation>
[317]144                        <xs:documentation>Resource profiles</xs:documentation>
[293]145                </xs:annotation>
146                <xs:sequence>
[317]147                        <xs:element name="powerProfile" type="powerProfileType" minOccurs="0"></xs:element>
148                        <xs:element name="airThroughputProfile" type="airThroughputProfileType" minOccurs="0"></xs:element>
[293]149                </xs:sequence>
150        </xs:complexType>
151       
[317]152        <xs:complexType name="powerProfileType">
[296]153                <xs:annotation>
[317]154                        <xs:documentation>Power profile</xs:documentation>
[296]155                </xs:annotation>
[282]156                <xs:sequence>
[317]157                        <xs:element name="powerStates" type="powerStatesType" minOccurs="0"></xs:element>
158                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[282]159                </xs:sequence>
160        </xs:complexType>
[234]161       
[282]162        <xs:complexType name="powerStatesType">
[296]163                <xs:annotation>
164                        <xs:documentation>Definition of supported power states</xs:documentation>
165                </xs:annotation>
166                <xs:sequence minOccurs="1" maxOccurs="unbounded">
[282]167                        <xs:element name="powerState" type="powerStateType"></xs:element>
[296]168                </xs:sequence>
[282]169        </xs:complexType>
170       
171        <xs:complexType name="powerStateType">
[296]172                <xs:annotation>
173                        <xs:documentation>Definition of the power state</xs:documentation>
174                </xs:annotation>
[282]175                <xs:sequence>
176                        <xs:element name="name" type="xs:string"></xs:element>
[319]177                        <xs:element name="powerUsage" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element>
[299]178                        <xs:element name="transition" type="energyStatesTransitionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[319]179                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[282]180                </xs:sequence>
181        </xs:complexType>
182       
[293]183        <xs:complexType name="energyStatesTransitionType">
[296]184                <xs:annotation>
185                        <xs:documentation>Description of power states transtition</xs:documentation>
186                </xs:annotation>
[282]187                <xs:sequence>
[293]188                        <xs:element name="to" type="xs:string"></xs:element>
[319]189                        <xs:element name="powerUsage" type="xs:double"></xs:element>
[293]190                        <xs:element name="time" type="xs:double"></xs:element>
[319]191                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[282]192                </xs:sequence>
193        </xs:complexType>
194       
[317]195        <xs:complexType name="airThroughputProfileType">
[312]196                <xs:annotation>
[314]197                        <xs:documentation>Description of the computing resource fan</xs:documentation>
[312]198                </xs:annotation>
[315]199                <xs:sequence minOccurs="1" maxOccurs="unbounded">
[319]200                        <xs:element name="airThroughputState" type="airThroughputStateType"></xs:element>
[315]201                </xs:sequence>
202        </xs:complexType>
203       
[319]204        <xs:complexType name="airThroughputStateType">
[315]205                <xs:annotation>
206                        <xs:documentation>Definition of the power state</xs:documentation>
207                </xs:annotation>
[312]208                <xs:sequence>
[317]209                        <xs:element name="name" type="xs:string"></xs:element>
210                        <xs:element name="value" type="xs:double"></xs:element>
[319]211                        <xs:element name="powerUsage" type="xs:double" minOccurs="0"></xs:element>
212                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[312]213                </xs:sequence>
214        </xs:complexType>
215       
[293]216        <xs:complexType name="locationType">
[282]217                <xs:annotation>
[293]218                        <xs:documentation>Location parameters of resource</xs:documentation>
[282]219                </xs:annotation>
220                <xs:sequence>
[293]221                        <xs:element name="vertical" type="xs:long"/>
222                        <xs:element name="horizontal" type="xs:long"/>
223                        <xs:element name="depth" type="xs:long"/>
[319]224                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[282]225                </xs:sequence>
226        </xs:complexType>
[296]227       
[299]228        <xs:complexType name="parameterType">
[282]229                <xs:annotation>
[312]230                        <xs:documentation>Description of parameter of resource</xs:documentation>
[282]231                </xs:annotation>
[317]232                <xs:choice>
[312]233                        <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
[317]234                        <xs:sequence minOccurs="0" maxOccurs="unbounded">
235                                <xs:element name="property">
236                                <xs:complexType>
[319]237                                        <xs:sequence minOccurs="0" maxOccurs="unbounded">
[317]238                                                <xs:element name="value" type="xs:string"/>
239                                        </xs:sequence>
240                                        <xs:attribute name="name" type="xs:string" use="required"/>
241                                </xs:complexType>
242                        </xs:element>
243                        </xs:sequence>
244                </xs:choice>
[296]245                <xs:attribute name="name" type="xs:string" use="required"/>
[282]246        </xs:complexType>
247       
[234]248        <xs:element name="environment">
249                <xs:annotation>
[293]250                        <xs:documentation>Schema describing simulation environment</xs:documentation>
[234]251                </xs:annotation>
252                <xs:complexType>
253                        <xs:sequence>
[299]254                                <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element>
[296]255                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1">
256                                        <xs:annotation>
257                                                <xs:documentation>Specifies which plugin is used to estimate task execution time</xs:documentation>
258                                        </xs:annotation>
259                                </xs:element>
[234]260                                <xs:element name="resources">
261                                        <xs:annotation>
262                                                <xs:documentation>Description of resources</xs:documentation>
263                                        </xs:annotation>
264                                        <xs:complexType>
265                                                <xs:sequence>
[293]266                                                        <xs:element name="computingResource" type="computingResourceType" maxOccurs="unbounded"/>
[296]267                                                        <xs:element name="scheduler" type="schedulerType" maxOccurs="unbounded"/>
[234]268                                                </xs:sequence>
269                                        </xs:complexType>
270                                </xs:element>
[293]271                                <xs:element name="templates" minOccurs="0">
272                                        <xs:annotation>
[296]273                                                <xs:documentation>Definition of computing resource templates that can/will be used in resoce description section </xs:documentation>
[293]274                                        </xs:annotation>
275                                        <xs:complexType>
[296]276                                                <xs:sequence maxOccurs="unbounded">
277                                                        <xs:element name="computingResourceTemplate" type="computingResourceTemplateType"/>
[293]278                                                </xs:sequence>
279                                        </xs:complexType>
280                                </xs:element>
[234]281                        </xs:sequence>
282                </xs:complexType>
283        </xs:element>
284
285</xs:schema>
Note: See TracBrowser for help on using the repository browser.