Index: DCWoRMS/branches/coolemall/src/test/DEBBTranslator/xml/DEBBComponents.xsd
===================================================================
--- DCWoRMS/branches/coolemall/src/test/DEBBTranslator/xml/DEBBComponents.xsd	(revision 939)
+++ DCWoRMS/branches/coolemall/src/test/DEBBTranslator/xml/DEBBComponents.xsd	(revision 1086)
@@ -10,5 +10,5 @@
 					<xsd:documentation>
 						The number is only necessary for describing
-						slots but nut the "uplink" connector
+						slots but not the "Uplink" connector
 					</xsd:documentation>
 				</xsd:annotation>
@@ -20,8 +20,12 @@
 				maxOccurs="1">
 			</xsd:element>
-			<xsd:element name="Transform" type="xsd:string" minOccurs="0" maxOccurs="1">
+			<xsd:element name="Transform" type="xsd:string"
+				minOccurs="0" maxOccurs="1">
 				<xsd:annotation>
-					<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>
-				</xsd:annotation></xsd:element>
+					<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>
+				</xsd:annotation>
+			</xsd:element>
 			<xsd:element name="AvailSpace" type="xsd:string"
 				minOccurs="0" maxOccurs="1">
@@ -76,8 +80,10 @@
 
 	<xsd:complexType name="DEBBComplexType">
-        <xsd:annotation>
-        	<xsd:documentation>DEBBComplexType described the more complex parts in comparison to DEBBPhysicalElementsType like power supplies, cooling devices, etc</xsd:documentation>
-        </xsd:annotation>
-        <xsd:complexContent>
+		<xsd:annotation>
+			<xsd:documentation>DEBBComplexType described the more complex parts
+				in comparison to DEBBPhysicalElementsType like power supplies,
+				cooling devices, etc</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
 			<xsd:extension base="xsd_1:DEBBSimpleType">
 				<xsd:sequence>
@@ -85,17 +91,18 @@
 						maxOccurs="unbounded" minOccurs="0">
 					</xsd:element>
-					<xsd:element name="Heatsink"
-						type="xsd_1:HeatsinkType" maxOccurs="unbounded"
-						minOccurs="0">
+					<xsd:element name="Heatsink" type="xsd_1:HeatsinkType"
+						maxOccurs="unbounded" minOccurs="0">
 					</xsd:element>
 					<xsd:element name="Sensor" type="xsd_1:SensorType"
 						maxOccurs="unbounded" minOccurs="0">
 					</xsd:element>
-				</xsd:sequence>
-			</xsd:extension>
-		</xsd:complexContent>
-	</xsd:complexType>
-
-	
+					<xsd:element name="Network" type="xsd_1:NetworkType"
+						minOccurs="0" maxOccurs="unbounded"></xsd:element>
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+
 	<xsd:complexType name="DEBBComponentType">
 		<xsd:annotation>
@@ -131,102 +138,128 @@
 		</xsd:complexContent>
 	</xsd:complexType>
-	
+
 	<xsd:complexType name="DEBBPhysicalElementType">
