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

Revision 303, 10.2 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               
5        <xs:complexType name="timeEstimationPluginType">
6                <xs:annotation>
7                        <xs:documentation>Time estimation plugin</xs:documentation>
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       
[303]15       
[296]16        <xs:complexType name="resourceType">
17                <xs:annotation>
18                        <xs:documentation>Base resource type</xs:documentation>
19                </xs:annotation>
[299]20                <xs:sequence>
21                        <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element>
22                </xs:sequence>
[293]23                <xs:attribute name="type" type="xs:string" use="required" />
24                <xs:attribute name="id" type="xs:ID" use="optional" />
25        </xs:complexType>
26
[298]27        <xs:complexType name="computingResourceType">
[293]28                <xs:annotation>
[296]29                        <xs:documentation>Computing resource template</xs:documentation>
[293]30                </xs:annotation>
31                <xs:complexContent>
[296]32                        <xs:extension base="resourceType">
[299]33                                <xs:choice>
34                                        <xs:sequence>
35                                                <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
36                                                <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element>
37                                                <xs:element name="otherParameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
38                                                <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
39                                                <xs:element name="powerProfile" type="powerProfileType" minOccurs="0" maxOccurs="1"></xs:element>
40                                                <xs:element name="location" type="locationType" minOccurs="0" maxOccurs="1"></xs:element>
41                                        </xs:sequence>
42                                        <xs:sequence>
43                                                <xs:element name="templateId" type="xs:IDREF"/>
44                                        </xs:sequence>
45                                </xs:choice>
46                                <xs:attribute name="groupId" type="xs:integer" use="optional"/>                 
[298]47                                <xs:attribute name="count" type="xs:integer" use="optional"/>
[293]48                        </xs:extension>
49                </xs:complexContent>
50        </xs:complexType>
51       
[298]52        <xs:complexType name="computingResourceTemplateType">
[293]53                <xs:annotation>
[296]54                        <xs:documentation>Computing resource instance</xs:documentation>
[293]55                </xs:annotation>
56                <xs:complexContent>
[298]57                        <xs:extension base="resourceType">
58                                <xs:sequence>
[299]59                                        <xs:element name="computingResource" type="computingResourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
60                                        <xs:element name="resourceUnit" type="resourceUnitType" minOccurs="0" maxOccurs="unbounded"></xs:element>
61                                        <xs:element name="otherParameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[298]62                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="1"></xs:element>
[299]63                                        <xs:element name="powerProfile" type="powerProfileType" minOccurs="0" maxOccurs="1"></xs:element>
[293]64                                </xs:sequence>
65                                <xs:attribute name="templateId" type="xs:IDREF" use="optional"/>
66                        </xs:extension>
67                </xs:complexContent>
68        </xs:complexType>
69
70        <xs:complexType name="schedulerType">
71                <xs:annotation>
72                        <xs:documentation>Scheduler</xs:documentation>
73                </xs:annotation>
74                <xs:complexContent>
[296]75                        <xs:extension base="resourceType">
76                                <xs:sequence>
[293]77                                        <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="1"></xs:element>
[299]78                                        <xs:choice minOccurs="1" maxOccurs="unbounded">
[293]79                                                <xs:element name="scheduler" type="schedulerType"></xs:element>
[296]80                                                <xs:element name="managedComputingResource" type="managedComputingResourceType"></xs:element>
[293]81                                        </xs:choice>
[299]82                                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[293]83                                </xs:sequence>
84                        </xs:extension>
85                </xs:complexContent>
86        </xs:complexType>
87       
88        <xs:complexType name="schedulingPluginType">
89                <xs:annotation>
90                        <xs:documentation>Scheduling plugin</xs:documentation>
91                </xs:annotation>
92                <xs:sequence>
93                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
94                        <xs:element name="frequency" type="xs:integer" minOccurs="0" maxOccurs="1"></xs:element>
95                </xs:sequence>
96        </xs:complexType>
97       
[296]98        <xs:complexType name="resourceUnitType">
[293]99                <xs:annotation>
[296]100                        <xs:documentation>Description of resource unit</xs:documentation>
[293]101                </xs:annotation>
102                <xs:complexContent>
[296]103                        <xs:extension base="resourceType">
104                                <xs:sequence>
[299]105                                        <xs:element name="amount" type="xs:integer"/>
[296]106                                </xs:sequence>
[293]107                        </xs:extension>
108                </xs:complexContent>
109        </xs:complexType>
110       
111        <xs:complexType name="managedComputingResourceType">
112                <xs:annotation>
[296]113                        <xs:documentation>Definition of controlled (by scheduler) computing resources</xs:documentation>
[293]114                </xs:annotation>
115                <xs:choice minOccurs="0" maxOccurs="1">
116                        <xs:element name="associatedComputingResource" type="xs:string"></xs:element>
117                        <xs:element name="listOfManagedResources" type="resourceList"></xs:element>
118                </xs:choice>
119        </xs:complexType>
120       
121        <xs:complexType name="resourceList">
[234]122                <xs:annotation>
[296]123                        <xs:documentation>List of managed computing resources</xs:documentation>
[234]124                </xs:annotation>
[296]125                <xs:sequence minOccurs="0" maxOccurs="unbounded">
126                        <xs:element name="resourceId" type="xs:string"></xs:element>
127                </xs:sequence>
[234]128        </xs:complexType>
129
[293]130        <xs:complexType name="energyEstimationPluginType">
[234]131                <xs:annotation>
[293]132                        <xs:documentation>Energy consumption estimation plugin</xs:documentation>
133                </xs:annotation>
134                <xs:sequence>
[296]135                        <xs:element name="name" type="xs:string"></xs:element>
136                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[293]137                </xs:sequence>
138        </xs:complexType>
139       
[299]140        <xs:complexType name="powerProfileType">
[293]141                <xs:annotation>
[299]142                        <xs:documentation>power profile</xs:documentation>
[293]143                </xs:annotation>
144                <xs:sequence>
145                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
[299]146                        <xs:sequence>
147                                <xs:element name="powerStates" type="powerStatesType" minOccurs="0" maxOccurs="unbounded"></xs:element>
148                                <xs:element name="pStates" type="pStatesType" minOccurs="0" maxOccurs="unbounded"></xs:element>
149                                <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
150                        </xs:sequence>
[293]151                </xs:sequence>
152        </xs:complexType>
[296]153
154        <xs:complexType name="pStatesType">
[293]155                <xs:annotation>
[296]156                        <xs:documentation>Definition of supported  p-states</xs:documentation>
[234]157                </xs:annotation>
[296]158                <xs:sequence minOccurs="1" maxOccurs="unbounded">
[293]159                        <xs:element name="pState" type="pStateType"></xs:element>
[296]160                </xs:sequence>
[293]161        </xs:complexType>
162       
[282]163        <xs:complexType name="pStateType">
[296]164                <xs:annotation>
165                        <xs:documentation>Definition of the p-state</xs:documentation>
166                </xs:annotation>
[282]167                <xs:sequence>
168                        <xs:element name="name" type="xs:string"></xs:element>
169                        <xs:element name="frequency" type="xs:double"></xs:element>
170                        <xs:element name="voltage" type="xs:double"></xs:element>
171                        <xs:element name="power" type="xs:double"></xs:element>
172                </xs:sequence>
173        </xs:complexType>
[234]174       
[282]175        <xs:complexType name="powerStatesType">
[296]176                <xs:annotation>
177                        <xs:documentation>Definition of supported power states</xs:documentation>
178                </xs:annotation>
179                <xs:sequence minOccurs="1" maxOccurs="unbounded">
[282]180                        <xs:element name="powerState" type="powerStateType"></xs:element>
[296]181                </xs:sequence>
[282]182        </xs:complexType>
183       
184        <xs:complexType name="powerStateType">
[296]185                <xs:annotation>
186                        <xs:documentation>Definition of the power state</xs:documentation>
187                </xs:annotation>
[282]188                <xs:sequence>
189                        <xs:element name="name" type="xs:string"></xs:element>
190                        <xs:element name="power" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element>
[299]191                        <xs:element name="transition" type="energyStatesTransitionType" minOccurs="0" maxOccurs="unbounded"></xs:element>
[282]192                </xs:sequence>
193        </xs:complexType>
194       
[293]195        <xs:complexType name="energyStatesTransitionType">
[296]196                <xs:annotation>
197                        <xs:documentation>Description of power states transtition</xs:documentation>
198                </xs:annotation>
[282]199                <xs:sequence>
[293]200                        <xs:element name="to" type="xs:string"></xs:element>
201                        <xs:element name="power" type="xs:double"></xs:element>
202                        <xs:element name="time" type="xs:double"></xs:element>
[282]203                </xs:sequence>
204        </xs:complexType>
205       
[293]206        <xs:complexType name="locationType">
[282]207                <xs:annotation>
[293]208                        <xs:documentation>Location parameters of resource</xs:documentation>
[282]209                </xs:annotation>
210                <xs:sequence>
[293]211                        <xs:element name="vertical" type="xs:long"/>
212                        <xs:element name="horizontal" type="xs:long"/>
213                        <xs:element name="depth" type="xs:long"/>
[282]214                </xs:sequence>
215        </xs:complexType>
[296]216       
[299]217        <xs:complexType name="parameterType">
[282]218                <xs:annotation>
[296]219                        <xs:documentation>Base description of parameter of resource</xs:documentation>
[282]220                </xs:annotation>
221                <xs:sequence>
[299]222                        <xs:element name="paramValue" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
[282]223                </xs:sequence>
[296]224                <xs:attribute name="name" type="xs:string" use="required"/>
[282]225        </xs:complexType>
226       
[234]227        <xs:element name="environment">
228                <xs:annotation>
[293]229                        <xs:documentation>Schema describing simulation environment</xs:documentation>
[234]230                </xs:annotation>
231                <xs:complexType>
232                        <xs:sequence>
[299]233                                <xs:element name="description" type="xs:string" minOccurs="0" ></xs:element>
[296]234                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0" maxOccurs="1">
235                                        <xs:annotation>
236                                                <xs:documentation>Specifies which plugin is used to estimate task execution time</xs:documentation>
237                                        </xs:annotation>
238                                </xs:element>
[234]239                                <xs:element name="resources">
240                                        <xs:annotation>
241                                                <xs:documentation>Description of resources</xs:documentation>
242                                        </xs:annotation>
243                                        <xs:complexType>
244                                                <xs:sequence>
[293]245                                                        <xs:element name="computingResource" type="computingResourceType" maxOccurs="unbounded"/>
[296]246                                                        <xs:element name="scheduler" type="schedulerType" maxOccurs="unbounded"/>
[234]247                                                </xs:sequence>
248                                        </xs:complexType>
249                                </xs:element>
[293]250                                <xs:element name="templates" minOccurs="0">
251                                        <xs:annotation>
[296]252                                                <xs:documentation>Definition of computing resource templates that can/will be used in resoce description section </xs:documentation>
[293]253                                        </xs:annotation>
254                                        <xs:complexType>
[296]255                                                <xs:sequence maxOccurs="unbounded">
256                                                        <xs:element name="computingResourceTemplate" type="computingResourceTemplateType"/>
[293]257                                                </xs:sequence>
258                                        </xs:complexType>
259                                </xs:element>
[234]260                        </xs:sequence>
261                </xs:complexType>
262        </xs:element>
263
264</xs:schema>
Note: See TracBrowser for help on using the repository browser.