source: DCWoRMS/branches/coolemall/src/test/appProfConverter/resources/DEBBComponents.xsd @ 1333

Revision 1333, 18.4 KB checked in by wojtekp, 11 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
3        xmlns:xsd_1="http://www.coolemall.eu/DEBBComponent" targetNamespace="http://www.coolemall.eu/DEBBComponent">
4
5        <xsd:complexType name="ConnectorType">
6                <xsd:sequence>
7                        <xsd:element name="Number" type="xsd:int" minOccurs="0"
8                                maxOccurs="1">
9                                <xsd:annotation>
10                                        <xsd:documentation>
11                                                The number is only necessary for describing
12                                                slots but not the "Uplink" connector
13                                        </xsd:documentation>
14                                </xsd:annotation>
15                        </xsd:element>
16                        <xsd:element name="ConnectorType" type="xsd:string"
17                                minOccurs="1" maxOccurs="1">
18                        </xsd:element>
19                        <xsd:element name="Label" type="xsd:string" minOccurs="1"
20                                maxOccurs="1">
21                        </xsd:element>
22                        <xsd:element name="Transform" type="xsd:string"
23                                minOccurs="0" maxOccurs="1">
24                                <xsd:annotation>
25                                        <xsd:documentation>The transform element contains relative position
26                                                and rotations. It might be the same transform syntax than in
27                                                PLMXML but depend on our needs.</xsd:documentation>
28                                </xsd:annotation>
29                        </xsd:element>
30                        <xsd:element name="AvailSpace" type="xsd:string"
31                                minOccurs="0" maxOccurs="1">
32                                <xsd:annotation>
33                                        <xsd:documentation>
34                                                Size as space separated string with max XYZ     sizes
35                                        </xsd:documentation>
36                                </xsd:annotation>
37                        </xsd:element>
38                </xsd:sequence>
39        </xsd:complexType>
40
41        <xsd:complexType name="CoolingDeviceType">
42                <xsd:complexContent>
43                        <xsd:extension base="xsd_1:DEBBComplexType">
44                                <xsd:sequence>
45                                        <xsd:element name="Class">
46                                                <xsd:simpleType>
47                                                        <xsd:restriction base="xsd:string">
48                                                                <xsd:enumeration value="Fan"></xsd:enumeration>
49                                                                <xsd:enumeration value="Refrigeration">
50                                                                </xsd:enumeration>
51                                                                <xsd:enumeration value="Heatpipe"></xsd:enumeration>
52                                                                <xsd:enumeration value="ILC"></xsd:enumeration>
53                                                                <xsd:enumeration value="LCU"></xsd:enumeration>
54                                                                <xsd:enumeration value="CRAH"></xsd:enumeration>
55                                                                <xsd:enumeration value="HVAC"></xsd:enumeration>
56                                                        </xsd:restriction>
57                                                </xsd:simpleType>
58                                        </xsd:element>
59                                        <xsd:element minOccurs="0" name="MaxCoolingCapacity"
60                                                type="xsd:decimal" />
61                                        <xsd:element minOccurs="0" name="MaxAirThroughput"
62                                                type="xsd:decimal" />
63                                        <xsd:element minOccurs="0" name="MaxWaterThroughput"
64                                                type="xsd:decimal" />
65                                        <xsd:element name="AirThroughputProfile" type="xsd_1:FlowProfileType"
66                                                maxOccurs="1" minOccurs="0"></xsd:element>
67                                        <xsd:element name="WaterThroughputProfile" type="xsd_1:FlowProfileType"
68                                                maxOccurs="1" minOccurs="0"></xsd:element>
69                                </xsd:sequence>
70                        </xsd:extension>
71                </xsd:complexContent>
72        </xsd:complexType>
73
74        <xsd:complexType name="CStateType">
75                <xsd:sequence>
76                        <xsd:element name="State" type="xsd:int" />
77                        <xsd:element name="PowerUsage" type="xsd:double" />
78                </xsd:sequence>
79        </xsd:complexType>
80
81        <xsd:complexType name="DEBBComplexType">
82                <xsd:annotation>
83                        <xsd:documentation>DEBBComplexType described the more complex parts
84                                in comparison to DEBBPhysicalElementsType like power supplies,
85                                cooling devices, etc</xsd:documentation>
86                </xsd:annotation>
87                <xsd:complexContent>
88                        <xsd:extension base="xsd_1:DEBBSimpleType">
89                                <xsd:sequence>
90                                        <xsd:element name="Inlet" type="xsd_1:OutletType"
91                                                maxOccurs="unbounded" minOccurs="0">
92                                        </xsd:element>
93                                        <xsd:element name="Outlet" type="xsd_1:OutletType"
94                                                maxOccurs="unbounded" minOccurs="0">
95                                        </xsd:element>
96                                        <xsd:element name="Heatsink" type="xsd_1:HeatsinkType"
97                                                maxOccurs="unbounded" minOccurs="0">
98                                        </xsd:element>
99                                        <xsd:element name="Sensor" type="xsd_1:SensorType"
100                                                maxOccurs="unbounded" minOccurs="0">
101                                        </xsd:element>
102                                        <xsd:element name="Network" type="xsd_1:NetworkType"
103                                                minOccurs="0" maxOccurs="unbounded"></xsd:element>
104                                </xsd:sequence>
105                        </xsd:extension>
106                </xsd:complexContent>
107        </xsd:complexType>
108
109
110        <xsd:complexType name="DEBBComponentType">
111                <xsd:annotation>
112                        <xsd:documentation>
113                                DEBBComponent is used to represent exactly one DEBB
114                                Component as it is used in the project and references by
115                                its own ComponentID. In opposite to DEBBPhysicalElement
116                                but is not referenced at all since this would lead to a
117                                much more complex simulation. Examples for
118                                DEBBComponents: Any model of
119                                Node/NodeGroup/Rack/ServerRoom/PowerSupply/CoolingDevice/Fan/Sensor/...
120                        </xsd:documentation>
121                </xsd:annotation>
122                <xsd:complexContent>
123                        <xsd:extension base="xsd_1:DEBBComplexType">
124                                <xsd:sequence>
125                                        <xsd:element name="Connector" type="xsd_1:ConnectorType"
126                                                minOccurs="0" maxOccurs="1">
127                                        </xsd:element>
128                                        <xsd:element name="Slot" type="xsd_1:ConnectorType"
129                                                minOccurs="0" maxOccurs="unbounded">
130                                        </xsd:element>
131                                        <xsd:element name="Size" type="xsd:string" minOccurs="0"
132                                                maxOccurs="1">
133                                                <xsd:annotation>
134                                                        <xsd:documentation>
135                                                                Size as space separated string with XYZ sizes
136                                                        </xsd:documentation>
137                                                </xsd:annotation>
138                                        </xsd:element>
139                                </xsd:sequence>
140                        </xsd:extension>
141                </xsd:complexContent>
142        </xsd:complexType>
143
144        <xsd:complexType name="DEBBPhysicalElementType">
145                <xsd:annotation>
146                        <xsd:documentation>DEBBPhysicalElementType is the basic type for all
147                                physical existing parts.
148                                Examples for DEBBPhysical ElementTypes but not DEBBComplexTypes (memory
149                                module, shelves, ...) which might also have a power consumption
150                                (normally static)
151                                These modules are directly derived from DEBBPhysicalElementType since no
152                                additional definition is needed.
153                        </xsd:documentation>
154                </xsd:annotation>
155                <xsd:sequence>
156                        <xsd:element name="ComponentId" type="xsd:string"
157                                maxOccurs="1" minOccurs="0">
158                        </xsd:element>
159                        <xsd:element name="Label" type="xsd:string" minOccurs="0"
160                                maxOccurs="1">
161                        </xsd:element>
162                        <xsd:element name="Manufacturer" type="xsd:string"
163                                maxOccurs="1" minOccurs="0" />
164                        <xsd:element name="Product" type="xsd:string" maxOccurs="1"
165                                minOccurs="0" />
166                        <xsd:element name="MaxPower" type="xsd:float" maxOccurs="1"
167                                minOccurs="0">
168                                <xsd:annotation>
169                                        <xsd:documentation>
170                                                MaxPowerUsage is the theoretical limit of power
171                                                consumption and may used for designing
172                                        </xsd:documentation>
173                                </xsd:annotation>
174                        </xsd:element>
175                        <xsd:choice>
176                                <xsd:element name="PowerUsage" type="xsd:double" minOccurs="0" maxOccurs="1"></xsd:element>
177                                <xsd:element name="PowerUsageState"
178                                        type="xsd_1:FlowStateType" minOccurs="0" maxOccurs="1">
179                                </xsd:element>
180                                <xsd:element name="PowerUsageProfile"
181                                        type="xsd_1:FlowProfileType" minOccurs="0" maxOccurs="1">
182                                </xsd:element>
183                        </xsd:choice>
184                        <xsd:element name="Type" type="xsd:string" minOccurs="0"
185                                maxOccurs="1">
186                                <xsd:annotation>
187                                        <xsd:documentation>
188                                                The type element might be used to specify a type
189                                                for the module, i.e. for memory DDR/DDR2, for
190                                                CPU architecture name etc. It has only
191                                                informational character.
192                                        </xsd:documentation>
193                                </xsd:annotation>
194                        </xsd:element>
195                </xsd:sequence>
196        </xsd:complexType>
197
198        <xsd:complexType name="DEBBSimpleType">
199                <xsd:annotation>
200                        <xsd:documentation>
201                                SimpleType describes all distinct devices for CAD, so
202                                where Transform and id/name are necessary. On the other
203                                side the memory or CPU are nor relevant for that.
204                        </xsd:documentation>
205                </xsd:annotation>
206                <xsd:complexContent>
207                        <xsd:extension base="xsd_1:DEBBPhysicalElementType">
208                                <xsd:sequence>
209                                        <xsd:element name="Transform" type="xsd:string"
210                                                minOccurs="0" maxOccurs="1">
211                                                <xsd:annotation>
212                                                        <xsd:documentation>The Transform tag is necessary for all part
213                                                                which are located within a Component i.e. fans within a RECS or
214                                                                sensors or. For The "root object of a DEBB it is not used.
215                                                                For all parts at a fixed position within the DEBB (fans, sensors,
216                                                                etc.) this is the transform matrix relative to the DEBB origin.
217                                                                For DEBBComponents this is the relative position of the
218                                                                connector to the DEBB's origin. By "adding" the relative
219                                                                transforms the resulting transform can be directly used for
220                                                                PLMXML.
221                                                        </xsd:documentation>
222                                                </xsd:annotation>
223                                        </xsd:element>
224                                        <xsd:element name="Reference" type="xsd_1:ReferenceType"
225                                                minOccurs="0" maxOccurs="unbounded"></xsd:element>
226                                </xsd:sequence>
227                        </xsd:extension>
228                </xsd:complexContent>
229        </xsd:complexType>
230
231        <xsd:complexType name="FlowProfileType">
232                <xsd:annotation>
233                        <xsd:documentation>FlowProfile describes any sort of flow (air,
234                                liquid, energy, ...) including different discrete states and
235                                possible transitions since they all have the same characteristic
236                                attributes. If there are now significant transition times/energy
237                                consumptions they are simple omitted</xsd:documentation>
238                </xsd:annotation>
239                <xsd:sequence>
240                        <xsd:element name="Name" type="xsd:string" minOccurs="0"
241                                maxOccurs="1"></xsd:element>
242                        <xsd:element name="FlowState" type="xsd_1:FlowStateType"
243                                minOccurs="1" maxOccurs="unbounded" />
244                </xsd:sequence>
245        </xsd:complexType>
246
247        <xsd:complexType name="FlowStateType">
248                <xsd:annotation>
249                        <xsd:documentation>FlowStateType describes any kind of flow (air,
250                                liquid, power, ...) and assumes that for maintaining the flow a
251                                certain power usage is necessary.
252                                For power supply units only the power which is used for
253                                creating/transforming the power flow is counted as PowerUsage, but
254                                not the power provided. So adding all PowerUsages will show the
255                                overall consumption
256                        </xsd:documentation>
257                </xsd:annotation>
258                <xsd:sequence>
259                        <xsd:element name="State" type="xsd:string"></xsd:element>
260                        <xsd:element name="Flow" type="xsd:double" maxOccurs="1"
261                                minOccurs="0">
262                        </xsd:element>
263                        <xsd:element name="PowerUsage" type="xsd:double"
264                                maxOccurs="1" minOccurs="0">
265                        </xsd:element>
266                </xsd:sequence>
267        </xsd:complexType>
268
269        <xsd:complexType name="HeatsinkType">
270                <xsd:complexContent>
271                        <xsd:extension base="xsd_1:DEBBSimpleType">
272                                <xsd:sequence>
273                                        <xsd:element name="TransferRate" type="xsd:float"
274                                                minOccurs="0" maxOccurs="1"></xsd:element>
275                                </xsd:sequence>
276                        </xsd:extension>
277                </xsd:complexContent>
278        </xsd:complexType>
279
280        <xsd:complexType name="MemoryType">
281                <xsd:complexContent>
282                        <xsd:extension base="xsd_1:DEBBPhysicalElementType">
283                                <xsd:sequence>
284                                        <!-- Size of Capacity in MB -->
285                                        <xsd:element name="Capacity" type="xsd:unsignedInt" />
286                                        <xsd:element name="Interface" type="xsd:string"
287                                                minOccurs="0" maxOccurs="1"></xsd:element>
288                                </xsd:sequence>
289                        </xsd:extension>
290                </xsd:complexContent>
291        </xsd:complexType>
292
293        <xsd:complexType name="NetworkType">
294                <xsd:complexContent>
295                        <xsd:extension base="xsd_1:DEBBPhysicalElementType">
296                                <xsd:sequence>
297                                        <xsd:element name="Interface" type="xsd:string"
298                                                minOccurs="0" maxOccurs="1">
299                                                <xsd:annotation>
300                                                        <xsd:documentation>Physical Interface description like fibre,
301                                                                twisted pair, etc.</xsd:documentation>
302                                                </xsd:annotation>
303                                        </xsd:element>
304                                        <xsd:element name="Technology" type="xsd:string"
305                                                minOccurs="0" maxOccurs="1">
306                                                <xsd:annotation>
307                                                        <xsd:documentation>10GE, IB QDR etc.</xsd:documentation>
308                                                </xsd:annotation>
309                                        </xsd:element>
310                                        <xsd:element name="MaxBandwidth" type="xsd:int"
311                                                minOccurs="0" maxOccurs="1">
312                                                <xsd:annotation>
313                                                        <xsd:documentation>Bandwidth as number in bit/s
314                                                        </xsd:documentation>
315                                                </xsd:annotation>
316                                        </xsd:element>
317                                </xsd:sequence>
318                        </xsd:extension>
319                </xsd:complexContent>
320        </xsd:complexType>
321
322        <xsd:complexType name="NodeType">
323                <xsd:complexContent>
324                        <xsd:extension base="xsd_1:DEBBComponentType">
325                                <xsd:sequence>
326                                        <xsd:element name="Baseboard" type="xsd_1:DEBBPhysicalElementType" />
327                                        <xsd:element name="Processor" maxOccurs="unbounded"
328                                                type="xsd_1:ProcessorType" />
329                                        <xsd:element name="Memory" maxOccurs="unbounded" type="xsd_1:MemoryType" />
330                                </xsd:sequence>
331                        </xsd:extension>
332                </xsd:complexContent>
333        </xsd:complexType>
334
335        <xsd:complexType name="OutletType">
336                <xsd:complexContent>
337                        <xsd:extension base="xsd_1:DEBBSimpleType">
338                                <xsd:sequence>
339                                        <xsd:element name="MaxRPM" type="xsd:int" minOccurs="0"
340                                                maxOccurs="1"></xsd:element>
341                                </xsd:sequence>
342                        </xsd:extension>
343                </xsd:complexContent>
344        </xsd:complexType>
345
346        <xsd:complexType name="PowerSupplyType">
347                <xsd:complexContent>
348                        <xsd:extension base="xsd_1:DEBBComplexType">
349                                <xsd:sequence>
350                                        <xsd:element name="Class">
351                                                <xsd:simpleType>
352                                                        <xsd:restriction base="xsd:string">
353                                                                <xsd:enumeration value="PSU"></xsd:enumeration>
354                                                                <xsd:enumeration value="UPS"></xsd:enumeration>
355                                                                <xsd:enumeration value="PDU"></xsd:enumeration>
356                                                                <xsd:enumeration value="MVLVTransformer"></xsd:enumeration>
357                                                        </xsd:restriction>
358                                                </xsd:simpleType>
359                                        </xsd:element>
360                                        <!-- maximum output power of the PowerSupply metered in miliWatt -->
361                                        <xsd:element name="TotalOutputPower" type="xsd:decimal" />
362                                        <xsd:element name="Efficiency" type="xsd:int"></xsd:element>
363                                        <xsd:element name="PowerProfile" type="xsd_1:FlowProfileType"
364                                                maxOccurs="1" minOccurs="0"></xsd:element>
365                                </xsd:sequence>
366                        </xsd:extension>
367                </xsd:complexContent>
368        </xsd:complexType>
369
370        <xsd:complexType name="ProcessorType">
371                <xsd:complexContent>
372                        <xsd:extension base="xsd_1:DEBBPhysicalElementType">
373                                <xsd:sequence>
374                                        <!-- Maximum Clockfrequency of CPU in MHz</xsd:documentation></xsd:annotation -->
375                                        <xsd:element name="MaxClockSpeed" type="xsd:unsignedInt" />
376                                        <xsd:element name="Cores" type="xsd:int" maxOccurs="1"
377                                                minOccurs="0"></xsd:element>
378                                        <xsd:element name="PState" type="xsd_1:PStateType"
379                                                minOccurs="0" maxOccurs="unbounded">
380                                        </xsd:element>
381                                        <xsd:element name="CState" type="xsd_1:CStateType"
382                                                minOccurs="0" maxOccurs="unbounded">
383                                        </xsd:element>
384                                        <xsd:element name="TDP" type="xsd:float" minOccurs="0"
385                                                maxOccurs="1">
386                                        </xsd:element>
387                                </xsd:sequence>
388                        </xsd:extension>
389                </xsd:complexContent>
390        </xsd:complexType>
391
392        <xsd:complexType name="PStateType">
393                <xsd:sequence>
394                        <xsd:element name="State" type="xsd:int" />
395                        <xsd:element name="Frequency" type="xsd:double" />
396                        <xsd:element name="Voltage" type="xsd:double" />
397                        <xsd:element name="PowerUsageMin" type="xsd:double" />
398                        <xsd:element name="PowerUsageMax" type="xsd:double" />
399                </xsd:sequence>
400        </xsd:complexType>
401
402        <xsd:complexType name="ReferenceType">
403                <xsd:annotation>
404                        <xsd:documentation>
405                                ReferenceType describes references to external files
406                                like STL, VRML, etc. and consists of a type and path.
407                        </xsd:documentation>
408                </xsd:annotation>
409                <xsd:sequence>
410                        <xsd:element name="Type" type="xsd:string" minOccurs="1"
411                                maxOccurs="1">
412                        </xsd:element>
413                        <xsd:element name="Location" type="xsd:string" minOccurs="1"
414                                maxOccurs="1"></xsd:element>
415                </xsd:sequence>
416        </xsd:complexType>
417
418        <xsd:complexType name="SensorType">
419                <xsd:complexContent>
420                        <xsd:extension base="xsd_1:DEBBSimpleType">
421                                <xsd:sequence>
422                                        <xsd:element name="Class">
423                                                <xsd:simpleType>
424                                                        <xsd:restriction base="xsd:string">
425                                                                <xsd:enumeration value="Temperature"></xsd:enumeration>
426                                                                <xsd:enumeration value="Voltage"></xsd:enumeration>
427                                                                <xsd:enumeration value="Power"></xsd:enumeration>
428                                                                <xsd:enumeration value="Humidity"></xsd:enumeration>
429                                                                <xsd:enumeration value="Throughput"></xsd:enumeration>
430                                                                <xsd:enumeration value="Velocity"></xsd:enumeration>
431                                                        </xsd:restriction>
432                                                </xsd:simpleType>
433                                        </xsd:element>
434                                        <xsd:element name="Unit">
435                                                <xsd:annotation>
436                                                        <xsd:documentation>Only basic units should be used. For later
437                                                                development other units can be used then the Factor should be
438                                                                added.</xsd:documentation>
439                                                </xsd:annotation>
440                                                <xsd:simpleType>
441                                                        <xsd:restriction base="xsd:string">
442                                                                <xsd:enumeration value="°C"></xsd:enumeration>
443                                                                <xsd:enumeration value="V"></xsd:enumeration>
444                                                                <xsd:enumeration value="mV"></xsd:enumeration>
445                                                                <xsd:enumeration value="kV"></xsd:enumeration>
446                                                                <xsd:enumeration value="W"></xsd:enumeration>
447                                                                <xsd:enumeration value="mW"></xsd:enumeration>
448                                                                <xsd:enumeration value="kW"></xsd:enumeration>
449                                                                <xsd:enumeration value="MW"></xsd:enumeration>
450                                                                <xsd:enumeration value="%"></xsd:enumeration>
451                                                                <xsd:enumeration value="l/sec"></xsd:enumeration>
452                                                                <xsd:enumeration value="l/min"></xsd:enumeration>
453                                                                <xsd:enumeration value="l/h"></xsd:enumeration>
454                                                                <xsd:enumeration value="m3/min"></xsd:enumeration>
455                                                                <xsd:enumeration value="m3/h"></xsd:enumeration>
456                                                                <xsd:enumeration value="m/s"></xsd:enumeration>
457                                                                <xsd:enumeration value="km/h"></xsd:enumeration>
458                                                        </xsd:restriction>
459                                                </xsd:simpleType>
460                                        </xsd:element>
461                                        <xsd:element name="MinValue" type="xsd:float"
462                                                maxOccurs="1" minOccurs="0">
463                                        </xsd:element>
464                                        <xsd:element name="MaxValue" type="xsd:float"
465                                                maxOccurs="1" minOccurs="0">
466                                        </xsd:element>
467                                        <xsd:element name="Factor" type="xsd:float" maxOccurs="1"
468                                                minOccurs="0">
469                                                <xsd:annotation>
470                                                        <xsd:documentation>Factor is just the multiplier between the
471                                                                currently used unit and the basic unit (i.e. litre to cubic
472                                                                meter)</xsd:documentation>
473                                                </xsd:annotation>
474                                        </xsd:element>
475                                        <xsd:element name="Accuracy" type="xsd:float"
476                                                maxOccurs="1" minOccurs="0">
477                                        </xsd:element>
478                                        <xsd:element name="Input" type="xsd:boolean">
479                                                <xsd:annotation>
480                                                        <xsd:documentation>Input is a flag describing that a sensors is a
481                                                                input value for the simulation or not. for example heat sources
482                                                                can be seen an sources without any output afterwards. Other
483                                                                sensors migth be added for extracting results at the end of the
484                                                                simulation.</xsd:documentation>
485                                                </xsd:annotation>
486                                        </xsd:element>
487                                </xsd:sequence>
488                        </xsd:extension>
489                </xsd:complexContent>
490        </xsd:complexType>
491
492        <xsd:element name="Node" type="xsd_1:NodeType"></xsd:element>
493        <xsd:element name="NodeGroup" type="xsd_1:DEBBComponentType"></xsd:element>
494        <xsd:element name="ComputeBox1" type="xsd_1:DEBBComponentType"></xsd:element>
495        <xsd:element name="ComputeBox2" type="xsd_1:DEBBComponentType"></xsd:element>
496        <xsd:element name="PowerSupply" type="xsd_1:PowerSupplyType"></xsd:element>
497        <xsd:element name="CoolingDevice" type="xsd_1:CoolingDeviceType"></xsd:element>
498        <xsd:element name="Inlet" type="xsd_1:OutletType"></xsd:element>
499        <xsd:element name="Outlet" type="xsd_1:OutletType"></xsd:element>
500        <xsd:element name="Heatsink" type="xsd_1:HeatsinkType"></xsd:element>
501        <xsd:element name="Sensor" type="xsd_1:SensorType"></xsd:element>
502
503</xsd:schema>
Note: See TracBrowser for help on using the repository browser.