-        <xsd:annotation>
-        	<xsd:documentation>DEBBPhysicalElementType is the basic type for all physical existing parts. 
-Examples for DEBBPhysical ElementTypes but not DEBBComplexTypes (memory module, shelves, ...) which might also have a power consumption (normally static)
-These modules are directly derived from DEBBPhysicalElementType since no additional definition is needed.</xsd:documentation>
-        </xsd:annotation>
-        <xsd:sequence>
-        	<xsd:element name="ComponentId" type="xsd:string"
-        		maxOccurs="1" minOccurs="0">
-        	</xsd:element>
-        	<xsd:element name="Label" type="xsd:string" minOccurs="0"
-        		maxOccurs="1">
-        	</xsd:element>
-        	<xsd:element name="Manufacturer" type="xsd:string"
-        		maxOccurs="1" minOccurs="0" />
-        	<xsd:element name="Product" type="xsd:string" maxOccurs="1"
-        		minOccurs="0" />
-        	<xsd:element name="MaxPower" type="xsd:float" maxOccurs="1"
-        		minOccurs="0">
-        		<xsd:annotation>
-        			<xsd:documentation>
-        				MaxPowerUsage is the theoretical limit of power
-        				consumption and may used for designing
-        			</xsd:documentation>
-        		</xsd:annotation>
-        	</xsd:element>
-        	<xsd:choice>
-        		<xsd:element name="PowerUsage" type="xsd:float" minOccurs="0" maxOccurs="1"></xsd:element>
-	        	<xsd:element name="PowerUsageProfile"
-	        		type="xsd_1:FlowProfileType" minOccurs="0" maxOccurs="1">
-	        	</xsd:element>
-        	</xsd:choice>
-        	<xsd:element name="Type" type="xsd:string" minOccurs="0"
-        		maxOccurs="1">
-        		<xsd:annotation>
-        			<xsd:documentation>
-        				The type element might be used to specify a type
-        				for the module, i.e. for memory DDR/DDR2, for
-        				CPU architecture name etc. It has only
-        				informational character.
-        			</xsd:documentation>
-        		</xsd:annotation>
-        	</xsd:element>
-       	
-        </xsd:sequence>
-	</xsd:complexType>
-
-    <xsd:complexType name="DEBBSimpleType">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			SimpleType describes all distinct devices for CAD, so
-    			where Transform and id/name are necessary. On the other
-    			side the memory or cpu are nor relevant for that.
-    		</xsd:documentation>
-    	</xsd:annotation>
-    	<xsd:complexContent>
-    		<xsd:extension base="xsd_1:DEBBPhysicalElementType">
-    			<xsd:sequence>
-    				<xsd:element name="Transform" type="xsd:string"
-    					minOccurs="0" maxOccurs="1">
-    					<xsd:annotation>
-    						<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.
-For 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.
-    						</xsd:documentation>
-    					</xsd:annotation>
-    				</xsd:element>
-    				<xsd:element name="Reference" type="xsd_1:ReferenceType" minOccurs="0" maxOccurs="unbounded"></xsd:element>
-    			</xsd:sequence>
-    		</xsd:extension>
-    	</xsd:complexContent>
-    </xsd:complexType>
+		<xsd:annotation>
+			<xsd:documentation>DEBBPhysicalElementType is the basic type for all
+				physical existing parts.
+				Examples for DEBBPhysical ElementTypes but not DEBBComplexTypes (memory
+				module, shelves, ...) which might also have a power consumption
+				(normally static)
+				These modules are directly derived from DEBBPhysicalElementType since no
+				additional definition is needed.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="ComponentId" type="xsd:string"
+				maxOccurs="1" minOccurs="0">
+			</xsd:element>
+			<xsd:element name="Label" type="xsd:string" minOccurs="0"
+				maxOccurs="1">
+			</xsd:element>
+			<xsd:element name="Manufacturer" type="xsd:string"
+				maxOccurs="1" minOccurs="0" />
+			<xsd:element name="Product" type="xsd:string" maxOccurs="1"
+				minOccurs="0" />
+			<xsd:element name="MaxPower" type="xsd:float" maxOccurs="1"
+				minOccurs="0">
+				<xsd:annotation>
+					<xsd:documentation>
+						MaxPowerUsage is the theoretical limit of power
+						consumption and may used for designing
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+			<xsd:choice>
+				<xsd:element name="PowerUsage" type="xsd:double" minOccurs="0" maxOccurs="1"></xsd:element>
+				<xsd:element name="PowerUsageState"
+					type="xsd_1:FlowStateType" minOccurs="0" maxOccurs="1">
+				</xsd:element>
+				<xsd:element name="PowerUsageProfile"
+					type="xsd_1:FlowProfileType" minOccurs="0" maxOccurs="1">
+				</xsd:element>
+			</xsd:choice>
+			<xsd:element name="Type" type="xsd:string" minOccurs="0"
+				maxOccurs="1">
+				<xsd:annotation>
+					<xsd:documentation>
+						The type element might be used to specify a type
+						for the module, i.e. for memory DDR/DDR2, for
+						CPU architecture name etc. It has only
+						informational character.
+					</xsd:documentation>
+				</xsd:annotation>
+			</xsd:element>
+		</xsd:sequence>
+	</xsd:complexType>
+
+	<xsd:complexType name="DEBBSimpleType">
+		<xsd:annotation>
+			<xsd:documentation>
+				SimpleType describes all distinct devices for CAD, so
+				where Transform and id/name are necessary. On the other
+				side the memory or CPU are nor relevant for that.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:complexContent>
+			<xsd:extension base="xsd_1:DEBBPhysicalElementType">
+				<xsd:sequence>
+					<xsd:element name="Transform" type="xsd:string"
+						minOccurs="0" maxOccurs="1">
+						<xsd:annotation>
+							<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.
+								For all parts at a fixed position within the DEBB (fans, sensors,
+								etc.) this is the transform matrix relative 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.
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:element>
+					<xsd:element name="Reference" type="xsd_1:ReferenceType"
+						minOccurs="0" maxOccurs="unbounded"></xsd:element>
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
 
 	<xsd:complexType name="FlowProfileType">
 		<xsd:annotation>
