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

Revision 282, 9.2 KB checked in by wojtekp, 13 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="computingResourceParameterType">
6                <xs:annotation>
7                        <xs:documentation>Computational resource related parameter</xs:documentation>
8                </xs:annotation>
9                <xs:complexContent>
10                        <xs:extension base="parameterType">
11                                <xs:attribute name="name" type="computingResourceParameterName" use="required"/>
12                        </xs:extension>
13                </xs:complexContent>
14        </xs:complexType>
15
16        <xs:simpleType name="computingResourceParameterName">
17                <xs:restriction base="xs:string">
18                        <xs:enumeration value="arch"/>
19                        <xs:enumeration value="memory"/>
20                        <xs:enumeration value="freememory"/>
21                        <xs:enumeration value="diskspace"/>
22                        <xs:enumeration value="freediskspace"/>
23                        <xs:enumeration value="speed"/>
24                        <xs:enumeration value="cost"/>
25                        <xs:enumeration value="load"/>
26                        <xs:enumeration value="application"/>
27                        <xs:enumeration value="osname"/>
28                        <xs:enumeration value="ostype"/>
29                        <xs:enumeration value="osversion"/>
30                        <xs:enumeration value="osrelease"/>
31                </xs:restriction>
32        </xs:simpleType>
33       
34        <!-- 
35        <xs:complexType name="logicalResourceParameterType">
36                <xs:annotation>
37                        <xs:documentation>Computational resource related parameter</xs:documentation>
38                </xs:annotation>
39                <xs:complexContent>
40                        <xs:extension base="parameterType">
41                                <xs:attribute name="name" type="logicalResourceParameterName" use="required"/>
42                        </xs:extension>
43                </xs:complexContent>
44        </xs:complexType>
45       
46        <xs:simpleType name="logicalResourceParameterName">
47                <xs:restriction base="xs:string">
48                        <xs:enumeration value="TO DO"/>
49                </xs:restriction>
50        </xs:simpleType>
51        -->
52               
53        <xs:complexType name="pStateType">
54                <xs:sequence>
55                        <xs:element name="name" type="xs:string"></xs:element>
56                        <xs:element name="frequency" type="xs:double"></xs:element>
57                        <xs:element name="voltage" type="xs:double"></xs:element>
58                        <xs:element name="power" type="xs:double"></xs:element>
59                </xs:sequence>
60        </xs:complexType>
61       
62        <xs:complexType name="pStatesType">
63                <xs:choice minOccurs="1" maxOccurs="unbounded">
64                        <xs:element name="pState" type="pStateType"></xs:element>
65                </xs:choice>
66        </xs:complexType>
67       
68        <xs:complexType name="powerStatesType">
69                <xs:choice minOccurs="1" maxOccurs="unbounded">
70                        <xs:element name="powerState" type="powerStateType"></xs:element>
71                </xs:choice>
72        </xs:complexType>
73       
74        <xs:complexType name="powerStateType">
75                <xs:sequence>
76                        <xs:element name="name" type="xs:string"></xs:element>
77                        <xs:element name="power" type="xs:double" minOccurs="0" maxOccurs="1"></xs:element>
78                </xs:sequence>
79        </xs:complexType>
80       
81        <xs:complexType name="energyParameterType">
82                <xs:annotation>
83                        <xs:documentation>Computational resource related parameter</xs:documentation>
84                </xs:annotation>
85                <xs:complexContent>
86                        <xs:extension base="parameterType">
87                                <xs:attribute name="name" type="energyParameterName" use="required"/>
88                        </xs:extension>
89                </xs:complexContent>
90        </xs:complexType>
91       
92        <xs:simpleType name="energyParameterName">
93                <xs:restriction base="xs:string">
94                        <xs:enumeration value="powerProfile"/>
95                        <xs:enumeration value="estimationPlugin"/>
96                </xs:restriction>
97        </xs:simpleType>
98       
99        <xs:complexType name="energyEstimationPluginType">
100                <xs:annotation>
101                        <xs:documentation>Computational resource related parameter</xs:documentation>
102                </xs:annotation>
103                <xs:sequence>
104                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
105                        <xs:choice minOccurs="0" maxOccurs="unbounded">
106                                <xs:element name="energyParameter" type="energyParameterType"></xs:element>
107                        </xs:choice>
108                </xs:sequence>
109        </xs:complexType>
110       
111                <xs:complexType name="energyProfileType">
112                <xs:annotation>
113                        <xs:documentation>Computational resource related parameter</xs:documentation>
114                </xs:annotation>
115                <xs:sequence>
116                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
117                        <xs:choice minOccurs="0" maxOccurs="unbounded">
118                                <xs:element name="pStates" type="pStatesType"></xs:element>
119                                <xs:element name="powerStates" type="powerStatesType"></xs:element>
120                                <xs:element name="energyParameter" type="energyParameterType"></xs:element>
121                        </xs:choice>
122                </xs:sequence>
123        </xs:complexType>
124       
125        <xs:complexType name="schedulingPluginType">
126                <xs:annotation>
127                        <xs:documentation>Computational resource related parameter</xs:documentation>
128                </xs:annotation>
129                <xs:sequence>
130                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
131                        <xs:element name="frequency" type="xs:integer" minOccurs="0" maxOccurs="1"></xs:element>
132                </xs:sequence>
133        </xs:complexType>
134       
135        <xs:complexType name="schedulingParameterType">
136                <xs:annotation>
137                        <xs:documentation>Scheduling resource related parameter</xs:documentation>
138                </xs:annotation>
139                <xs:complexContent>
140                        <xs:extension base="parameterType">
141                                <xs:attribute name="name" type="schedulingParameterName" use="required"/>
142                        </xs:extension>
143                </xs:complexContent>
144        </xs:complexType>
145       
146        <xs:simpleType name="schedulingParameterName">
147                <xs:restriction base="xs:string">
148                        <xs:enumeration value="frequency"/>
149                </xs:restriction>
150        </xs:simpleType>
151       
152        <xs:complexType name="otherParameterType">
153                <xs:annotation>
154                        <xs:documentation>Dynamically defined parameter of resource</xs:documentation>
155                </xs:annotation>
156                <xs:complexContent>
157                        <xs:extension base="parameterType">
158                                <xs:attribute name="name" type="xs:string" use="required"/>
159                                <xs:attribute name="endpoint" type="xs:string" use="optional"/>
160                        </xs:extension>
161                </xs:complexContent>
162        </xs:complexType>
163       
164        <xs:complexType name="parameterType">
165                <xs:annotation>
166                        <xs:documentation>Description of parameter of resource</xs:documentation>
167                </xs:annotation>
168                <xs:sequence>
169                        <xs:element name="paramValue" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
170                        <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
171                                <xs:complexType>
172                                        <xs:sequence>
173                                                <xs:element name="value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
174                                        </xs:sequence>
175                                        <xs:attribute name="name" type="xs:string" use="required"/>
176                                        <xs:attribute name="exclude" type="xs:boolean" use="optional" default="false"/>
177                                </xs:complexType>
178                        </xs:element>
179                </xs:sequence>
180        </xs:complexType>
181       
182        <xs:complexType name="managedComputingResourceType">
183                <xs:annotation>
184                        <xs:documentation>Computing resource</xs:documentation>
185                </xs:annotation>
186
187                                <xs:choice minOccurs="0" maxOccurs="1">
188                                        <xs:element name="associatedComputingResource" type="xs:string"></xs:element>
189                                        <xs:element name="listOfManagedResources" type="resourceList"></xs:element>
190                                </xs:choice>
191        </xs:complexType>
192       
193        <xs:complexType name="resourceList">
194                <xs:choice minOccurs="0" maxOccurs="unbounded">
195                        <xs:element name="resourceId" type="xs:string"></xs:element>
196                </xs:choice>
197        </xs:complexType>
198       
199        <xs:complexType name="computingResourceType">
200                <xs:annotation>
201                        <xs:documentation>Computing resource</xs:documentation>
202                </xs:annotation>
203                <xs:complexContent>
204                        <xs:extension base="resource">
205                                <xs:choice minOccurs="0" maxOccurs="unbounded">
206                                        <xs:element name="computingResource" type="computingResourceType"></xs:element>
207                                        <xs:element name="resourceParameter" type="computingResourceParameterType"></xs:element>
208                                        <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType"></xs:element>
209                                        <xs:element name="energyProfile" type="energyProfileType"></xs:element>
210                                        <xs:element name="otherParameter" type="otherParameterType"/>
211                                </xs:choice>
212                        </xs:extension>
213                </xs:complexContent>
214        </xs:complexType>
215       
216        <xs:complexType name="schedulerType">
217                <xs:annotation>
218                        <xs:documentation>Computing resource</xs:documentation>
219                </xs:annotation>
220                <xs:complexContent>
221                        <xs:extension base="resource">
222                        <xs:sequence minOccurs="0" maxOccurs="1">
223                                <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="1"></xs:element>
224                                <xs:choice minOccurs="0" maxOccurs="unbounded">
225                                        <xs:element name="scheduler" type="schedulerType"></xs:element>
226                                        <xs:element name="managedComputingResource" type="managedComputingResourceType" minOccurs="0" maxOccurs="1"></xs:element>
227                                        <xs:element name="schedulingParameter" type="schedulingParameterType" minOccurs="0" maxOccurs="1"></xs:element>
228                                </xs:choice>
229                        </xs:sequence>
230                        </xs:extension>
231                </xs:complexContent>
232        </xs:complexType>
233
234        <xs:complexType name="resource">
235                <xs:attribute name="resourceType" type="xs:string" use="required" />
236                <xs:attribute name="resourceId" type="xs:string" use="optional" />
237                <xs:attribute name="count" type="xs:integer" use="optional" />
238        </xs:complexType>
239
240        <xs:element name="environment">
241                <xs:annotation>
242                        <xs:documentation>Schema describing simulation environment
243                        </xs:documentation>
244                </xs:annotation>
245                <xs:complexType>
246                        <xs:sequence>
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>
253                                                        <xs:element name="computingResource" type="computingResourceType" maxOccurs="unbounded">
254                                                        </xs:element>
255                                                        <xs:element name="scheduler" type="schedulerType" minOccurs="0">
256                                                        </xs:element>
257                                                </xs:sequence>
258                                        </xs:complexType>
259                                </xs:element>
260                        </xs:sequence>
261                </xs:complexType>
262        </xs:element>
263
264</xs:schema>
Note: See TracBrowser for help on using the repository browser.