source: DCWoRMS/branches/coolemall/src/test/DEBBTranslator/xml/DEBBComponents.xsd @ 939

Revision 939, 17.3 KB checked in by gosiaw, 12 years ago (diff)

New DEBBComponent schema from HLRS from 7.03.2013.

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