-			<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>
-		</xsd:annotation>
-		<xsd:sequence>
-			<xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1"></xsd:element>
+			<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>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="Name" type="xsd:string" minOccurs="0"
+				maxOccurs="1"></xsd:element>
 			<xsd:element name="FlowState" type="xsd_1:FlowStateType"
 				minOccurs="1" maxOccurs="unbounded" />
 		</xsd:sequence>
 	</xsd:complexType>
-    
+
 	<xsd:complexType name="FlowStateType">
-        <xsd:annotation>
-        	<xsd:documentation>FlowStateType describes any kind of flow (air, liquid, power, ...) and assumes that for maintaining the flow a certain power usage is necessary. 
-For 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>
-        </xsd:annotation>
-        <xsd:sequence>
-        	<xsd:element name="State" type="xsd:string"></xsd:element>
-        	<xsd:element name="Flow" type="xsd:double" maxOccurs="1"
-        		minOccurs="0">
-        	</xsd:element>
-        	<xsd:element name="PowerUsage" type="xsd:double"
-        		maxOccurs="1" minOccurs="0">
-        	</xsd:element>
-        </xsd:sequence>
+		<xsd:annotation>
+			<xsd:documentation>FlowStateType describes any kind of flow (air,
+				liquid, power, ...) and assumes that for maintaining the flow a
+				certain power usage is necessary.
+				For 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>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="State" type="xsd:string"></xsd:element>
+			<xsd:element name="Flow" type="xsd:double" maxOccurs="1"
+				minOccurs="0">
+			</xsd:element>
+			<xsd:element name="PowerUsage" type="xsd:double"
+				maxOccurs="1" minOccurs="0">
+			</xsd:element>
+		</xsd:sequence>
 	</xsd:complexType>
 
@@ -235,5 +268,6 @@
 			<xsd:extension base="xsd_1:DEBBSimpleType">
 				<xsd:sequence>
-					<xsd:element name="TransferRate" type="xsd:float" minOccurs="0" maxOccurs="1"></xsd:element>
+					<xsd:element name="TransferRate" type="xsd:float"
+						minOccurs="0" maxOccurs="1"></xsd:element>
 				</xsd:sequence>
 			</xsd:extension>
@@ -247,4 +281,35 @@
 					<!-- Size of Capacity in MB -->
 					<xsd:element name="Capacity" type="xsd:unsignedInt" />
+					<xsd:element name="Interface" type="xsd:string"
+						minOccurs="0" maxOccurs="1"></xsd:element>
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:complexType name="NetworkType">
+		<xsd:complexContent>
+			<xsd:extension base="xsd_1:DEBBPhysicalElementType">
+				<xsd:sequence>
+					<xsd:element name="Interface" type="xsd:string"
+						minOccurs="0" maxOccurs="1">
+						<xsd:annotation>
+							<xsd:documentation>Physical Interface description like fibre,
+								twisted pair, etc.</xsd:documentation>
+						</xsd:annotation>
+					</xsd:element>
+					<xsd:element name="Technology" type="xsd:string"
+						minOccurs="0" maxOccurs="1">
+						<xsd:annotation>
+							<xsd:documentation>10GE, IB QDR etc.</xsd:documentation>
+						</xsd:annotation>
+					</xsd:element>
+					<xsd:element name="MaxBandwidth" type="xsd:int"
+						minOccurs="0" maxOccurs="1">
+						<xsd:annotation>
+							<xsd:documentation>Bandwidth as number in bit/s
+							</xsd:documentation>
+						</xsd:annotation>
+					</xsd:element>
 				</xsd:sequence>
 			</xsd:extension>
