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

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