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

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