@@ -256,10 +321,8 @@
 			<xsd:extension base="xsd_1:DEBBComponentType">
 				<xsd:sequence>
-					<xsd:element name="Baseboard"
-						type="xsd_1:DEBBPhysicalElementType" />
+					<xsd:element name="Baseboard" type="xsd_1:DEBBPhysicalElementType" />
 					<xsd:element name="Processor" maxOccurs="unbounded"
 						type="xsd_1:ProcessorType" />
-					<xsd:element name="Memory" maxOccurs="unbounded"
-						type="xsd_1:MemoryType" />
+					<xsd:element name="Memory" maxOccurs="unbounded" type="xsd_1:MemoryType" />
 				</xsd:sequence>
 			</xsd:extension>
@@ -271,5 +334,6 @@
 			<xsd:extension base="xsd_1:DEBBSimpleType">
 				<xsd:sequence>
-					<xsd:element name="MaxRPM" type="xsd:int" minOccurs="0" maxOccurs="1"></xsd:element>
+					<xsd:element name="MaxRPM" type="xsd:int" minOccurs="0"
+						maxOccurs="1"></xsd:element>
 				</xsd:sequence>
 			</xsd:extension>
@@ -306,7 +370,7 @@
 				<xsd:sequence>
 					<!-- Maximum Clockfrequency of CPU in MHz</xsd:documentation></xsd:annotation -->
-					<xsd:element name="MaxClockSpeed"
-						type="xsd:unsignedInt" />
-					<xsd:element name="Cores" type="xsd:int" maxOccurs="1" minOccurs="0"></xsd:element>
+					<xsd:element name="MaxClockSpeed" type="xsd:unsignedInt" />
+					<xsd:element name="Cores" type="xsd:int" maxOccurs="1"
+						minOccurs="0"></xsd:element>
 					<xsd:element name="PState" type="xsd_1:PStateType"
 						minOccurs="0" maxOccurs="unbounded">
@@ -328,8 +392,24 @@
 			<xsd:element name="Frequency" type="xsd:double" />
 			<xsd:element name="Voltage" type="xsd:double" />
-			<xsd:element name="PowerUsage" type="xsd:double" />
-		</xsd:sequence>
-	</xsd:complexType>
-
+			<xsd:element name="PowerUsageMin" type="xsd:double" />
+			<xsd:element name="PowerUsageMax" type="xsd:double" />
+		</xsd:sequence>
+	</xsd:complexType>
+
+	<xsd:complexType name="ReferenceType">
+		<xsd:annotation>
+			<xsd:documentation>
+				ReferenceType describes references to external files
+				like STL, VRML, etc. and consists of a type and path.
+			</xsd:documentation>
+		</xsd:annotation>
+		<xsd:sequence>
+			<xsd:element name="Type" type="xsd:string" minOccurs="1"
+				maxOccurs="1">
+			</xsd:element>
+			<xsd:element name="Location" type="xsd:string" minOccurs="1"
+				maxOccurs="1"></xsd:element>
+		</xsd:sequence>
+	</xsd:complexType>
 
 	<xsd:complexType name="SensorType">
@@ -350,8 +430,10 @@
 					</xsd:element>
 					<xsd:element name="Unit">
-                        <xsd:annotation>
-                        	<xsd:documentation>Only basic units should be used. For later development other units can be used then the Factor should be added.</xsd:documentation>
-                        </xsd:annotation>
-                        <xsd:simpleType>
+						<xsd:annotation>
+							<xsd:documentation>Only basic units should be used. For later
+								development other units can be used then the Factor should be
+								added.</xsd:documentation>
+						</xsd:annotation>
+						<xsd:simpleType>
 							<xsd:restriction base="xsd:string">
 								<xsd:enumeration value="Â°C"></xsd:enumeration>
