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

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