@@ -380,9 +462,11 @@
 						maxOccurs="1" minOccurs="0">
 					</xsd:element>
-					<xsd:element name="Factor" type="xsd:float"
-						maxOccurs="1" minOccurs="0">
-                        <xsd:annotation>
-                        	<xsd:documentation>Factor is just the multiplier between the currently used unit and the basic unit (i.e. litre to cubic meter)</xsd:documentation>
-                        </xsd:annotation>
+					<xsd:element name="Factor" type="xsd:float" maxOccurs="1"
+						minOccurs="0">
+						<xsd:annotation>
+							<xsd:documentation>Factor is just the multiplier between the
+								currently used unit and the basic unit (i.e. litre to cubic
+								meter)</xsd:documentation>
+						</xsd:annotation>
 					</xsd:element>
 					<xsd:element name="Accuracy" type="xsd:float"
@@ -391,35 +475,25 @@
 					<xsd:element name="Input" type="xsd:boolean">
 						<xsd:annotation>
-							<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>
-						</xsd:annotation></xsd:element>
-				</xsd:sequence>
-			</xsd:extension>
-		</xsd:complexContent>
-	</xsd:complexType>
-
-    <xsd:element name="Node" type="xsd_1:NodeType"></xsd:element>
-    <xsd:element name="NodeGroup" type="xsd_1:DEBBComponentType"></xsd:element>
-    <xsd:element name="ComputeBox1" type="xsd_1:DEBBComponentType"></xsd:element>
-    <xsd:element name="ComputeBox2" type="xsd_1:DEBBComponentType"></xsd:element>
-    <xsd:element name="PowerSupply" type="xsd_1:PowerSupplyType"></xsd:element>
-    <xsd:element name="CoolingDevice" type="xsd_1:CoolingDeviceType"></xsd:element>
-    <xsd:element name="Outlet" type="xsd_1:OutletType"></xsd:element>
-    <xsd:element name="Heatsink" type="xsd_1:HeatsinkType"></xsd:element>
-    <xsd:element name="Sensor" type="xsd_1:SensorType"></xsd:element>
-
-    <xsd:complexType name="ReferenceType">
-    	<xsd:annotation>
-    		<xsd:documentation>
-    			ReferenceType describes references to external files
-    			like STL, VRML, etc. and consists of a type and path.
-    		</xsd:documentation>
-    	</xsd:annotation>
-    	<xsd:sequence>
-    		<xsd:element name="Type" type="xsd:string" minOccurs="1"
-    			maxOccurs="1">
-    		</xsd:element>
-    		<xsd:element name="Location" type="xsd:string" minOccurs="1" maxOccurs="1"></xsd:element>
-    	</xsd:sequence>
-    </xsd:complexType>
+							<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>
+						</xsd:annotation>
+					</xsd:element>
+				</xsd:sequence>
+			</xsd:extension>
+		</xsd:complexContent>
+	</xsd:complexType>
+
+	<xsd:element name="Node" type="xsd_1:NodeType"></xsd:element>
+	<xsd:element name="NodeGroup" type="xsd_1:DEBBComponentType"></xsd:element>
+	<xsd:element name="ComputeBox1" type="xsd_1:DEBBComponentType"></xsd:element>
+	<xsd:element name="ComputeBox2" type="xsd_1:DEBBComponentType"></xsd:element>
+	<xsd:element name="PowerSupply" type="xsd_1:PowerSupplyType"></xsd:element>
+	<xsd:element name="CoolingDevice" type="xsd_1:CoolingDeviceType"></xsd:element>
+	<xsd:element name="Outlet" type="xsd_1:OutletType"></xsd:element>
+	<xsd:element name="Heatsink" type="xsd_1:HeatsinkType"></xsd:element>
+	<xsd:element name="Sensor" type="xsd_1:SensorType"></xsd:element>
 
 </xsd:schema>
