From cdf9e894a8f2eed09afb8961483941de7cd00a38 Mon Sep 17 00:00:00 2001
From: Kai Brassel <mail@khbrassel.de>
Date: Sun, 9 May 2021 10:42:44 +0200
Subject: [PATCH] Generic master detail UI

---
 .../plugin.properties                         |  12 +
 .../provider/BuildingPhysicsEditPlugin.java   |   1 +
 ...dingPhysicsItemProviderAdapterFactory.java |  25 -
 .../provider/LifeCycleItemProvider.java       | 246 ---------
 .../provider/MaterialItemProvider.java        | 108 ++++
 .../provider/WindowTypeItemProvider.java      | 116 ++++-
 .../build.properties                          |   2 +-
 .../plugin.xml                                |  11 +-
 .../viewmodels/BuildingPhysicsCatalog.view    |  74 +--
 .../BuildingPhysicsCatalog_Detail.view        |  10 +
 .../viewmodels/Material.view                  |  62 +++
 .../viewmodels/MaterialCategory.view          |  15 +
 .../viewmodels/WindowCatalog.view             |  42 ++
 .../viewmodels/WindowType.view                |  67 +++
 .../build.properties                          |   1 +
 .../model/buildingphysics.aird                | 201 ++++++--
 .../model/buildingphysics.ecore               |  24 +-
 .../model/buildingphysics.genmodel            |  22 +-
 .../BuildingPhysicsFactory.java               |   9 -
 .../BuildingPhysicsPackage.java               | 286 +++++++----
 .../buildingphysics/Material.java             | 142 ++++++
 .../buildingphysics/WindowType.java           | 141 +++++-
 .../impl/BuildingPhysicsFactoryImpl.java      |  13 -
 .../impl/BuildingPhysicsPackageImpl.java      | 165 ++++---
 .../buildingphysics/impl/LifeCycleImpl.java   | 466 ------------------
 .../buildingphysics/impl/MaterialImpl.java    | 353 +++++++++++++
 .../buildingphysics/impl/WindowTypeImpl.java  | 368 ++++++++++++--
 .../util/BuildingPhysicsAdapterFactory.java   |  19 -
 .../util/BuildingPhysicsSwitch.java           |  22 -
 29 files changed, 1862 insertions(+), 1161 deletions(-)
 delete mode 100644 de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/LifeCycleItemProvider.java
 create mode 100644 de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog_Detail.view
 create mode 100644 de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Material.view
 create mode 100644 de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowCatalog.view
 create mode 100644 de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowType.view
 delete mode 100644 de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/LifeCycleImpl.java

diff --git a/de.hftstuttgart.buildingphysics.edit/plugin.properties b/de.hftstuttgart.buildingphysics.edit/plugin.properties
index d580acb..460b07c 100644
--- a/de.hftstuttgart.buildingphysics.edit/plugin.properties
+++ b/de.hftstuttgart.buildingphysics.edit/plugin.properties
@@ -58,3 +58,15 @@ _UI_LifeCycle_disposalDescription_feature = Disposal Description
 _UI_WindowType__feature = 
 _UI_LifeCycle__feature = 
 _UI_LifeCycle_type_feature = Type
+_UI_WindowType_embodiedEnergy_feature = Embodied Energy
+_UI_WindowType_embodiedCarbon_feature = Embodied Carbon
+_UI_WindowType_constructionDescription_feature = Construction Description
+_UI_WindowType_disposalEnergy_feature = Disposal Energy
+_UI_WindowType_disposalCarbon_feature = Disposal Carbon
+_UI_WindowType_disposalDescription_feature = Disposal Description
+_UI_Material_embodiedEnergy_feature = Embodied Energy
+_UI_Material_embodiedCarbon_feature = Embodied Carbon
+_UI_Material_constructionDescription_feature = Construction Description
+_UI_Material_disposalEnergy_feature = Disposal Energy
+_UI_Material_disposalCarbon_feature = Disposal Carbon
+_UI_Material_disposalDescription_feature = Disposal Description
diff --git a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsEditPlugin.java b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsEditPlugin.java
index 01f518f..f74f1dd 100644
--- a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsEditPlugin.java
+++ b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsEditPlugin.java
@@ -3,6 +3,7 @@
 package de.hftstuttgart.buildingphysics.provider;
 
 import de.hftstuttgart.cityunits.model.quantities.provider.QuantitiesEditPlugin;
+
 import org.eclipse.emf.common.EMFPlugin;
 
 import org.eclipse.emf.common.util.ResourceLocator;
diff --git a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsItemProviderAdapterFactory.java b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsItemProviderAdapterFactory.java
index 2a2644c..757bc7f 100644
--- a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsItemProviderAdapterFactory.java
+++ b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/BuildingPhysicsItemProviderAdapterFactory.java
@@ -210,29 +210,6 @@ public class BuildingPhysicsItemProviderAdapterFactory extends BuildingPhysicsAd
 		return materialItemProvider;
 	}
 
-	/**
-	 * This keeps track of the one adapter used for all {@link de.hftstuttgart.buildingphysics.LifeCycle} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LifeCycleItemProvider lifeCycleItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link de.hftstuttgart.buildingphysics.LifeCycle}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createLifeCycleAdapter() {
-		if (lifeCycleItemProvider == null) {
-			lifeCycleItemProvider = new LifeCycleItemProvider(this);
-		}
-
-		return lifeCycleItemProvider;
-	}
-
 	/**
 	 * This returns the root adapter factory that contains this factory.
 	 * <!-- begin-user-doc -->
@@ -350,8 +327,6 @@ public class BuildingPhysicsItemProviderAdapterFactory extends BuildingPhysicsAd
 			materialCategoryItemProvider.dispose();
 		if (materialItemProvider != null)
 			materialItemProvider.dispose();
-		if (lifeCycleItemProvider != null)
-			lifeCycleItemProvider.dispose();
 	}
 
 }
diff --git a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/LifeCycleItemProvider.java b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/LifeCycleItemProvider.java
deleted file mode 100644
index 90bdd74..0000000
--- a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/LifeCycleItemProvider.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/**
- */
-package de.hftstuttgart.buildingphysics.provider;
-
-import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage;
-import de.hftstuttgart.buildingphysics.LifeCycle;
-
-import de.hftstuttgart.cityunits.model.NullableQuantity;
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.common.util.ResourceLocator;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
-/**
- * This is the item provider adapter for a {@link de.hftstuttgart.buildingphysics.LifeCycle} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class LifeCycleItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
-		IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public LifeCycleItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addEmbodiedEnergyPropertyDescriptor(object);
-			addEmbodiedCarbonPropertyDescriptor(object);
-			addConstructionDescriptionPropertyDescriptor(object);
-			addDisposalEnergyPropertyDescriptor(object);
-			addDisposalCarbonPropertyDescriptor(object);
-			addDisposalDescriptionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Embodied Energy feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addEmbodiedEnergyPropertyDescriptor(Object object) {
-		itemPropertyDescriptors
-				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
-						getResourceLocator(), getString("_UI_LifeCycle_embodiedEnergy_feature"),
-						getString("_UI_PropertyDescriptor_description", "_UI_LifeCycle_embodiedEnergy_feature",
-								"_UI_LifeCycle_type"),
-						BuildingPhysicsPackage.Literals.LIFE_CYCLE__EMBODIED_ENERGY, true, false, false,
-						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Embodied Carbon feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addEmbodiedCarbonPropertyDescriptor(Object object) {
-		itemPropertyDescriptors
-				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
-						getResourceLocator(), getString("_UI_LifeCycle_embodiedCarbon_feature"),
-						getString("_UI_PropertyDescriptor_description", "_UI_LifeCycle_embodiedCarbon_feature",
-								"_UI_LifeCycle_type"),
-						BuildingPhysicsPackage.Literals.LIFE_CYCLE__EMBODIED_CARBON, true, false, false,
-						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Construction Description feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addConstructionDescriptionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add(createItemPropertyDescriptor(
-				((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
-				getString("_UI_LifeCycle_constructionDescription_feature"),
-				getString("_UI_PropertyDescriptor_description", "_UI_LifeCycle_constructionDescription_feature",
-						"_UI_LifeCycle_type"),
-				BuildingPhysicsPackage.Literals.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION, true, true, false,
-				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Disposal Energy feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addDisposalEnergyPropertyDescriptor(Object object) {
-		itemPropertyDescriptors
-				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
-						getResourceLocator(), getString("_UI_LifeCycle_disposalEnergy_feature"),
-						getString("_UI_PropertyDescriptor_description", "_UI_LifeCycle_disposalEnergy_feature",
-								"_UI_LifeCycle_type"),
-						BuildingPhysicsPackage.Literals.LIFE_CYCLE__DISPOSAL_ENERGY, true, false, false,
-						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Disposal Carbon feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addDisposalCarbonPropertyDescriptor(Object object) {
-		itemPropertyDescriptors
-				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
-						getResourceLocator(), getString("_UI_LifeCycle_disposalCarbon_feature"),
-						getString("_UI_PropertyDescriptor_description", "_UI_LifeCycle_disposalCarbon_feature",
-								"_UI_LifeCycle_type"),
-						BuildingPhysicsPackage.Literals.LIFE_CYCLE__DISPOSAL_CARBON, true, false, false,
-						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
-
-	/**
-	 * This adds a property descriptor for the Disposal Description feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addDisposalDescriptionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors
-				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
-						getResourceLocator(), getString("_UI_LifeCycle_disposalDescription_feature"),
-						getString("_UI_PropertyDescriptor_description", "_UI_LifeCycle_disposalDescription_feature",
-								"_UI_LifeCycle_type"),
-						BuildingPhysicsPackage.Literals.LIFE_CYCLE__DISPOSAL_DESCRIPTION, true, true, false,
-						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
-	}
-
-	/**
-	 * This returns LifeCycle.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/LifeCycle"));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected boolean shouldComposeCreationImage() {
-		return true;
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		NullableQuantity labelValue = ((LifeCycle) object).getEmbodiedEnergy();
-		String label = labelValue == null ? null : labelValue.toString();
-		return label == null || label.length() == 0 ? getString("_UI_LifeCycle_type")
-				: getString("_UI_LifeCycle_type") + " " + label;
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-
-		switch (notification.getFeatureID(LifeCycle.class)) {
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_ENERGY:
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_CARBON:
-		case BuildingPhysicsPackage.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION:
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_ENERGY:
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_CARBON:
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_DESCRIPTION:
-			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
-			return;
-		}
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-	/**
-	 * Return the resource locator for this item provider's resources.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public ResourceLocator getResourceLocator() {
-		return BuildingPhysicsEditPlugin.INSTANCE;
-	}
-
-}
diff --git a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java
index 36817b7..e043a3f 100644
--- a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java
+++ b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/MaterialItemProvider.java
@@ -58,6 +58,12 @@ public class MaterialItemProvider extends ItemProviderAdapter implements IEditin
 			addDensityPropertyDescriptor(object);
 			addHeatCapacityPropertyDescriptor(object);
 			addConductivityPropertyDescriptor(object);
+			addEmbodiedEnergyPropertyDescriptor(object);
+			addEmbodiedCarbonPropertyDescriptor(object);
+			addConstructionDescriptionPropertyDescriptor(object);
+			addDisposalEnergyPropertyDescriptor(object);
+			addDisposalCarbonPropertyDescriptor(object);
+			addDisposalDescriptionPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -141,6 +147,102 @@ public class MaterialItemProvider extends ItemProviderAdapter implements IEditin
 						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
 	}
 
+	/**
+	 * This adds a property descriptor for the Embodied Energy feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEmbodiedEnergyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_Material_embodiedEnergy_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_Material_embodiedEnergy_feature",
+								"_UI_Material_type"),
+						BuildingPhysicsPackage.Literals.MATERIAL__EMBODIED_ENERGY, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Embodied Carbon feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addEmbodiedCarbonPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_Material_embodiedCarbon_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_Material_embodiedCarbon_feature",
+								"_UI_Material_type"),
+						BuildingPhysicsPackage.Literals.MATERIAL__EMBODIED_CARBON, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Construction Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConstructionDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(
+				((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+				getString("_UI_Material_constructionDescription_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_Material_constructionDescription_feature",
+						"_UI_Material_type"),
+				BuildingPhysicsPackage.Literals.MATERIAL__CONSTRUCTION_DESCRIPTION, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Disposal Energy feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDisposalEnergyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_Material_disposalEnergy_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_Material_disposalEnergy_feature",
+								"_UI_Material_type"),
+						BuildingPhysicsPackage.Literals.MATERIAL__DISPOSAL_ENERGY, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Disposal Carbon feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDisposalCarbonPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_Material_disposalCarbon_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_Material_disposalCarbon_feature",
+								"_UI_Material_type"),
+						BuildingPhysicsPackage.Literals.MATERIAL__DISPOSAL_CARBON, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Disposal Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDisposalDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_Material_disposalDescription_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_Material_disposalDescription_feature",
+								"_UI_Material_type"),
+						BuildingPhysicsPackage.Literals.MATERIAL__DISPOSAL_DESCRIPTION, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
 	/**
 	 * This returns Material.gif.
 	 * <!-- begin-user-doc -->
@@ -192,6 +294,12 @@ public class MaterialItemProvider extends ItemProviderAdapter implements IEditin
 		case BuildingPhysicsPackage.MATERIAL__DENSITY:
 		case BuildingPhysicsPackage.MATERIAL__HEAT_CAPACITY:
 		case BuildingPhysicsPackage.MATERIAL__CONDUCTIVITY:
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_ENERGY:
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_CARBON:
+		case BuildingPhysicsPackage.MATERIAL__CONSTRUCTION_DESCRIPTION:
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_ENERGY:
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_CARBON:
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
 		}
diff --git a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/WindowTypeItemProvider.java b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/WindowTypeItemProvider.java
index 81bcad4..ddd77dc 100644
--- a/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/WindowTypeItemProvider.java
+++ b/de.hftstuttgart.buildingphysics.edit/src/de/hftstuttgart/buildingphysics/provider/WindowTypeItemProvider.java
@@ -2,7 +2,6 @@
  */
 package de.hftstuttgart.buildingphysics.provider;
 
-import de.hftstuttgart.buildingphysics.BuildingPhysicsFactory;
 import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage;
 import de.hftstuttgart.buildingphysics.WindowType;
 
@@ -14,7 +13,6 @@ import org.eclipse.emf.common.notify.Notification;
 
 import org.eclipse.emf.common.util.ResourceLocator;
 
-import org.eclipse.emf.ecore.EStructuralFeature;
 import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
 import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
 import org.eclipse.emf.edit.provider.IItemLabelProvider;
@@ -61,6 +59,12 @@ public class WindowTypeItemProvider extends ItemProviderAdapter implements IEdit
 			addGValuePropertyDescriptor(object);
 			addGlazingNumberPropertyDescriptor(object);
 			addFrameRatioPropertyDescriptor(object);
+			addEmbodiedEnergyPropertyDescriptor(object);
+			addEmbodiedCarbonPropertyDescriptor(object);
+			addConstructionDescriptionPropertyDescriptor(object);
+			addDisposalEnergyPropertyDescriptor(object);
+			addDisposalCarbonPropertyDescriptor(object);
+			addDisposalDescriptionPropertyDescriptor(object);
 		}
 		return itemPropertyDescriptors;
 	}
@@ -162,33 +166,99 @@ public class WindowTypeItemProvider extends ItemProviderAdapter implements IEdit
 	}
 
 	/**
-	 * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
-	 * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
-	 * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+	 * This adds a property descriptor for the Embodied Energy feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
-		if (childrenFeatures == null) {
-			super.getChildrenFeatures(object);
-			childrenFeatures.add(BuildingPhysicsPackage.Literals.WINDOW_TYPE__LIFE_CYCLE);
-		}
-		return childrenFeatures;
+	protected void addEmbodiedEnergyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_WindowType_embodiedEnergy_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_WindowType_embodiedEnergy_feature",
+								"_UI_WindowType_type"),
+						BuildingPhysicsPackage.Literals.WINDOW_TYPE__EMBODIED_ENERGY, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
 	}
 
 	/**
+	 * This adds a property descriptor for the Embodied Carbon feature.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	@Override
-	protected EStructuralFeature getChildFeature(Object object, Object child) {
-		// Check the type of the specified child object and return the proper feature to use for
-		// adding (see {@link AddCommand}) it as a child.
+	protected void addEmbodiedCarbonPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_WindowType_embodiedCarbon_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_WindowType_embodiedCarbon_feature",
+								"_UI_WindowType_type"),
+						BuildingPhysicsPackage.Literals.WINDOW_TYPE__EMBODIED_CARBON, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Construction Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addConstructionDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(
+				((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+				getString("_UI_WindowType_constructionDescription_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_WindowType_constructionDescription_feature",
+						"_UI_WindowType_type"),
+				BuildingPhysicsPackage.Literals.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Disposal Energy feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDisposalEnergyPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_WindowType_disposalEnergy_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_WindowType_disposalEnergy_feature",
+								"_UI_WindowType_type"),
+						BuildingPhysicsPackage.Literals.WINDOW_TYPE__DISPOSAL_ENERGY, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
+
+	/**
+	 * This adds a property descriptor for the Disposal Carbon feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDisposalCarbonPropertyDescriptor(Object object) {
+		itemPropertyDescriptors
+				.add(createItemPropertyDescriptor(((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(),
+						getResourceLocator(), getString("_UI_WindowType_disposalCarbon_feature"),
+						getString("_UI_PropertyDescriptor_description", "_UI_WindowType_disposalCarbon_feature",
+								"_UI_WindowType_type"),
+						BuildingPhysicsPackage.Literals.WINDOW_TYPE__DISPOSAL_CARBON, true, false, false,
+						ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+	}
 
-		return super.getChildFeature(object, child);
+	/**
+	 * This adds a property descriptor for the Disposal Description feature.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	protected void addDisposalDescriptionPropertyDescriptor(Object object) {
+		itemPropertyDescriptors.add(createItemPropertyDescriptor(
+				((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+				getString("_UI_WindowType_disposalDescription_feature"),
+				getString("_UI_PropertyDescriptor_description", "_UI_WindowType_disposalDescription_feature",
+						"_UI_WindowType_type"),
+				BuildingPhysicsPackage.Literals.WINDOW_TYPE__DISPOSAL_DESCRIPTION, true, false, false,
+				ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
 	}
 
 	/**
@@ -243,11 +313,14 @@ public class WindowTypeItemProvider extends ItemProviderAdapter implements IEdit
 		case BuildingPhysicsPackage.WINDOW_TYPE__GVALUE:
 		case BuildingPhysicsPackage.WINDOW_TYPE__GLAZING_NUMBER:
 		case BuildingPhysicsPackage.WINDOW_TYPE__FRAME_RATIO:
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_ENERGY:
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_CARBON:
+		case BuildingPhysicsPackage.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION:
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_ENERGY:
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_CARBON:
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_DESCRIPTION:
 			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
 			return;
-		case BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE:
-			fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
-			return;
 		}
 		super.notifyChanged(notification);
 	}
@@ -262,9 +335,6 @@ public class WindowTypeItemProvider extends ItemProviderAdapter implements IEdit
 	@Override
 	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
 		super.collectNewChildDescriptors(newChildDescriptors, object);
-
-		newChildDescriptors.add(createChildParameter(BuildingPhysicsPackage.Literals.WINDOW_TYPE__LIFE_CYCLE,
-				BuildingPhysicsFactory.eINSTANCE.createLifeCycle()));
 	}
 
 	/**
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/build.properties b/de.hftstuttgart.buildingphysics.viewmodel/build.properties
index 4ad6a71..9122d2d 100644
--- a/de.hftstuttgart.buildingphysics.viewmodel/build.properties
+++ b/de.hftstuttgart.buildingphysics.viewmodel/build.properties
@@ -1,4 +1,4 @@
 bin.includes = META-INF/,\
                plugin.xml,\
                viewmodels/
-               
\ No newline at end of file
+               
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml b/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml
index 1c3645b..50353d0 100644
--- a/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml
+++ b/de.hftstuttgart.buildingphysics.viewmodel/plugin.xml
@@ -2,11 +2,14 @@
 <?eclipse version="3.4"?>
 <plugin>
 	<extension point="org.eclipse.emf.ecp.view.model.provider.xmi.file">
+<file filePath="viewmodels/Material.view"/>
 
+<file filePath="viewmodels/WindowType.view"/>
 
-
-
-		<file filePath="viewmodels/MaterialCategory.view"/>
 		<file filePath="viewmodels/BuildingPhysicsCatalog.view"/>
+		<file filePath="viewmodels/BuildingPhysicsCatalog_Detail.view">
+			<filter key="detail" value="true"/>
+		</file>
+		<file filePath="viewmodels/MaterialCategory.view"/>
    </extension>
-</plugin>
\ No newline at end of file
+</plugin>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view
index c6281bf..62f6e85 100644
--- a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog.view
@@ -1,76 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.categorization.model="http://org/eclipse/emf/ecp/view/categorization/model" xmlns:org.eclipse.emf.ecp.view.group.model="http://org/eclipse/emf/ecp/view/group/model" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emf.ecp.view.table.model="http://org/eclipse/emf/ecp/view/table/model/150" xmi:id="_lRZw4CQzEeuaK-RhvCx2-Q" name="BuildingPhysicsCatalog">
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emf.ecp.view.treemasterview.model="http://org/eclipse/emf/ecp/view/treemasterview/model" xmi:id="_lRZw4CQzEeuaK-RhvCx2-Q" name="BuildingPhysicsCatalog">
   <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog"/>
-  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_lRgekCQzEeuaK-RhvCx2-Q" name="Control author">
-    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_lRgekSQzEeuaK-RhvCx2-Q">
-      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/author"/>
-    </domainModelReference>
-  </children>
-  <children xsi:type="org.eclipse.emf.ecp.view.categorization.model:CategorizationElement" xmi:id="_dOxbICTLEeuaK-RhvCx2-Q" name="Catalogs" mainCategoryDepth="1">
-    <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="__U4k0CTLEeuaK-RhvCx2-Q" name="Materials">
-      <composite xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_B3Fb0CTMEeuaK-RhvCx2-Q" groupType="Embedded">
-        <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_GI-HwCTMEeuaK-RhvCx2-Q" name="Catalog Info" groupType="Collapsible">
-          <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_L50sECTMEeuaK-RhvCx2-Q" name="Name">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_OMWvYCTMEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/name"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/materialCatalog"/>
-            </domainModelReference>
-          </children>
-          <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_Z3LXwCTMEeuaK-RhvCx2-Q" name="Description" labelAlignment="Top">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_byVc4CTMEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/description"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/materialCatalog"/>
-            </domainModelReference>
-          </children>
-          <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_lszh8CTMEeuaK-RhvCx2-Q" name="Source">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_n9S94CTMEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/source"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/materialCatalog"/>
-            </domainModelReference>
-          </children>
-        </children>
-        <children xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_uzINQCTMEeuaK-RhvCx2-Q" detailEditing="WithPanel">
-          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_zOciACTMEeuaK-RhvCx2-Q">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_zOciASTMEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EReference" href="http://www.hftstuttgart.de/buildingphysics#//MaterialCatalog/materialCategories"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/materialCatalog"/>
-            </domainModelReference>
-          </domainModelReference>
-        </children>
-      </composite>
-    </categorizations>
-    <categorizations xsi:type="org.eclipse.emf.ecp.view.categorization.model:Category" xmi:id="_jpOWECTLEeuaK-RhvCx2-Q" name="Window Types">
-      <composite xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_zXAdkCTLEeuaK-RhvCx2-Q" groupType="Embedded">
-        <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_cAtaoCTNEeuaK-RhvCx2-Q" name="Catalog Info" groupType="Collapsible">
-          <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_fSCBcCTNEeuaK-RhvCx2-Q" name="Name">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_g8RbHCTNEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/name"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/windowCatalog"/>
-            </domainModelReference>
-          </children>
-          <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_WtNEMCTOEeuaK-RhvCx2-Q" name="Description">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_ZWmvYCTOEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/description"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/windowCatalog"/>
-            </domainModelReference>
-          </children>
-          <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_aSX0ECTOEeuaK-RhvCx2-Q" name="Source">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_d32F8CTOEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/source"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/windowCatalog"/>
-            </domainModelReference>
-          </children>
-        </children>
-        <children xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_hx4vECTNEeuaK-RhvCx2-Q" name="Window Types" detailEditing="WithPanel">
-          <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_8M2yACTNEeuaK-RhvCx2-Q">
-            <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_8M2yASTNEeuaK-RhvCx2-Q">
-              <domainModelEFeature xsi:type="ecore:EReference" href="http://www.hftstuttgart.de/buildingphysics#//WindowCatalog/windowTypes"/>
-              <domainModelEReferencePath href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/windowCatalog"/>
-            </domainModelReference>
-          </domainModelReference>
-        </children>
-      </composite>
-    </categorizations>
-  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.treemasterview.model:TreeMasterDetail" xmi:id="_9hKHIK20Eeup29SeaUMpQQ"/>
   <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths>
 </org.eclipse.emf.ecp.view.model:View>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog_Detail.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog_Detail.view
new file mode 100644
index 0000000..96d8715
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/BuildingPhysicsCatalog_Detail.view
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_1unhEK12Eeuda6ijj1ILcQ" name="BuildingPhysicsCatalog">
+  <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_1uqkYK12Eeuda6ijj1ILcQ" name="Control author">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_1uqkYa12Eeuda6ijj1ILcQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//BuildingPhysicsCatalog/author"/>
+    </domainModelReference>
+  </children>
+  <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Material.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Material.view
new file mode 100644
index 0000000..205cf1a
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/Material.view
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.group.model="http://org/eclipse/emf/ecp/view/group/model" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_bUohgK22Eeup29SeaUMpQQ" name="Material">
+  <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//Material"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvoK22Eeup29SeaUMpQQ" name="Control id">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvoa22Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/id"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvoq22Eeup29SeaUMpQQ" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvo622Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/name"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvpK22Eeup29SeaUMpQQ" name="Control density">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvpa22Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/density"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvpq22Eeup29SeaUMpQQ" name="Control heatCapacity">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvp622Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/heatCapacity"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvqK22Eeup29SeaUMpQQ" name="Control conductivity">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvqa22Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/conductivity"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_dn1TMK22Eeup29SeaUMpQQ" name="Life Cycle" groupType="Collapsible">
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvqq22Eeup29SeaUMpQQ" name="Control embodiedEnergy">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvq622Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/embodiedEnergy"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvrK22Eeup29SeaUMpQQ" name="Control embodiedCarbon">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvra22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/embodiedCarbon"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvrq22Eeup29SeaUMpQQ" name="Control constructionDescription">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvr622Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/constructionDescription"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvsK22Eeup29SeaUMpQQ" name="Control disposalEnergy">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvsa22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/disposalEnergy"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvsq22Eeup29SeaUMpQQ" name="Control disposalCarbon">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvs622Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/disposalCarbon"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_bUpvtK22Eeup29SeaUMpQQ" name="Control disposalDescription">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_bUpvta22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/disposalDescription"/>
+      </domainModelReference>
+    </children>
+  </children>
+  <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view
index 0943bee..89edca3 100644
--- a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/MaterialCategory.view
@@ -3,6 +3,21 @@
   <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//MaterialCategory"/>
   <children xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_cQS6sCUNEeux0PTSTJn6xg" detailEditing="WithPanel">
     <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_6djXAKg0EeuFa-L9J4DlVg">
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Qi7ScK22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/id"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Qi7Sca22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/name"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Qi7Scq22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/density"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Qi7Sc622Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/heatCapacity"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Qi7SdK22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Material/conductivity"/>
+      </columnDomainModelReferences>
       <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_6djXAag0EeuFa-L9J4DlVg">
         <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_6djXAqg0EeuFa-L9J4DlVg">
           <domainModelEFeature xsi:type="ecore:EReference" href="http://www.hftstuttgart.de/buildingphysics#//MaterialCategory/material"/>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowCatalog.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowCatalog.view
new file mode 100644
index 0000000..4239dd6
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowCatalog.view
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmlns:org.eclipse.emf.ecp.view.table.model="http://org/eclipse/emf/ecp/view/table/model/150" xmi:id="_gPK1kK15Eeuda6ijj1ILcQ" name="WindowCatalog">
+  <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//WindowCatalog"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_gPMDsK15Eeuda6ijj1ILcQ" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_gPMDsa15Eeuda6ijj1ILcQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/name"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_gPMDsq15Eeuda6ijj1ILcQ" name="Control description">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_gPMDs615Eeuda6ijj1ILcQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/description"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_gPMDtK15Eeuda6ijj1ILcQ" name="Control source">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_gPMDta15Eeuda6ijj1ILcQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//Catalog/source"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.table.model:TableControl" xmi:id="_jQX8wK15Eeuda6ijj1ILcQ" detailEditing="WithPanel">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.table.model:TableDomainModelReference" xmi:id="_lX_JgK15Eeuda6ijj1ILcQ">
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Fy7TkK22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/id"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Fy7Tka22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/name"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Fy7Tkq22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/uValue"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Fy7Tk622Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/gValue"/>
+      </columnDomainModelReferences>
+      <columnDomainModelReferences xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_Fy7TlK22Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/glazingNumber"/>
+      </columnDomainModelReferences>
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_lX_Jga15Eeuda6ijj1ILcQ">
+        <domainModelEFeature xsi:type="ecore:EReference" href="http://www.hftstuttgart.de/buildingphysics#//WindowCatalog/windowTypes"/>
+      </domainModelReference>
+    </domainModelReference>
+  </children>
+  <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowType.view b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowType.view
new file mode 100644
index 0000000..2bff1d5
--- /dev/null
+++ b/de.hftstuttgart.buildingphysics.viewmodel/viewmodels/WindowType.view
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<org.eclipse.emf.ecp.view.model:View xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:org.eclipse.emf.ecp.view.group.model="http://org/eclipse/emf/ecp/view/group/model" xmlns:org.eclipse.emf.ecp.view.model="http://org/eclipse/emf/ecp/view/model/1180" xmi:id="_7hNMIK21Eeup29SeaUMpQQ" name="WindowType">
+  <rootEClass href="http://www.hftstuttgart.de/buildingphysics#//WindowType"/>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBUK21Eeup29SeaUMpQQ" name="Control id">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBUa21Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/id"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBUq21Eeup29SeaUMpQQ" name="Control name">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBU621Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/name"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBVK21Eeup29SeaUMpQQ" name="Control uValue">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBVa21Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/uValue"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBVq21Eeup29SeaUMpQQ" name="Control gValue">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBV621Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/gValue"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBWK21Eeup29SeaUMpQQ" name="Control glazingNumber">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBWa21Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/glazingNumber"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBWq21Eeup29SeaUMpQQ" name="Control frameRatio">
+    <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBW621Eeup29SeaUMpQQ">
+      <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/frameRatio"/>
+    </domainModelReference>
+  </children>
+  <children xsi:type="org.eclipse.emf.ecp.view.group.model:Group" xmi:id="_9T88IK21Eeup29SeaUMpQQ" name="Life Cycle" groupType="Collapsible">
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBXK21Eeup29SeaUMpQQ" name="Control embodiedEnergy">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBXa21Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/embodiedEnergy"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBXq21Eeup29SeaUMpQQ" name="Control embodiedCarbon">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBX621Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/embodiedCarbon"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBYK21Eeup29SeaUMpQQ" name="Control constructionDescription">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBYa21Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/constructionDescription"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBYq21Eeup29SeaUMpQQ" name="Control disposalEnergy">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBY621Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/disposalEnergy"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBZK21Eeup29SeaUMpQQ" name="Control disposalCarbon">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBZa21Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/disposalCarbon"/>
+      </domainModelReference>
+    </children>
+    <children xsi:type="org.eclipse.emf.ecp.view.model:Control" xmi:id="_7hPBZq21Eeup29SeaUMpQQ" name="Control disposalDescription">
+      <domainModelReference xsi:type="org.eclipse.emf.ecp.view.model:FeaturePathDomainModelReference" xmi:id="_7hPBZ621Eeup29SeaUMpQQ">
+        <domainModelEFeature xsi:type="ecore:EAttribute" href="http://www.hftstuttgart.de/buildingphysics#//WindowType/disposalDescription"/>
+      </domainModelReference>
+    </children>
+  </children>
+  <ecorePaths>/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore</ecorePaths>
+</org.eclipse.emf.ecp.view.model:View>
diff --git a/de.hftstuttgart.buildingphysics/build.properties b/de.hftstuttgart.buildingphysics/build.properties
index dbc638f..4465407 100644
--- a/de.hftstuttgart.buildingphysics/build.properties
+++ b/de.hftstuttgart.buildingphysics/build.properties
@@ -7,3 +7,4 @@ bin.includes = .,\
                plugin.properties
 jars.compile.order = .
 source.. = src/
+output.. = bin/
diff --git a/de.hftstuttgart.buildingphysics/model/buildingphysics.aird b/de.hftstuttgart.buildingphysics/model/buildingphysics.aird
index f91d47c..2398d2e 100644
--- a/de.hftstuttgart.buildingphysics/model/buildingphysics.aird
+++ b/de.hftstuttgart.buildingphysics/model/buildingphysics.aird
@@ -5,9 +5,10 @@
     <semanticResources>buildingphysics.genmodel</semanticResources>
     <semanticResources>platform:/resource/de.hftstuttgart.cityunits.model/model/Quantities.ecore</semanticResources>
     <semanticResources>platform:/resource/de.hftstuttgart.cityunits.model/model/Quantities.genmodel</semanticResources>
+    <semanticResources>http://www.hftstuttgart.de/buildingphysics</semanticResources>
     <ownedViews xmi:type="viewpoint:DView" uid="_nfHygB3ZEeuNsK3dZmTkbQ">
       <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
-      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_JKPtIZUqEeudooziRGqkJA" name="Buildingphysics Class Diagram" repPath="#_JKN38JUqEeudooziRGqkJA" changeId="49f990c2-65de-4a8b-8ae2-36e8047d10b8">
+      <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_JKPtIZUqEeudooziRGqkJA" name="Buildingphysics Class Diagram" repPath="#_JKN38JUqEeudooziRGqkJA" changeId="a9fe10ad-9b4f-47c9-9002-bae035c33af2">
         <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
         <target xmi:type="ecore:EPackage" href="buildingphysics.ecore#/"/>
       </ownedRepresentationDescriptors>
@@ -27,7 +28,7 @@
             <styles xmi:type="notation:FilteringStyle" xmi:id="_J2yDA5UqEeudooziRGqkJA"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_J2xb8ZUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2xb8pUqEeudooziRGqkJA" x="212" y="536"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2xb8pUqEeudooziRGqkJA" x="248" y="560"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_J2yDBJUqEeudooziRGqkJA" type="2003" element="_J2lOsJUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J2yDB5UqEeudooziRGqkJA" type="5007"/>
@@ -56,11 +57,35 @@
               <styles xmi:type="notation:FontStyle" xmi:id="_J20fSpUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
               <layoutConstraint xmi:type="notation:Location" xmi:id="_J20fS5UqEeudooziRGqkJA"/>
             </children>
+            <children xmi:type="notation:Node" xmi:id="_aAjDALChEeup29SeaUMpQQ" type="3010" element="_aAKogrChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAjDAbChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAjDArChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAkRILChEeup29SeaUMpQQ" type="3010" element="_aAL2oLChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAkRIbChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAkRIrChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAk4MLChEeup29SeaUMpQQ" type="3010" element="_aAMdsbChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAk4MbChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAk4MrChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAk4M7ChEeup29SeaUMpQQ" type="3010" element="_aANEwLChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAk4NLChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAk4NbChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAk4NrChEeup29SeaUMpQQ" type="3010" element="_aANEwrChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAk4N7ChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAk4OLChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAk4ObChEeup29SeaUMpQQ" type="3010" element="_aANr0bChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAk4OrChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAk4O7ChEeup29SeaUMpQQ"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_J2yqEZUqEeudooziRGqkJA"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_J2yqEpUqEeudooziRGqkJA"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_J2yDBZUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2yDBpUqEeudooziRGqkJA" x="20" y="188"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2yDBpUqEeudooziRGqkJA" x="-4" y="28"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_J2yqE5UqEeudooziRGqkJA" type="2003" element="_J2l1wJUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J2yqFpUqEeudooziRGqkJA" type="5007"/>
@@ -81,7 +106,7 @@
             <styles xmi:type="notation:FilteringStyle" xmi:id="_J2yqGZUqEeudooziRGqkJA"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_J2yqFJUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" italic="true"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2yqFZUqEeudooziRGqkJA" x="216" y="188"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2yqFZUqEeudooziRGqkJA" x="241" y="192"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_J2yqGpUqEeudooziRGqkJA" type="2003" element="_J2mc0JUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J2yqHZUqEeudooziRGqkJA" type="5007"/>
@@ -99,7 +124,7 @@
             <styles xmi:type="notation:FilteringStyle" xmi:id="_J2zRI5UqEeudooziRGqkJA"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_J2yqIpUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2yqI5UqEeudooziRGqkJA" x="304" y="376"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2yqI5UqEeudooziRGqkJA" x="312" y="368"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_J2zRJJUqEeudooziRGqkJA" type="2003" element="_J2nD4JUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J2zRJ5UqEeudooziRGqkJA" type="5007"/>
@@ -112,7 +137,7 @@
             <styles xmi:type="notation:FilteringStyle" xmi:id="_J2zRKpUqEeudooziRGqkJA"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_J2zRJZUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2zRJpUqEeudooziRGqkJA" x="396" y="188"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2zRJpUqEeudooziRGqkJA" x="568" y="352"/>
         </children>
         <children xmi:type="notation:Node" xmi:id="_J2zRK5UqEeudooziRGqkJA" type="2003" element="_J2nD45UqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J2zRLpUqEeudooziRGqkJA" type="5007"/>
@@ -137,58 +162,82 @@
               <styles xmi:type="notation:FontStyle" xmi:id="_J21tZJUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
               <layoutConstraint xmi:type="notation:Location" xmi:id="_J21tZZUqEeudooziRGqkJA"/>
             </children>
+            <children xmi:type="notation:Node" xmi:id="_aAn7gLChEeup29SeaUMpQQ" type="3010" element="_aARWMbChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAn7gbChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAn7grChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAoikLChEeup29SeaUMpQQ" type="3010" element="_aAR9QLChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAoikbChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAoikrChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAoik7ChEeup29SeaUMpQQ" type="3010" element="_aAR9QrChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAoilLChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAoilbChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aAoilrChEeup29SeaUMpQQ" type="3010" element="_aASkUbChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aAoil7ChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aAoimLChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aApJoLChEeup29SeaUMpQQ" type="3010" element="_aASkU7ChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aApJobChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aApJorChEeup29SeaUMpQQ"/>
+            </children>
+            <children xmi:type="notation:Node" xmi:id="_aApJo7ChEeup29SeaUMpQQ" type="3010" element="_aATLYbChEeup29SeaUMpQQ">
+              <styles xmi:type="notation:FontStyle" xmi:id="_aApJpLChEeup29SeaUMpQQ" fontName=".AppleSystemUIFont" fontHeight="8" bold="true"/>
+              <layoutConstraint xmi:type="notation:Location" xmi:id="_aApJpbChEeup29SeaUMpQQ"/>
+            </children>
             <styles xmi:type="notation:SortingStyle" xmi:id="_J2z4MZUqEeudooziRGqkJA"/>
             <styles xmi:type="notation:FilteringStyle" xmi:id="_J2z4MpUqEeudooziRGqkJA"/>
           </children>
           <styles xmi:type="notation:ShapeStyle" xmi:id="_J2zRLJUqEeudooziRGqkJA" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2zRLZUqEeudooziRGqkJA" x="380" y="16"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2zRLZUqEeudooziRGqkJA" x="488" y="28"/>
         </children>
         <styles xmi:type="notation:DiagramStyle" xmi:id="_JKVzwpUqEeudooziRGqkJA"/>
         <edges xmi:type="notation:Edge" xmi:id="_J22UcJUqEeudooziRGqkJA" type="4001" element="_J2uYoJUqEeudooziRGqkJA" source="_J2xb8JUqEeudooziRGqkJA" target="_J2yqGpUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J227gJUqEeudooziRGqkJA" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J227gZUqEeudooziRGqkJA" y="-10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J227gZUqEeudooziRGqkJA" x="30" y="-10"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J227gpUqEeudooziRGqkJA" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J227g5UqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J227g5UqEeudooziRGqkJA" x="15" y="10"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J23ikJUqEeudooziRGqkJA" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J23ikZUqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J23ikZUqEeudooziRGqkJA" x="-9" y="8"/>
           </children>
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_J22UcZUqEeudooziRGqkJA" routing="Rectilinear"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_J22UcpUqEeudooziRGqkJA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J22Uc5UqEeudooziRGqkJA" points="[-1, 0, 89, 60]$[-91, -60, -1, 0]"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J22Uc5UqEeudooziRGqkJA" points="[0, 0, 124, 86]$[0, -55, 124, 31]$[-124, -55, 0, 31]$[-124, -86, 0, 0]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J24wsJUqEeudooziRGqkJA" id="(0.5084745762711864,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J24wsZUqEeudooziRGqkJA" id="(0.5084745762711864,1.0)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_J24wspUqEeudooziRGqkJA" type="4001" element="_J2uYqpUqEeudooziRGqkJA" source="_J2xb8JUqEeudooziRGqkJA" target="_J2yqIZUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J24wtpUqEeudooziRGqkJA" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J24wt5UqEeudooziRGqkJA" y="-10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J24wt5UqEeudooziRGqkJA" x="-13" y="-10"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25XwJUqEeudooziRGqkJA" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25XwZUqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25XwZUqEeudooziRGqkJA" x="24" y="7"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25XwpUqEeudooziRGqkJA" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25Xw5UqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25Xw5UqEeudooziRGqkJA" x="-8" y="10"/>
           </children>
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_J24ws5UqEeudooziRGqkJA" routing="Rectilinear"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_J24wtJUqEeudooziRGqkJA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J24wtZUqEeudooziRGqkJA" points="[-1, 0, -91, 60]$[89, -60, -1, 0]"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J24wtZUqEeudooziRGqkJA" points="[0, 0, -64, 94]$[0, -55, -64, 39]$[64, -55, 0, 39]$[64, -94, 0, 0]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25XxJUqEeudooziRGqkJA" id="(0.5084745762711864,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25XxZUqEeudooziRGqkJA" id="(0.5084745762711864,1.0)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_J25XxpUqEeudooziRGqkJA" type="4001" element="_J2u_tpUqEeudooziRGqkJA" source="_J2yqGpUqEeudooziRGqkJA" target="_J2yDBJUqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J25XypUqEeudooziRGqkJA" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25Xy5UqEeudooziRGqkJA" y="-10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25Xy5UqEeudooziRGqkJA" x="10"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25XzJUqEeudooziRGqkJA" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25XzZUqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25XzZUqEeudooziRGqkJA" x="-8" y="10"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25XzpUqEeudooziRGqkJA" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25Xz5UqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25Xz5UqEeudooziRGqkJA" x="-10"/>
           </children>
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_J25Xx5UqEeudooziRGqkJA" routing="Rectilinear"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_J25XyJUqEeudooziRGqkJA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25XyZUqEeudooziRGqkJA" points="[0, -50, 96, 124]$[-96, -110, 0, 64]"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25XyZUqEeudooziRGqkJA" points="[-23, -49, 54, 238]$[-23, -176, 54, 111]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25X0JUqEeudooziRGqkJA" id="(0.5,0.5)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25X0ZUqEeudooziRGqkJA" id="(0.5,0.5)"/>
         </edges>
@@ -200,27 +249,27 @@
             <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25X2ZUqEeudooziRGqkJA" y="10"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25X2pUqEeudooziRGqkJA" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25X25UqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25X25UqEeudooziRGqkJA" x="-67" y="10"/>
           </children>
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_J25X05UqEeudooziRGqkJA" routing="Rectilinear"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_J25X1JUqEeudooziRGqkJA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25X1ZUqEeudooziRGqkJA" points="[-1, 0, -93, 60]$[91, -60, -1, 0]"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25X1ZUqEeudooziRGqkJA" points="[58, 46, -198, -36]$[196, 46, -60, -36]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25X3JUqEeudooziRGqkJA" id="(0.5084745762711864,0.0)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25X3ZUqEeudooziRGqkJA" id="(0.5084745762711864,1.0)"/>
         </edges>
         <edges xmi:type="notation:Edge" xmi:id="_J25-0JUqEeudooziRGqkJA" type="4001" element="_J2vmw5UqEeudooziRGqkJA" source="_J2zRJJUqEeudooziRGqkJA" target="_J2zRK5UqEeudooziRGqkJA">
           <children xmi:type="notation:Node" xmi:id="_J25-1JUqEeudooziRGqkJA" type="6001">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-1ZUqEeudooziRGqkJA" y="-10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-1ZUqEeudooziRGqkJA" x="-8"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25-1pUqEeudooziRGqkJA" type="6002">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-15UqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-15UqEeudooziRGqkJA" x="-15"/>
           </children>
           <children xmi:type="notation:Node" xmi:id="_J25-2JUqEeudooziRGqkJA" type="6003">
-            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-2ZUqEeudooziRGqkJA" y="10"/>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J25-2ZUqEeudooziRGqkJA" x="-22" y="2"/>
           </children>
           <styles xmi:type="notation:ConnectorStyle" xmi:id="_J25-0ZUqEeudooziRGqkJA" routing="Rectilinear"/>
           <styles xmi:type="notation:FontStyle" xmi:id="_J25-0pUqEeudooziRGqkJA" fontColor="7490599" fontName=".AppleSystemUIFont" fontHeight="8"/>
-          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25-05UqEeudooziRGqkJA" points="[0, -63, 0, 116]$[0, -123, 0, 56]"/>
+          <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J25-05UqEeudooziRGqkJA" points="[-11, -49, 18, 222]$[-11, -168, 18, 103]"/>
           <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25-2pUqEeudooziRGqkJA" id="(0.5,0.5)"/>
           <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J25-25UqEeudooziRGqkJA" id="(0.5,0.5)"/>
         </edges>
@@ -332,7 +381,7 @@
         </ownedStyle>
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
       </ownedElements>
-      <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2quQ5UqEeudooziRGqkJA" name="uValue : QuantityDouble = W/(m²·K)" tooltipText="">
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2quQ5UqEeudooziRGqkJA" name="uValue : QuantityDouble = W/(m²*K)" tooltipText="">
         <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/uValue"/>
         <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/uValue"/>
         <ownedStyle xmi:type="diagram:BundledImage" uid="_J2quRJUqEeudooziRGqkJA" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
@@ -364,6 +413,54 @@
         </ownedStyle>
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
       </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aAKogrChEeup29SeaUMpQQ" name="embodiedEnergy : QuantityDouble = kW*h/m²" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/embodiedEnergy"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/embodiedEnergy"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aALPkLChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aAL2oLChEeup29SeaUMpQQ" name="embodiedCarbon : QuantityDouble = kg" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/embodiedCarbon"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/embodiedCarbon"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aAMdsLChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aAMdsbChEeup29SeaUMpQQ" name="constructionDescription : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/constructionDescription"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/constructionDescription"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aAMdsrChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aANEwLChEeup29SeaUMpQQ" name="disposalEnergy : QuantityDouble = kW*h/m²" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/disposalEnergy"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/disposalEnergy"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aANEwbChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aANEwrChEeup29SeaUMpQQ" name="disposalCarbon : QuantityDouble = kg" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/disposalCarbon"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/disposalCarbon"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aANr0LChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aANr0bChEeup29SeaUMpQQ" name="disposalDescription : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/disposalDescription"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//WindowType/disposalDescription"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aANr0rChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
     </ownedDiagramElements>
     <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_J2l1wJUqEeudooziRGqkJA" name="Catalog" tooltipText="" incomingEdges="_J2vmypUqEeudooziRGqkJA _J2wN1pUqEeudooziRGqkJA" width="12" height="10">
       <target xmi:type="ecore:EClass" href="buildingphysics.ecore#//Catalog"/>
@@ -452,7 +549,7 @@
         <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
       </ownedStyle>
       <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
-      <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2sjcpUqEeudooziRGqkJA" name="id : EInt" tooltipText="">
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2sjcpUqEeudooziRGqkJA" name="id : ELong" tooltipText="">
         <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/id"/>
         <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/id"/>
         <ownedStyle xmi:type="diagram:BundledImage" uid="_J2tKgJUqEeudooziRGqkJA" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
@@ -484,7 +581,7 @@
         </ownedStyle>
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
       </ownedElements>
-      <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2txkZUqEeudooziRGqkJA" name="conductivity : QuantityDouble = W/(mâ‹…K)" tooltipText="">
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_J2txkZUqEeudooziRGqkJA" name="conductivity : QuantityDouble = W/(m*K)" tooltipText="">
         <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/conductivity"/>
         <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/conductivity"/>
         <ownedStyle xmi:type="diagram:BundledImage" uid="_J2txkpUqEeudooziRGqkJA" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
@@ -492,6 +589,54 @@
         </ownedStyle>
         <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
       </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aARWMbChEeup29SeaUMpQQ" name="embodiedEnergy : QuantityDouble = kW*h/kg" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/embodiedEnergy"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/embodiedEnergy"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aARWMrChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aAR9QLChEeup29SeaUMpQQ" name="embodiedCarbon : QuantityDouble = kg" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/embodiedCarbon"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/embodiedCarbon"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aAR9QbChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aAR9QrChEeup29SeaUMpQQ" name="constructionDescription : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/constructionDescription"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/constructionDescription"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aASkULChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aASkUbChEeup29SeaUMpQQ" name="disposalEnergy : QuantityDouble = kW*h/kg" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/disposalEnergy"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/disposalEnergy"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aASkUrChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aASkU7ChEeup29SeaUMpQQ" name="disposalCarbon : QuantityDouble = kg" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/disposalCarbon"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/disposalCarbon"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aATLYLChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
+      <ownedElements xmi:type="diagram:DNodeListElement" uid="_aATLYbChEeup29SeaUMpQQ" name="disposalDescription : EString" tooltipText="">
+        <target xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/disposalDescription"/>
+        <semanticElements xmi:type="ecore:EAttribute" href="buildingphysics.ecore#//Material/disposalDescription"/>
+        <ownedStyle xmi:type="diagram:BundledImage" uid="_aATLYrChEeup29SeaUMpQQ" labelAlignment="LEFT" description="_J2qHNJUqEeudooziRGqkJA">
+          <labelFormat>bold</labelFormat>
+        </ownedStyle>
+        <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
+      </ownedElements>
     </ownedDiagramElements>
     <ownedDiagramElements xmi:type="diagram:DEdge" uid="_J2uYoJUqEeudooziRGqkJA" name="[1..1] windowCatalog" sourceNode="_J2jZgJUqEeudooziRGqkJA" targetNode="_J2mc0JUqEeudooziRGqkJA">
       <target xmi:type="ecore:EReference" href="buildingphysics.ecore#//BuildingPhysicsCatalog/windowCatalog"/>
diff --git a/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore b/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore
index 1fc2690..c40bc33 100644
--- a/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore
+++ b/de.hftstuttgart.buildingphysics/model/buildingphysics.ecore
@@ -31,8 +31,22 @@
         <details key="documentation" value="fraction between 0.0 and 1.0"/>
       </eAnnotations>
     </eStructuralFeatures>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="lifeCycle" unique="false"
-        lowerBound="1" eType="#//LifeCycle" containment="true"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="embodiedEnergy" lowerBound="1"
+        eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
+        defaultValueLiteral="kW*h/m²"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="embodiedCarbon" lowerBound="1"
+        eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
+        defaultValueLiteral="kg"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="constructionDescription"
+        lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="disposalEnergy" lowerBound="1"
+        eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
+        defaultValueLiteral="kW*h/m²"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="disposalCarbon" lowerBound="1"
+        eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
+        defaultValueLiteral="kg"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="disposalDescription" lowerBound="1"
+        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Catalog" abstract="true">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -65,11 +79,9 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="conductivity" lowerBound="1"
         eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
         defaultValueLiteral="W/(m*K)"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="LifeCycle">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="embodiedEnergy" lowerBound="1"
         eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
-        defaultValueLiteral="kW*h"/>
+        defaultValueLiteral="kW*h/kg"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="embodiedCarbon" lowerBound="1"
         eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
         defaultValueLiteral="kg"/>
@@ -77,7 +89,7 @@
         lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="disposalEnergy" lowerBound="1"
         eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
-        defaultValueLiteral="kW*h"/>
+        defaultValueLiteral="kW*h/kg"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="disposalCarbon" lowerBound="1"
         eType="ecore:EDataType ../../de.hftstuttgart.cityunits.model/model/Quantities.ecore#//QuantityDouble"
         defaultValueLiteral="kg"/>
diff --git a/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel b/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel
index 23d0f9f..9506117 100644
--- a/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel
+++ b/de.hftstuttgart.buildingphysics/model/buildingphysics.genmodel
@@ -23,8 +23,12 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/gValue"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/glazingNumber"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/frameRatio"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference buildingphysics.ecore#//WindowType/lifeCycle"
-          suppressedUnsetVisibility="true"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/embodiedEnergy"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/embodiedCarbon"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/constructionDescription"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/disposalEnergy"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/disposalCarbon"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//WindowType/disposalDescription"/>
     </genClasses>
     <genClasses ecoreClass="buildingphysics.ecore#//Catalog">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Catalog/name"/>
@@ -47,14 +51,12 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/density"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/heatCapacity"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/conductivity"/>
-    </genClasses>
-    <genClasses ecoreClass="buildingphysics.ecore#//LifeCycle">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//LifeCycle/embodiedEnergy"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//LifeCycle/embodiedCarbon"/>
-      <genFeatures createChild="false" propertyMultiLine="true" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//LifeCycle/constructionDescription"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//LifeCycle/disposalEnergy"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//LifeCycle/disposalCarbon"/>
-      <genFeatures createChild="false" propertyMultiLine="true" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//LifeCycle/disposalDescription"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/embodiedEnergy"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/embodiedCarbon"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/constructionDescription"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/disposalEnergy"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/disposalCarbon"/>
+      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute buildingphysics.ecore#//Material/disposalDescription"/>
     </genClasses>
   </genPackages>
 </genmodel:GenModel>
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsFactory.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsFactory.java
index 233688c..2c9a779 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsFactory.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsFactory.java
@@ -75,15 +75,6 @@ public interface BuildingPhysicsFactory extends EFactory {
 	 */
 	Material createMaterial();
 
-	/**
-	 * Returns a new object of class '<em>Life Cycle</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Life Cycle</em>'.
-	 * @generated
-	 */
-	LifeCycle createLifeCycle();
-
 	/**
 	 * Returns the package supported by this factory.
 	 * <!-- begin-user-doc -->
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java
index 65743de..208f3ea 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/BuildingPhysicsPackage.java
@@ -176,13 +176,58 @@ public interface BuildingPhysicsPackage extends EPackage {
 	int WINDOW_TYPE__FRAME_RATIO = 5;
 
 	/**
-	 * The feature id for the '<em><b>Life Cycle</b></em>' containment reference.
+	 * The feature id for the '<em><b>Embodied Energy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WINDOW_TYPE__EMBODIED_ENERGY = 6;
+
+	/**
+	 * The feature id for the '<em><b>Embodied Carbon</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WINDOW_TYPE__EMBODIED_CARBON = 7;
+
+	/**
+	 * The feature id for the '<em><b>Construction Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WINDOW_TYPE__CONSTRUCTION_DESCRIPTION = 8;
+
+	/**
+	 * The feature id for the '<em><b>Disposal Energy</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WINDOW_TYPE__DISPOSAL_ENERGY = 9;
+
+	/**
+	 * The feature id for the '<em><b>Disposal Carbon</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int WINDOW_TYPE__DISPOSAL_CARBON = 10;
+
+	/**
+	 * The feature id for the '<em><b>Disposal Description</b></em>' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int WINDOW_TYPE__LIFE_CYCLE = 6;
+	int WINDOW_TYPE__DISPOSAL_DESCRIPTION = 11;
 
 	/**
 	 * The number of structural features of the '<em>Window Type</em>' class.
@@ -191,7 +236,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int WINDOW_TYPE_FEATURE_COUNT = 7;
+	int WINDOW_TYPE_FEATURE_COUNT = 12;
 
 	/**
 	 * The number of operations of the '<em>Window Type</em>' class.
@@ -486,34 +531,6 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 */
 	int MATERIAL__CONDUCTIVITY = 4;
 
-	/**
-	 * The number of structural features of the '<em>Material</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MATERIAL_FEATURE_COUNT = 5;
-
-	/**
-	 * The number of operations of the '<em>Material</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int MATERIAL_OPERATION_COUNT = 0;
-
-	/**
-	 * The meta object id for the '{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl <em>Life Cycle</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see de.hftstuttgart.buildingphysics.impl.LifeCycleImpl
-	 * @see de.hftstuttgart.buildingphysics.impl.BuildingPhysicsPackageImpl#getLifeCycle()
-	 * @generated
-	 */
-	int LIFE_CYCLE = 7;
-
 	/**
 	 * The feature id for the '<em><b>Embodied Energy</b></em>' attribute.
 	 * <!-- begin-user-doc -->
@@ -521,7 +538,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE__EMBODIED_ENERGY = 0;
+	int MATERIAL__EMBODIED_ENERGY = 5;
 
 	/**
 	 * The feature id for the '<em><b>Embodied Carbon</b></em>' attribute.
@@ -530,7 +547,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE__EMBODIED_CARBON = 1;
+	int MATERIAL__EMBODIED_CARBON = 6;
 
 	/**
 	 * The feature id for the '<em><b>Construction Description</b></em>' attribute.
@@ -539,7 +556,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE__CONSTRUCTION_DESCRIPTION = 2;
+	int MATERIAL__CONSTRUCTION_DESCRIPTION = 7;
 
 	/**
 	 * The feature id for the '<em><b>Disposal Energy</b></em>' attribute.
@@ -548,7 +565,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE__DISPOSAL_ENERGY = 3;
+	int MATERIAL__DISPOSAL_ENERGY = 8;
 
 	/**
 	 * The feature id for the '<em><b>Disposal Carbon</b></em>' attribute.
@@ -557,7 +574,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE__DISPOSAL_CARBON = 4;
+	int MATERIAL__DISPOSAL_CARBON = 9;
 
 	/**
 	 * The feature id for the '<em><b>Disposal Description</b></em>' attribute.
@@ -566,25 +583,25 @@ public interface BuildingPhysicsPackage extends EPackage {
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE__DISPOSAL_DESCRIPTION = 5;
+	int MATERIAL__DISPOSAL_DESCRIPTION = 10;
 
 	/**
-	 * The number of structural features of the '<em>Life Cycle</em>' class.
+	 * The number of structural features of the '<em>Material</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE_FEATURE_COUNT = 6;
+	int MATERIAL_FEATURE_COUNT = 11;
 
 	/**
-	 * The number of operations of the '<em>Life Cycle</em>' class.
+	 * The number of operations of the '<em>Material</em>' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @generated
 	 * @ordered
 	 */
-	int LIFE_CYCLE_OPERATION_COUNT = 0;
+	int MATERIAL_OPERATION_COUNT = 0;
 
 	/**
 	 * Returns the meta object for class '{@link de.hftstuttgart.buildingphysics.BuildingPhysicsCatalog <em>Catalog</em>}'.
@@ -706,15 +723,70 @@ public interface BuildingPhysicsPackage extends EPackage {
 	EAttribute getWindowType_FrameRatio();
 
 	/**
-	 * Returns the meta object for the containment reference '{@link de.hftstuttgart.buildingphysics.WindowType#getLifeCycle <em>Life Cycle</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.WindowType#getEmbodiedEnergy <em>Embodied Energy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Embodied Energy</em>'.
+	 * @see de.hftstuttgart.buildingphysics.WindowType#getEmbodiedEnergy()
+	 * @see #getWindowType()
+	 * @generated
+	 */
+	EAttribute getWindowType_EmbodiedEnergy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.WindowType#getEmbodiedCarbon <em>Embodied Carbon</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Embodied Carbon</em>'.
+	 * @see de.hftstuttgart.buildingphysics.WindowType#getEmbodiedCarbon()
+	 * @see #getWindowType()
+	 * @generated
+	 */
+	EAttribute getWindowType_EmbodiedCarbon();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.WindowType#getConstructionDescription <em>Construction Description</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Life Cycle</em>'.
-	 * @see de.hftstuttgart.buildingphysics.WindowType#getLifeCycle()
+	 * @return the meta object for the attribute '<em>Construction Description</em>'.
+	 * @see de.hftstuttgart.buildingphysics.WindowType#getConstructionDescription()
+	 * @see #getWindowType()
+	 * @generated
+	 */
+	EAttribute getWindowType_ConstructionDescription();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalEnergy <em>Disposal Energy</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Disposal Energy</em>'.
+	 * @see de.hftstuttgart.buildingphysics.WindowType#getDisposalEnergy()
 	 * @see #getWindowType()
 	 * @generated
 	 */
-	EReference getWindowType_LifeCycle();
+	EAttribute getWindowType_DisposalEnergy();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalCarbon <em>Disposal Carbon</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Disposal Carbon</em>'.
+	 * @see de.hftstuttgart.buildingphysics.WindowType#getDisposalCarbon()
+	 * @see #getWindowType()
+	 * @generated
+	 */
+	EAttribute getWindowType_DisposalCarbon();
+
+	/**
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalDescription <em>Disposal Description</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the attribute '<em>Disposal Description</em>'.
+	 * @see de.hftstuttgart.buildingphysics.WindowType#getDisposalDescription()
+	 * @see #getWindowType()
+	 * @generated
+	 */
+	EAttribute getWindowType_DisposalDescription();
 
 	/**
 	 * Returns the meta object for class '{@link de.hftstuttgart.buildingphysics.Catalog <em>Catalog</em>}'.
@@ -899,80 +971,70 @@ public interface BuildingPhysicsPackage extends EPackage {
 	EAttribute getMaterial_Conductivity();
 
 	/**
-	 * Returns the meta object for class '{@link de.hftstuttgart.buildingphysics.LifeCycle <em>Life Cycle</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Life Cycle</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle
-	 * @generated
-	 */
-	EClass getLifeCycle();
-
-	/**
-	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.LifeCycle#getEmbodiedEnergy <em>Embodied Energy</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.Material#getEmbodiedEnergy <em>Embodied Energy</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Embodied Energy</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle#getEmbodiedEnergy()
-	 * @see #getLifeCycle()
+	 * @see de.hftstuttgart.buildingphysics.Material#getEmbodiedEnergy()
+	 * @see #getMaterial()
 	 * @generated
 	 */
-	EAttribute getLifeCycle_EmbodiedEnergy();
+	EAttribute getMaterial_EmbodiedEnergy();
 
 	/**
-	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.LifeCycle#getEmbodiedCarbon <em>Embodied Carbon</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.Material#getEmbodiedCarbon <em>Embodied Carbon</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Embodied Carbon</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle#getEmbodiedCarbon()
-	 * @see #getLifeCycle()
+	 * @see de.hftstuttgart.buildingphysics.Material#getEmbodiedCarbon()
+	 * @see #getMaterial()
 	 * @generated
 	 */
-	EAttribute getLifeCycle_EmbodiedCarbon();
+	EAttribute getMaterial_EmbodiedCarbon();
 
 	/**
-	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.LifeCycle#getConstructionDescription <em>Construction Description</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.Material#getConstructionDescription <em>Construction Description</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Construction Description</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle#getConstructionDescription()
-	 * @see #getLifeCycle()
+	 * @see de.hftstuttgart.buildingphysics.Material#getConstructionDescription()
+	 * @see #getMaterial()
 	 * @generated
 	 */
-	EAttribute getLifeCycle_ConstructionDescription();
+	EAttribute getMaterial_ConstructionDescription();
 
 	/**
-	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.LifeCycle#getDisposalEnergy <em>Disposal Energy</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.Material#getDisposalEnergy <em>Disposal Energy</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Disposal Energy</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle#getDisposalEnergy()
-	 * @see #getLifeCycle()
+	 * @see de.hftstuttgart.buildingphysics.Material#getDisposalEnergy()
+	 * @see #getMaterial()
 	 * @generated
 	 */
-	EAttribute getLifeCycle_DisposalEnergy();
+	EAttribute getMaterial_DisposalEnergy();
 
 	/**
-	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.LifeCycle#getDisposalCarbon <em>Disposal Carbon</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.Material#getDisposalCarbon <em>Disposal Carbon</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Disposal Carbon</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle#getDisposalCarbon()
-	 * @see #getLifeCycle()
+	 * @see de.hftstuttgart.buildingphysics.Material#getDisposalCarbon()
+	 * @see #getMaterial()
 	 * @generated
 	 */
-	EAttribute getLifeCycle_DisposalCarbon();
+	EAttribute getMaterial_DisposalCarbon();
 
 	/**
-	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.LifeCycle#getDisposalDescription <em>Disposal Description</em>}'.
+	 * Returns the meta object for the attribute '{@link de.hftstuttgart.buildingphysics.Material#getDisposalDescription <em>Disposal Description</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
 	 * @return the meta object for the attribute '<em>Disposal Description</em>'.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle#getDisposalDescription()
-	 * @see #getLifeCycle()
+	 * @see de.hftstuttgart.buildingphysics.Material#getDisposalDescription()
+	 * @see #getMaterial()
 	 * @generated
 	 */
-	EAttribute getLifeCycle_DisposalDescription();
+	EAttribute getMaterial_DisposalDescription();
 
 	/**
 	 * Returns the factory that creates the instances of the model.
@@ -1090,12 +1152,52 @@ public interface BuildingPhysicsPackage extends EPackage {
 		EAttribute WINDOW_TYPE__FRAME_RATIO = eINSTANCE.getWindowType_FrameRatio();
 
 		/**
-		 * The meta object literal for the '<em><b>Life Cycle</b></em>' containment reference feature.
+		 * The meta object literal for the '<em><b>Embodied Energy</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EReference WINDOW_TYPE__LIFE_CYCLE = eINSTANCE.getWindowType_LifeCycle();
+		EAttribute WINDOW_TYPE__EMBODIED_ENERGY = eINSTANCE.getWindowType_EmbodiedEnergy();
+
+		/**
+		 * The meta object literal for the '<em><b>Embodied Carbon</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WINDOW_TYPE__EMBODIED_CARBON = eINSTANCE.getWindowType_EmbodiedCarbon();
+
+		/**
+		 * The meta object literal for the '<em><b>Construction Description</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WINDOW_TYPE__CONSTRUCTION_DESCRIPTION = eINSTANCE.getWindowType_ConstructionDescription();
+
+		/**
+		 * The meta object literal for the '<em><b>Disposal Energy</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WINDOW_TYPE__DISPOSAL_ENERGY = eINSTANCE.getWindowType_DisposalEnergy();
+
+		/**
+		 * The meta object literal for the '<em><b>Disposal Carbon</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WINDOW_TYPE__DISPOSAL_CARBON = eINSTANCE.getWindowType_DisposalCarbon();
+
+		/**
+		 * The meta object literal for the '<em><b>Disposal Description</b></em>' attribute feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EAttribute WINDOW_TYPE__DISPOSAL_DESCRIPTION = eINSTANCE.getWindowType_DisposalDescription();
 
 		/**
 		 * The meta object literal for the '{@link de.hftstuttgart.buildingphysics.impl.CatalogImpl <em>Catalog</em>}' class.
@@ -1243,23 +1345,13 @@ public interface BuildingPhysicsPackage extends EPackage {
 		 */
 		EAttribute MATERIAL__CONDUCTIVITY = eINSTANCE.getMaterial_Conductivity();
 
-		/**
-		 * The meta object literal for the '{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl <em>Life Cycle</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see de.hftstuttgart.buildingphysics.impl.LifeCycleImpl
-		 * @see de.hftstuttgart.buildingphysics.impl.BuildingPhysicsPackageImpl#getLifeCycle()
-		 * @generated
-		 */
-		EClass LIFE_CYCLE = eINSTANCE.getLifeCycle();
-
 		/**
 		 * The meta object literal for the '<em><b>Embodied Energy</b></em>' attribute feature.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute LIFE_CYCLE__EMBODIED_ENERGY = eINSTANCE.getLifeCycle_EmbodiedEnergy();
+		EAttribute MATERIAL__EMBODIED_ENERGY = eINSTANCE.getMaterial_EmbodiedEnergy();
 
 		/**
 		 * The meta object literal for the '<em><b>Embodied Carbon</b></em>' attribute feature.
@@ -1267,7 +1359,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute LIFE_CYCLE__EMBODIED_CARBON = eINSTANCE.getLifeCycle_EmbodiedCarbon();
+		EAttribute MATERIAL__EMBODIED_CARBON = eINSTANCE.getMaterial_EmbodiedCarbon();
 
 		/**
 		 * The meta object literal for the '<em><b>Construction Description</b></em>' attribute feature.
@@ -1275,7 +1367,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute LIFE_CYCLE__CONSTRUCTION_DESCRIPTION = eINSTANCE.getLifeCycle_ConstructionDescription();
+		EAttribute MATERIAL__CONSTRUCTION_DESCRIPTION = eINSTANCE.getMaterial_ConstructionDescription();
 
 		/**
 		 * The meta object literal for the '<em><b>Disposal Energy</b></em>' attribute feature.
@@ -1283,7 +1375,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute LIFE_CYCLE__DISPOSAL_ENERGY = eINSTANCE.getLifeCycle_DisposalEnergy();
+		EAttribute MATERIAL__DISPOSAL_ENERGY = eINSTANCE.getMaterial_DisposalEnergy();
 
 		/**
 		 * The meta object literal for the '<em><b>Disposal Carbon</b></em>' attribute feature.
@@ -1291,7 +1383,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute LIFE_CYCLE__DISPOSAL_CARBON = eINSTANCE.getLifeCycle_DisposalCarbon();
+		EAttribute MATERIAL__DISPOSAL_CARBON = eINSTANCE.getMaterial_DisposalCarbon();
 
 		/**
 		 * The meta object literal for the '<em><b>Disposal Description</b></em>' attribute feature.
@@ -1299,7 +1391,7 @@ public interface BuildingPhysicsPackage extends EPackage {
 		 * <!-- end-user-doc -->
 		 * @generated
 		 */
-		EAttribute LIFE_CYCLE__DISPOSAL_DESCRIPTION = eINSTANCE.getLifeCycle_DisposalDescription();
+		EAttribute MATERIAL__DISPOSAL_DESCRIPTION = eINSTANCE.getMaterial_DisposalDescription();
 
 	}
 
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java
index 7d9bfe3..3671442 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/Material.java
@@ -20,6 +20,12 @@ import org.eclipse.emf.ecore.EObject;
  *   <li>{@link de.hftstuttgart.buildingphysics.Material#getDensity <em>Density</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.Material#getHeatCapacity <em>Heat Capacity</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.Material#getConductivity <em>Conductivity</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.Material#getEmbodiedEnergy <em>Embodied Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.Material#getEmbodiedCarbon <em>Embodied Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.Material#getConstructionDescription <em>Construction Description</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.Material#getDisposalEnergy <em>Disposal Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.Material#getDisposalCarbon <em>Disposal Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.Material#getDisposalDescription <em>Disposal Description</em>}</li>
  * </ul>
  *
  * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial()
@@ -140,4 +146,140 @@ public interface Material extends EObject {
 	 */
 	void setConductivity(NullableQuantity value);
 
+	/**
+	 * Returns the value of the '<em><b>Embodied Energy</b></em>' attribute.
+	 * The default value is <code>"kW*h/kg"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Embodied Energy</em>' attribute.
+	 * @see #setEmbodiedEnergy(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_EmbodiedEnergy()
+	 * @model default="kW*h/kg" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getEmbodiedEnergy();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getEmbodiedEnergy <em>Embodied Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Embodied Energy</em>' attribute.
+	 * @see #getEmbodiedEnergy()
+	 * @generated
+	 */
+	void setEmbodiedEnergy(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Embodied Carbon</b></em>' attribute.
+	 * The default value is <code>"kg"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Embodied Carbon</em>' attribute.
+	 * @see #setEmbodiedCarbon(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_EmbodiedCarbon()
+	 * @model default="kg" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getEmbodiedCarbon();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getEmbodiedCarbon <em>Embodied Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Embodied Carbon</em>' attribute.
+	 * @see #getEmbodiedCarbon()
+	 * @generated
+	 */
+	void setEmbodiedCarbon(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Construction Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Construction Description</em>' attribute.
+	 * @see #setConstructionDescription(String)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_ConstructionDescription()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getConstructionDescription();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getConstructionDescription <em>Construction Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Construction Description</em>' attribute.
+	 * @see #getConstructionDescription()
+	 * @generated
+	 */
+	void setConstructionDescription(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Disposal Energy</b></em>' attribute.
+	 * The default value is <code>"kW*h/kg"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Disposal Energy</em>' attribute.
+	 * @see #setDisposalEnergy(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_DisposalEnergy()
+	 * @model default="kW*h/kg" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getDisposalEnergy();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getDisposalEnergy <em>Disposal Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Disposal Energy</em>' attribute.
+	 * @see #getDisposalEnergy()
+	 * @generated
+	 */
+	void setDisposalEnergy(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Disposal Carbon</b></em>' attribute.
+	 * The default value is <code>"kg"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Disposal Carbon</em>' attribute.
+	 * @see #setDisposalCarbon(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_DisposalCarbon()
+	 * @model default="kg" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getDisposalCarbon();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getDisposalCarbon <em>Disposal Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Disposal Carbon</em>' attribute.
+	 * @see #getDisposalCarbon()
+	 * @generated
+	 */
+	void setDisposalCarbon(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Disposal Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Disposal Description</em>' attribute.
+	 * @see #setDisposalDescription(String)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getMaterial_DisposalDescription()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getDisposalDescription();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.Material#getDisposalDescription <em>Disposal Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Disposal Description</em>' attribute.
+	 * @see #getDisposalDescription()
+	 * @generated
+	 */
+	void setDisposalDescription(String value);
+
 } // Material
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/WindowType.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/WindowType.java
index 63ab6fc..7dbff26 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/WindowType.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/WindowType.java
@@ -20,7 +20,12 @@ import org.eclipse.emf.ecore.EObject;
  *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getGValue <em>GValue</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getGlazingNumber <em>Glazing Number</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getFrameRatio <em>Frame Ratio</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getLifeCycle <em>Life Cycle</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getEmbodiedEnergy <em>Embodied Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getEmbodiedCarbon <em>Embodied Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getConstructionDescription <em>Construction Description</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalEnergy <em>Disposal Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalCarbon <em>Disposal Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalDescription <em>Disposal Description</em>}</li>
  * </ul>
  *
  * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType()
@@ -169,25 +174,139 @@ public interface WindowType extends EObject {
 	void setFrameRatio(double value);
 
 	/**
-	 * Returns the value of the '<em><b>Life Cycle</b></em>' containment reference.
+	 * Returns the value of the '<em><b>Embodied Energy</b></em>' attribute.
+	 * The default value is <code>"kW*h/m\u00b2"</code>.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Life Cycle</em>' containment reference.
-	 * @see #setLifeCycle(LifeCycle)
-	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_LifeCycle()
-	 * @model containment="true" required="true" suppressedUnsetVisibility="true"
+	 * @return the value of the '<em>Embodied Energy</em>' attribute.
+	 * @see #setEmbodiedEnergy(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_EmbodiedEnergy()
+	 * @model default="kW*h/m\u00b2" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
 	 * @generated
 	 */
-	LifeCycle getLifeCycle();
+	NullableQuantity getEmbodiedEnergy();
 
 	/**
-	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getLifeCycle <em>Life Cycle</em>}' containment reference.
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getEmbodiedEnergy <em>Embodied Energy</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Life Cycle</em>' containment reference.
-	 * @see #getLifeCycle()
+	 * @param value the new value of the '<em>Embodied Energy</em>' attribute.
+	 * @see #getEmbodiedEnergy()
 	 * @generated
 	 */
-	void setLifeCycle(LifeCycle value);
+	void setEmbodiedEnergy(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Embodied Carbon</b></em>' attribute.
+	 * The default value is <code>"kg"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Embodied Carbon</em>' attribute.
+	 * @see #setEmbodiedCarbon(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_EmbodiedCarbon()
+	 * @model default="kg" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getEmbodiedCarbon();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getEmbodiedCarbon <em>Embodied Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Embodied Carbon</em>' attribute.
+	 * @see #getEmbodiedCarbon()
+	 * @generated
+	 */
+	void setEmbodiedCarbon(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Construction Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Construction Description</em>' attribute.
+	 * @see #setConstructionDescription(String)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_ConstructionDescription()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getConstructionDescription();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getConstructionDescription <em>Construction Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Construction Description</em>' attribute.
+	 * @see #getConstructionDescription()
+	 * @generated
+	 */
+	void setConstructionDescription(String value);
+
+	/**
+	 * Returns the value of the '<em><b>Disposal Energy</b></em>' attribute.
+	 * The default value is <code>"kW*h/m\u00b2"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Disposal Energy</em>' attribute.
+	 * @see #setDisposalEnergy(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_DisposalEnergy()
+	 * @model default="kW*h/m\u00b2" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getDisposalEnergy();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalEnergy <em>Disposal Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Disposal Energy</em>' attribute.
+	 * @see #getDisposalEnergy()
+	 * @generated
+	 */
+	void setDisposalEnergy(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Disposal Carbon</b></em>' attribute.
+	 * The default value is <code>"kg"</code>.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Disposal Carbon</em>' attribute.
+	 * @see #setDisposalCarbon(NullableQuantity)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_DisposalCarbon()
+	 * @model default="kg" dataType="de.hftstuttgart.cityunits.model.quantities.QuantityDouble" required="true"
+	 * @generated
+	 */
+	NullableQuantity getDisposalCarbon();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalCarbon <em>Disposal Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Disposal Carbon</em>' attribute.
+	 * @see #getDisposalCarbon()
+	 * @generated
+	 */
+	void setDisposalCarbon(NullableQuantity value);
+
+	/**
+	 * Returns the value of the '<em><b>Disposal Description</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Disposal Description</em>' attribute.
+	 * @see #setDisposalDescription(String)
+	 * @see de.hftstuttgart.buildingphysics.BuildingPhysicsPackage#getWindowType_DisposalDescription()
+	 * @model required="true"
+	 * @generated
+	 */
+	String getDisposalDescription();
+
+	/**
+	 * Sets the value of the '{@link de.hftstuttgart.buildingphysics.WindowType#getDisposalDescription <em>Disposal Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Disposal Description</em>' attribute.
+	 * @see #getDisposalDescription()
+	 * @generated
+	 */
+	void setDisposalDescription(String value);
 
 } // WindowType
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsFactoryImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsFactoryImpl.java
index 63ac1d1..51f21ce 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsFactoryImpl.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsFactoryImpl.java
@@ -68,8 +68,6 @@ public class BuildingPhysicsFactoryImpl extends EFactoryImpl implements Building
 			return createMaterialCategory();
 		case BuildingPhysicsPackage.MATERIAL:
 			return createMaterial();
-		case BuildingPhysicsPackage.LIFE_CYCLE:
-			return createLifeCycle();
 		default:
 			throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -141,17 +139,6 @@ public class BuildingPhysicsFactoryImpl extends EFactoryImpl implements Building
 		return material;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public LifeCycle createLifeCycle() {
-		LifeCycleImpl lifeCycle = new LifeCycleImpl();
-		return lifeCycle;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java
index ec62376..9d9e11f 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/BuildingPhysicsPackageImpl.java
@@ -6,7 +6,6 @@ import de.hftstuttgart.buildingphysics.BuildingPhysicsCatalog;
 import de.hftstuttgart.buildingphysics.BuildingPhysicsFactory;
 import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage;
 import de.hftstuttgart.buildingphysics.Catalog;
-import de.hftstuttgart.buildingphysics.LifeCycle;
 import de.hftstuttgart.buildingphysics.Material;
 import de.hftstuttgart.buildingphysics.MaterialCatalog;
 import de.hftstuttgart.buildingphysics.MaterialCategory;
@@ -78,13 +77,6 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 */
 	private EClass materialEClass = null;
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass lifeCycleEClass = null;
-
 	/**
 	 * Creates an instance of the model <b>Package</b>, registered with
 	 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
@@ -268,8 +260,58 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EReference getWindowType_LifeCycle() {
-		return (EReference) windowTypeEClass.getEStructuralFeatures().get(6);
+	public EAttribute getWindowType_EmbodiedEnergy() {
+		return (EAttribute) windowTypeEClass.getEStructuralFeatures().get(6);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getWindowType_EmbodiedCarbon() {
+		return (EAttribute) windowTypeEClass.getEStructuralFeatures().get(7);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getWindowType_ConstructionDescription() {
+		return (EAttribute) windowTypeEClass.getEStructuralFeatures().get(8);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getWindowType_DisposalEnergy() {
+		return (EAttribute) windowTypeEClass.getEStructuralFeatures().get(9);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getWindowType_DisposalCarbon() {
+		return (EAttribute) windowTypeEClass.getEStructuralFeatures().get(10);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public EAttribute getWindowType_DisposalDescription() {
+		return (EAttribute) windowTypeEClass.getEStructuralFeatures().get(11);
 	}
 
 	/**
@@ -448,18 +490,8 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EClass getLifeCycle() {
-		return lifeCycleEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public EAttribute getLifeCycle_EmbodiedEnergy() {
-		return (EAttribute) lifeCycleEClass.getEStructuralFeatures().get(0);
+	public EAttribute getMaterial_EmbodiedEnergy() {
+		return (EAttribute) materialEClass.getEStructuralFeatures().get(5);
 	}
 
 	/**
@@ -468,8 +500,8 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLifeCycle_EmbodiedCarbon() {
-		return (EAttribute) lifeCycleEClass.getEStructuralFeatures().get(1);
+	public EAttribute getMaterial_EmbodiedCarbon() {
+		return (EAttribute) materialEClass.getEStructuralFeatures().get(6);
 	}
 
 	/**
@@ -478,8 +510,8 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLifeCycle_ConstructionDescription() {
-		return (EAttribute) lifeCycleEClass.getEStructuralFeatures().get(2);
+	public EAttribute getMaterial_ConstructionDescription() {
+		return (EAttribute) materialEClass.getEStructuralFeatures().get(7);
 	}
 
 	/**
@@ -488,8 +520,8 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLifeCycle_DisposalEnergy() {
-		return (EAttribute) lifeCycleEClass.getEStructuralFeatures().get(3);
+	public EAttribute getMaterial_DisposalEnergy() {
+		return (EAttribute) materialEClass.getEStructuralFeatures().get(8);
 	}
 
 	/**
@@ -498,8 +530,8 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLifeCycle_DisposalCarbon() {
-		return (EAttribute) lifeCycleEClass.getEStructuralFeatures().get(4);
+	public EAttribute getMaterial_DisposalCarbon() {
+		return (EAttribute) materialEClass.getEStructuralFeatures().get(9);
 	}
 
 	/**
@@ -508,8 +540,8 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 	 * @generated
 	 */
 	@Override
-	public EAttribute getLifeCycle_DisposalDescription() {
-		return (EAttribute) lifeCycleEClass.getEStructuralFeatures().get(5);
+	public EAttribute getMaterial_DisposalDescription() {
+		return (EAttribute) materialEClass.getEStructuralFeatures().get(10);
 	}
 
 	/**
@@ -554,7 +586,12 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 		createEAttribute(windowTypeEClass, WINDOW_TYPE__GVALUE);
 		createEAttribute(windowTypeEClass, WINDOW_TYPE__GLAZING_NUMBER);
 		createEAttribute(windowTypeEClass, WINDOW_TYPE__FRAME_RATIO);
-		createEReference(windowTypeEClass, WINDOW_TYPE__LIFE_CYCLE);
+		createEAttribute(windowTypeEClass, WINDOW_TYPE__EMBODIED_ENERGY);
+		createEAttribute(windowTypeEClass, WINDOW_TYPE__EMBODIED_CARBON);
+		createEAttribute(windowTypeEClass, WINDOW_TYPE__CONSTRUCTION_DESCRIPTION);
+		createEAttribute(windowTypeEClass, WINDOW_TYPE__DISPOSAL_ENERGY);
+		createEAttribute(windowTypeEClass, WINDOW_TYPE__DISPOSAL_CARBON);
+		createEAttribute(windowTypeEClass, WINDOW_TYPE__DISPOSAL_DESCRIPTION);
 
 		catalogEClass = createEClass(CATALOG);
 		createEAttribute(catalogEClass, CATALOG__NAME);
@@ -577,14 +614,12 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 		createEAttribute(materialEClass, MATERIAL__DENSITY);
 		createEAttribute(materialEClass, MATERIAL__HEAT_CAPACITY);
 		createEAttribute(materialEClass, MATERIAL__CONDUCTIVITY);
-
-		lifeCycleEClass = createEClass(LIFE_CYCLE);
-		createEAttribute(lifeCycleEClass, LIFE_CYCLE__EMBODIED_ENERGY);
-		createEAttribute(lifeCycleEClass, LIFE_CYCLE__EMBODIED_CARBON);
-		createEAttribute(lifeCycleEClass, LIFE_CYCLE__CONSTRUCTION_DESCRIPTION);
-		createEAttribute(lifeCycleEClass, LIFE_CYCLE__DISPOSAL_ENERGY);
-		createEAttribute(lifeCycleEClass, LIFE_CYCLE__DISPOSAL_CARBON);
-		createEAttribute(lifeCycleEClass, LIFE_CYCLE__DISPOSAL_DESCRIPTION);
+		createEAttribute(materialEClass, MATERIAL__EMBODIED_ENERGY);
+		createEAttribute(materialEClass, MATERIAL__EMBODIED_CARBON);
+		createEAttribute(materialEClass, MATERIAL__CONSTRUCTION_DESCRIPTION);
+		createEAttribute(materialEClass, MATERIAL__DISPOSAL_ENERGY);
+		createEAttribute(materialEClass, MATERIAL__DISPOSAL_CARBON);
+		createEAttribute(materialEClass, MATERIAL__DISPOSAL_DESCRIPTION);
 	}
 
 	/**
@@ -653,9 +688,24 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 		initEAttribute(getWindowType_FrameRatio(), ecorePackage.getEDouble(), "frameRatio", null, 1, 1,
 				WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 				!IS_DERIVED, IS_ORDERED);
-		initEReference(getWindowType_LifeCycle(), this.getLifeCycle(), null, "lifeCycle", null, 1, 1, WindowType.class,
-				!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
-				!IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWindowType_EmbodiedEnergy(), theQuantitiesPackage.getQuantityDouble(), "embodiedEnergy",
+				"kW*h/m\u00b2", 1, 1, WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWindowType_EmbodiedCarbon(), theQuantitiesPackage.getQuantityDouble(), "embodiedCarbon", "kg",
+				1, 1, WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWindowType_ConstructionDescription(), ecorePackage.getEString(), "constructionDescription",
+				null, 1, 1, WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWindowType_DisposalEnergy(), theQuantitiesPackage.getQuantityDouble(), "disposalEnergy",
+				"kW*h/m\u00b2", 1, 1, WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE,
+				!IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWindowType_DisposalCarbon(), theQuantitiesPackage.getQuantityDouble(), "disposalCarbon", "kg",
+				1, 1, WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
+		initEAttribute(getWindowType_DisposalDescription(), ecorePackage.getEString(), "disposalDescription", null, 1,
+				1, WindowType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+				!IS_DERIVED, IS_ORDERED);
 
 		initEClass(catalogEClass, Catalog.class, "Catalog", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getCatalog_Name(), ecorePackage.getEString(), "name", null, 1, 1, Catalog.class, !IS_TRANSIENT,
@@ -701,26 +751,23 @@ public class BuildingPhysicsPackageImpl extends EPackageImpl implements Building
 		initEAttribute(getMaterial_Conductivity(), theQuantitiesPackage.getQuantityDouble(), "conductivity", "W/(m*K)",
 				1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 				!IS_DERIVED, IS_ORDERED);
-
-		initEClass(lifeCycleEClass, LifeCycle.class, "LifeCycle", !IS_ABSTRACT, !IS_INTERFACE,
-				IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getLifeCycle_EmbodiedEnergy(), theQuantitiesPackage.getQuantityDouble(), "embodiedEnergy",
-				"kW*h", 1, 1, LifeCycle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+		initEAttribute(getMaterial_EmbodiedEnergy(), theQuantitiesPackage.getQuantityDouble(), "embodiedEnergy",
+				"kW*h/kg", 1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
 				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLifeCycle_EmbodiedCarbon(), theQuantitiesPackage.getQuantityDouble(), "embodiedCarbon", "kg",
-				1, 1, LifeCycle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+		initEAttribute(getMaterial_EmbodiedCarbon(), theQuantitiesPackage.getQuantityDouble(), "embodiedCarbon", "kg",
+				1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 				!IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLifeCycle_ConstructionDescription(), ecorePackage.getEString(), "constructionDescription",
-				null, 1, 1, LifeCycle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+		initEAttribute(getMaterial_ConstructionDescription(), ecorePackage.getEString(), "constructionDescription",
+				null, 1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
 				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLifeCycle_DisposalEnergy(), theQuantitiesPackage.getQuantityDouble(), "disposalEnergy",
-				"kW*h", 1, 1, LifeCycle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
+		initEAttribute(getMaterial_DisposalEnergy(), theQuantitiesPackage.getQuantityDouble(), "disposalEnergy",
+				"kW*h/kg", 1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID,
 				IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLifeCycle_DisposalCarbon(), theQuantitiesPackage.getQuantityDouble(), "disposalCarbon", "kg",
-				1, 1, LifeCycle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+		initEAttribute(getMaterial_DisposalCarbon(), theQuantitiesPackage.getQuantityDouble(), "disposalCarbon", "kg",
+				1, 1, Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 				!IS_DERIVED, IS_ORDERED);
-		initEAttribute(getLifeCycle_DisposalDescription(), ecorePackage.getEString(), "disposalDescription", null, 1, 1,
-				LifeCycle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+		initEAttribute(getMaterial_DisposalDescription(), ecorePackage.getEString(), "disposalDescription", null, 1, 1,
+				Material.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
 				!IS_DERIVED, IS_ORDERED);
 
 		// Create resource
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/LifeCycleImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/LifeCycleImpl.java
deleted file mode 100644
index a086150..0000000
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/LifeCycleImpl.java
+++ /dev/null
@@ -1,466 +0,0 @@
-/**
- */
-package de.hftstuttgart.buildingphysics.impl;
-
-import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage;
-import de.hftstuttgart.buildingphysics.LifeCycle;
-import de.hftstuttgart.cityunits.model.NullableQuantity;
-
-import de.hftstuttgart.cityunits.model.quantities.QuantitiesFactory;
-import de.hftstuttgart.cityunits.model.quantities.QuantitiesPackage;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Life Cycle</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * </p>
- * <ul>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl#getEmbodiedEnergy <em>Embodied Energy</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl#getEmbodiedCarbon <em>Embodied Carbon</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl#getConstructionDescription <em>Construction Description</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl#getDisposalEnergy <em>Disposal Energy</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl#getDisposalCarbon <em>Disposal Carbon</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.LifeCycleImpl#getDisposalDescription <em>Disposal Description</em>}</li>
- * </ul>
- *
- * @generated
- */
-public class LifeCycleImpl extends MinimalEObjectImpl.Container implements LifeCycle {
-	/**
-	 * The default value of the '{@link #getEmbodiedEnergy() <em>Embodied Energy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmbodiedEnergy()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final NullableQuantity EMBODIED_ENERGY_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
-			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kW*h");
-
-	/**
-	 * The cached value of the '{@link #getEmbodiedEnergy() <em>Embodied Energy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmbodiedEnergy()
-	 * @generated
-	 * @ordered
-	 */
-	protected NullableQuantity embodiedEnergy = EMBODIED_ENERGY_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getEmbodiedCarbon() <em>Embodied Carbon</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmbodiedCarbon()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final NullableQuantity EMBODIED_CARBON_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
-			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kg");
-
-	/**
-	 * The cached value of the '{@link #getEmbodiedCarbon() <em>Embodied Carbon</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getEmbodiedCarbon()
-	 * @generated
-	 * @ordered
-	 */
-	protected NullableQuantity embodiedCarbon = EMBODIED_CARBON_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getConstructionDescription() <em>Construction Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getConstructionDescription()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CONSTRUCTION_DESCRIPTION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getConstructionDescription() <em>Construction Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getConstructionDescription()
-	 * @generated
-	 * @ordered
-	 */
-	protected String constructionDescription = CONSTRUCTION_DESCRIPTION_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDisposalEnergy() <em>Disposal Energy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisposalEnergy()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final NullableQuantity DISPOSAL_ENERGY_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
-			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kW*h");
-
-	/**
-	 * The cached value of the '{@link #getDisposalEnergy() <em>Disposal Energy</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisposalEnergy()
-	 * @generated
-	 * @ordered
-	 */
-	protected NullableQuantity disposalEnergy = DISPOSAL_ENERGY_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDisposalCarbon() <em>Disposal Carbon</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisposalCarbon()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final NullableQuantity DISPOSAL_CARBON_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
-			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kg");
-
-	/**
-	 * The cached value of the '{@link #getDisposalCarbon() <em>Disposal Carbon</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisposalCarbon()
-	 * @generated
-	 * @ordered
-	 */
-	protected NullableQuantity disposalCarbon = DISPOSAL_CARBON_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getDisposalDescription() <em>Disposal Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisposalDescription()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String DISPOSAL_DESCRIPTION_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getDisposalDescription() <em>Disposal Description</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getDisposalDescription()
-	 * @generated
-	 * @ordered
-	 */
-	protected String disposalDescription = DISPOSAL_DESCRIPTION_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected LifeCycleImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return BuildingPhysicsPackage.Literals.LIFE_CYCLE;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NullableQuantity getEmbodiedEnergy() {
-		return embodiedEnergy;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setEmbodiedEnergy(NullableQuantity newEmbodiedEnergy) {
-		NullableQuantity oldEmbodiedEnergy = embodiedEnergy;
-		embodiedEnergy = newEmbodiedEnergy;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_ENERGY,
-					oldEmbodiedEnergy, embodiedEnergy));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NullableQuantity getEmbodiedCarbon() {
-		return embodiedCarbon;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setEmbodiedCarbon(NullableQuantity newEmbodiedCarbon) {
-		NullableQuantity oldEmbodiedCarbon = embodiedCarbon;
-		embodiedCarbon = newEmbodiedCarbon;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_CARBON,
-					oldEmbodiedCarbon, embodiedCarbon));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getConstructionDescription() {
-		return constructionDescription;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setConstructionDescription(String newConstructionDescription) {
-		String oldConstructionDescription = constructionDescription;
-		constructionDescription = newConstructionDescription;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET,
-					BuildingPhysicsPackage.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION, oldConstructionDescription,
-					constructionDescription));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NullableQuantity getDisposalEnergy() {
-		return disposalEnergy;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setDisposalEnergy(NullableQuantity newDisposalEnergy) {
-		NullableQuantity oldDisposalEnergy = disposalEnergy;
-		disposalEnergy = newDisposalEnergy;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_ENERGY,
-					oldDisposalEnergy, disposalEnergy));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NullableQuantity getDisposalCarbon() {
-		return disposalCarbon;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setDisposalCarbon(NullableQuantity newDisposalCarbon) {
-		NullableQuantity oldDisposalCarbon = disposalCarbon;
-		disposalCarbon = newDisposalCarbon;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_CARBON,
-					oldDisposalCarbon, disposalCarbon));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getDisposalDescription() {
-		return disposalDescription;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void setDisposalDescription(String newDisposalDescription) {
-		String oldDisposalDescription = disposalDescription;
-		disposalDescription = newDisposalDescription;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET,
-					BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_DESCRIPTION, oldDisposalDescription,
-					disposalDescription));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_ENERGY:
-			return getEmbodiedEnergy();
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_CARBON:
-			return getEmbodiedCarbon();
-		case BuildingPhysicsPackage.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION:
-			return getConstructionDescription();
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_ENERGY:
-			return getDisposalEnergy();
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_CARBON:
-			return getDisposalCarbon();
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_DESCRIPTION:
-			return getDisposalDescription();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_ENERGY:
-			setEmbodiedEnergy((NullableQuantity) newValue);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_CARBON:
-			setEmbodiedCarbon((NullableQuantity) newValue);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION:
-			setConstructionDescription((String) newValue);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_ENERGY:
-			setDisposalEnergy((NullableQuantity) newValue);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_CARBON:
-			setDisposalCarbon((NullableQuantity) newValue);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_DESCRIPTION:
-			setDisposalDescription((String) newValue);
-			return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_ENERGY:
-			setEmbodiedEnergy(EMBODIED_ENERGY_EDEFAULT);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_CARBON:
-			setEmbodiedCarbon(EMBODIED_CARBON_EDEFAULT);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION:
-			setConstructionDescription(CONSTRUCTION_DESCRIPTION_EDEFAULT);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_ENERGY:
-			setDisposalEnergy(DISPOSAL_ENERGY_EDEFAULT);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_CARBON:
-			setDisposalCarbon(DISPOSAL_CARBON_EDEFAULT);
-			return;
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_DESCRIPTION:
-			setDisposalDescription(DISPOSAL_DESCRIPTION_EDEFAULT);
-			return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_ENERGY:
-			return EMBODIED_ENERGY_EDEFAULT == null ? embodiedEnergy != null
-					: !EMBODIED_ENERGY_EDEFAULT.equals(embodiedEnergy);
-		case BuildingPhysicsPackage.LIFE_CYCLE__EMBODIED_CARBON:
-			return EMBODIED_CARBON_EDEFAULT == null ? embodiedCarbon != null
-					: !EMBODIED_CARBON_EDEFAULT.equals(embodiedCarbon);
-		case BuildingPhysicsPackage.LIFE_CYCLE__CONSTRUCTION_DESCRIPTION:
-			return CONSTRUCTION_DESCRIPTION_EDEFAULT == null ? constructionDescription != null
-					: !CONSTRUCTION_DESCRIPTION_EDEFAULT.equals(constructionDescription);
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_ENERGY:
-			return DISPOSAL_ENERGY_EDEFAULT == null ? disposalEnergy != null
-					: !DISPOSAL_ENERGY_EDEFAULT.equals(disposalEnergy);
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_CARBON:
-			return DISPOSAL_CARBON_EDEFAULT == null ? disposalCarbon != null
-					: !DISPOSAL_CARBON_EDEFAULT.equals(disposalCarbon);
-		case BuildingPhysicsPackage.LIFE_CYCLE__DISPOSAL_DESCRIPTION:
-			return DISPOSAL_DESCRIPTION_EDEFAULT == null ? disposalDescription != null
-					: !DISPOSAL_DESCRIPTION_EDEFAULT.equals(disposalDescription);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy())
-			return super.toString();
-
-		StringBuilder result = new StringBuilder(super.toString());
-		result.append(" (embodiedEnergy: ");
-		result.append(embodiedEnergy);
-		result.append(", embodiedCarbon: ");
-		result.append(embodiedCarbon);
-		result.append(", constructionDescription: ");
-		result.append(constructionDescription);
-		result.append(", disposalEnergy: ");
-		result.append(disposalEnergy);
-		result.append(", disposalCarbon: ");
-		result.append(disposalCarbon);
-		result.append(", disposalDescription: ");
-		result.append(disposalDescription);
-		result.append(')');
-		return result.toString();
-	}
-
-} //LifeCycleImpl
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java
index 68275dc..3154c18 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/MaterialImpl.java
@@ -30,6 +30,12 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDensity <em>Density</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getHeatCapacity <em>Heat Capacity</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getConductivity <em>Conductivity</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getEmbodiedEnergy <em>Embodied Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getEmbodiedCarbon <em>Embodied Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getConstructionDescription <em>Construction Description</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDisposalEnergy <em>Disposal Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDisposalCarbon <em>Disposal Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.MaterialImpl#getDisposalDescription <em>Disposal Description</em>}</li>
  * </ul>
  *
  * @generated
@@ -138,6 +144,130 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 	 */
 	protected NullableQuantity conductivity = CONDUCTIVITY_EDEFAULT;
 
+	/**
+	 * The default value of the '{@link #getEmbodiedEnergy() <em>Embodied Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity EMBODIED_ENERGY_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kW*h/kg");
+
+	/**
+	 * The cached value of the '{@link #getEmbodiedEnergy() <em>Embodied Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity embodiedEnergy = EMBODIED_ENERGY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEmbodiedCarbon() <em>Embodied Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity EMBODIED_CARBON_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kg");
+
+	/**
+	 * The cached value of the '{@link #getEmbodiedCarbon() <em>Embodied Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity embodiedCarbon = EMBODIED_CARBON_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getConstructionDescription() <em>Construction Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConstructionDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONSTRUCTION_DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getConstructionDescription() <em>Construction Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConstructionDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String constructionDescription = CONSTRUCTION_DESCRIPTION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDisposalEnergy() <em>Disposal Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity DISPOSAL_ENERGY_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kW*h/kg");
+
+	/**
+	 * The cached value of the '{@link #getDisposalEnergy() <em>Disposal Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity disposalEnergy = DISPOSAL_ENERGY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDisposalCarbon() <em>Disposal Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity DISPOSAL_CARBON_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kg");
+
+	/**
+	 * The cached value of the '{@link #getDisposalCarbon() <em>Disposal Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity disposalCarbon = DISPOSAL_CARBON_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDisposalDescription() <em>Disposal Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DISPOSAL_DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDisposalDescription() <em>Disposal Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String disposalDescription = DISPOSAL_DESCRIPTION_EDEFAULT;
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -276,6 +406,151 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 					oldConductivity, conductivity));
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NullableQuantity getEmbodiedEnergy() {
+		return embodiedEnergy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setEmbodiedEnergy(NullableQuantity newEmbodiedEnergy) {
+		NullableQuantity oldEmbodiedEnergy = embodiedEnergy;
+		embodiedEnergy = newEmbodiedEnergy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.MATERIAL__EMBODIED_ENERGY,
+					oldEmbodiedEnergy, embodiedEnergy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NullableQuantity getEmbodiedCarbon() {
+		return embodiedCarbon;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setEmbodiedCarbon(NullableQuantity newEmbodiedCarbon) {
+		NullableQuantity oldEmbodiedCarbon = embodiedCarbon;
+		embodiedCarbon = newEmbodiedCarbon;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.MATERIAL__EMBODIED_CARBON,
+					oldEmbodiedCarbon, embodiedCarbon));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getConstructionDescription() {
+		return constructionDescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setConstructionDescription(String newConstructionDescription) {
+		String oldConstructionDescription = constructionDescription;
+		constructionDescription = newConstructionDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					BuildingPhysicsPackage.MATERIAL__CONSTRUCTION_DESCRIPTION, oldConstructionDescription,
+					constructionDescription));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NullableQuantity getDisposalEnergy() {
+		return disposalEnergy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDisposalEnergy(NullableQuantity newDisposalEnergy) {
+		NullableQuantity oldDisposalEnergy = disposalEnergy;
+		disposalEnergy = newDisposalEnergy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.MATERIAL__DISPOSAL_ENERGY,
+					oldDisposalEnergy, disposalEnergy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NullableQuantity getDisposalCarbon() {
+		return disposalCarbon;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDisposalCarbon(NullableQuantity newDisposalCarbon) {
+		NullableQuantity oldDisposalCarbon = disposalCarbon;
+		disposalCarbon = newDisposalCarbon;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.MATERIAL__DISPOSAL_CARBON,
+					oldDisposalCarbon, disposalCarbon));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDisposalDescription() {
+		return disposalDescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDisposalDescription(String newDisposalDescription) {
+		String oldDisposalDescription = disposalDescription;
+		disposalDescription = newDisposalDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION,
+					oldDisposalDescription, disposalDescription));
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -294,6 +569,18 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 			return getHeatCapacity();
 		case BuildingPhysicsPackage.MATERIAL__CONDUCTIVITY:
 			return getConductivity();
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_ENERGY:
+			return getEmbodiedEnergy();
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_CARBON:
+			return getEmbodiedCarbon();
+		case BuildingPhysicsPackage.MATERIAL__CONSTRUCTION_DESCRIPTION:
+			return getConstructionDescription();
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_ENERGY:
+			return getDisposalEnergy();
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_CARBON:
+			return getDisposalCarbon();
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION:
+			return getDisposalDescription();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -321,6 +608,24 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 		case BuildingPhysicsPackage.MATERIAL__CONDUCTIVITY:
 			setConductivity((NullableQuantity) newValue);
 			return;
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_ENERGY:
+			setEmbodiedEnergy((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_CARBON:
+			setEmbodiedCarbon((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__CONSTRUCTION_DESCRIPTION:
+			setConstructionDescription((String) newValue);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_ENERGY:
+			setDisposalEnergy((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_CARBON:
+			setDisposalCarbon((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION:
+			setDisposalDescription((String) newValue);
+			return;
 		}
 		super.eSet(featureID, newValue);
 	}
@@ -348,6 +653,24 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 		case BuildingPhysicsPackage.MATERIAL__CONDUCTIVITY:
 			setConductivity(CONDUCTIVITY_EDEFAULT);
 			return;
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_ENERGY:
+			setEmbodiedEnergy(EMBODIED_ENERGY_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_CARBON:
+			setEmbodiedCarbon(EMBODIED_CARBON_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__CONSTRUCTION_DESCRIPTION:
+			setConstructionDescription(CONSTRUCTION_DESCRIPTION_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_ENERGY:
+			setDisposalEnergy(DISPOSAL_ENERGY_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_CARBON:
+			setDisposalCarbon(DISPOSAL_CARBON_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION:
+			setDisposalDescription(DISPOSAL_DESCRIPTION_EDEFAULT);
+			return;
 		}
 		super.eUnset(featureID);
 	}
@@ -370,6 +693,24 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 			return HEAT_CAPACITY_EDEFAULT == null ? heatCapacity != null : !HEAT_CAPACITY_EDEFAULT.equals(heatCapacity);
 		case BuildingPhysicsPackage.MATERIAL__CONDUCTIVITY:
 			return CONDUCTIVITY_EDEFAULT == null ? conductivity != null : !CONDUCTIVITY_EDEFAULT.equals(conductivity);
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_ENERGY:
+			return EMBODIED_ENERGY_EDEFAULT == null ? embodiedEnergy != null
+					: !EMBODIED_ENERGY_EDEFAULT.equals(embodiedEnergy);
+		case BuildingPhysicsPackage.MATERIAL__EMBODIED_CARBON:
+			return EMBODIED_CARBON_EDEFAULT == null ? embodiedCarbon != null
+					: !EMBODIED_CARBON_EDEFAULT.equals(embodiedCarbon);
+		case BuildingPhysicsPackage.MATERIAL__CONSTRUCTION_DESCRIPTION:
+			return CONSTRUCTION_DESCRIPTION_EDEFAULT == null ? constructionDescription != null
+					: !CONSTRUCTION_DESCRIPTION_EDEFAULT.equals(constructionDescription);
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_ENERGY:
+			return DISPOSAL_ENERGY_EDEFAULT == null ? disposalEnergy != null
+					: !DISPOSAL_ENERGY_EDEFAULT.equals(disposalEnergy);
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_CARBON:
+			return DISPOSAL_CARBON_EDEFAULT == null ? disposalCarbon != null
+					: !DISPOSAL_CARBON_EDEFAULT.equals(disposalCarbon);
+		case BuildingPhysicsPackage.MATERIAL__DISPOSAL_DESCRIPTION:
+			return DISPOSAL_DESCRIPTION_EDEFAULT == null ? disposalDescription != null
+					: !DISPOSAL_DESCRIPTION_EDEFAULT.equals(disposalDescription);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -395,6 +736,18 @@ public class MaterialImpl extends MinimalEObjectImpl.Container implements Materi
 		result.append(heatCapacity);
 		result.append(", conductivity: ");
 		result.append(conductivity);
+		result.append(", embodiedEnergy: ");
+		result.append(embodiedEnergy);
+		result.append(", embodiedCarbon: ");
+		result.append(embodiedCarbon);
+		result.append(", constructionDescription: ");
+		result.append(constructionDescription);
+		result.append(", disposalEnergy: ");
+		result.append(disposalEnergy);
+		result.append(", disposalCarbon: ");
+		result.append(disposalCarbon);
+		result.append(", disposalDescription: ");
+		result.append(disposalDescription);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/WindowTypeImpl.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/WindowTypeImpl.java
index 64b931c..e06bdb1 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/WindowTypeImpl.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/impl/WindowTypeImpl.java
@@ -3,16 +3,17 @@
 package de.hftstuttgart.buildingphysics.impl;
 
 import de.hftstuttgart.buildingphysics.BuildingPhysicsPackage;
-import de.hftstuttgart.buildingphysics.LifeCycle;
 import de.hftstuttgart.buildingphysics.WindowType;
+
 import de.hftstuttgart.cityunits.model.NullableQuantity;
+
 import de.hftstuttgart.cityunits.model.quantities.QuantitiesFactory;
 import de.hftstuttgart.cityunits.model.quantities.QuantitiesPackage;
+
 import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
+
 import org.eclipse.emf.ecore.EClass;
 
-import org.eclipse.emf.ecore.InternalEObject;
 import org.eclipse.emf.ecore.impl.ENotificationImpl;
 import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
 
@@ -30,7 +31,12 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
  *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getGValue <em>GValue</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getGlazingNumber <em>Glazing Number</em>}</li>
  *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getFrameRatio <em>Frame Ratio</em>}</li>
- *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getLifeCycle <em>Life Cycle</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getEmbodiedEnergy <em>Embodied Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getEmbodiedCarbon <em>Embodied Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getConstructionDescription <em>Construction Description</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getDisposalEnergy <em>Disposal Energy</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getDisposalCarbon <em>Disposal Carbon</em>}</li>
+ *   <li>{@link de.hftstuttgart.buildingphysics.impl.WindowTypeImpl#getDisposalDescription <em>Disposal Description</em>}</li>
  * </ul>
  *
  * @generated
@@ -158,14 +164,128 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 	protected double frameRatio = FRAME_RATIO_EDEFAULT;
 
 	/**
-	 * The cached value of the '{@link #getLifeCycle() <em>Life Cycle</em>}' containment reference.
+	 * The default value of the '{@link #getEmbodiedEnergy() <em>Embodied Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity EMBODIED_ENERGY_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kW*h/m\u00b2");
+
+	/**
+	 * The cached value of the '{@link #getEmbodiedEnergy() <em>Embodied Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity embodiedEnergy = EMBODIED_ENERGY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getEmbodiedCarbon() <em>Embodied Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getEmbodiedCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity EMBODIED_CARBON_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kg");
+
+	/**
+	 * The cached value of the '{@link #getEmbodiedCarbon() <em>Embodied Carbon</em>}' attribute.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
-	 * @see #getLifeCycle()
+	 * @see #getEmbodiedCarbon()
 	 * @generated
 	 * @ordered
 	 */
-	protected LifeCycle lifeCycle;
+	protected NullableQuantity embodiedCarbon = EMBODIED_CARBON_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getConstructionDescription() <em>Construction Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConstructionDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String CONSTRUCTION_DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getConstructionDescription() <em>Construction Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getConstructionDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String constructionDescription = CONSTRUCTION_DESCRIPTION_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDisposalEnergy() <em>Disposal Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity DISPOSAL_ENERGY_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kW*h/m\u00b2");
+
+	/**
+	 * The cached value of the '{@link #getDisposalEnergy() <em>Disposal Energy</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalEnergy()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity disposalEnergy = DISPOSAL_ENERGY_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDisposalCarbon() <em>Disposal Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final NullableQuantity DISPOSAL_CARBON_EDEFAULT = (NullableQuantity) QuantitiesFactory.eINSTANCE
+			.createFromString(QuantitiesPackage.eINSTANCE.getQuantityDouble(), "kg");
+
+	/**
+	 * The cached value of the '{@link #getDisposalCarbon() <em>Disposal Carbon</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalCarbon()
+	 * @generated
+	 * @ordered
+	 */
+	protected NullableQuantity disposalCarbon = DISPOSAL_CARBON_EDEFAULT;
+
+	/**
+	 * The default value of the '{@link #getDisposalDescription() <em>Disposal Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected static final String DISPOSAL_DESCRIPTION_EDEFAULT = null;
+
+	/**
+	 * The cached value of the '{@link #getDisposalDescription() <em>Disposal Description</em>}' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getDisposalDescription()
+	 * @generated
+	 * @ordered
+	 */
+	protected String disposalDescription = DISPOSAL_DESCRIPTION_EDEFAULT;
 
 	/**
 	 * <!-- begin-user-doc -->
@@ -335,8 +455,8 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 	 * @generated
 	 */
 	@Override
-	public LifeCycle getLifeCycle() {
-		return lifeCycle;
+	public NullableQuantity getEmbodiedEnergy() {
+		return embodiedEnergy;
 	}
 
 	/**
@@ -344,18 +464,13 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public NotificationChain basicSetLifeCycle(LifeCycle newLifeCycle, NotificationChain msgs) {
-		LifeCycle oldLifeCycle = lifeCycle;
-		lifeCycle = newLifeCycle;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
-					BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE, oldLifeCycle, newLifeCycle);
-			if (msgs == null)
-				msgs = notification;
-			else
-				msgs.add(notification);
-		}
-		return msgs;
+	@Override
+	public void setEmbodiedEnergy(NullableQuantity newEmbodiedEnergy) {
+		NullableQuantity oldEmbodiedEnergy = embodiedEnergy;
+		embodiedEnergy = newEmbodiedEnergy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_ENERGY,
+					oldEmbodiedEnergy, embodiedEnergy));
 	}
 
 	/**
@@ -364,21 +479,8 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 	 * @generated
 	 */
 	@Override
-	public void setLifeCycle(LifeCycle newLifeCycle) {
-		if (newLifeCycle != lifeCycle) {
-			NotificationChain msgs = null;
-			if (lifeCycle != null)
-				msgs = ((InternalEObject) lifeCycle).eInverseRemove(this,
-						EOPPOSITE_FEATURE_BASE - BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE, null, msgs);
-			if (newLifeCycle != null)
-				msgs = ((InternalEObject) newLifeCycle).eInverseAdd(this,
-						EOPPOSITE_FEATURE_BASE - BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE, null, msgs);
-			msgs = basicSetLifeCycle(newLifeCycle, msgs);
-			if (msgs != null)
-				msgs.dispatch();
-		} else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE,
-					newLifeCycle, newLifeCycle));
+	public NullableQuantity getEmbodiedCarbon() {
+		return embodiedCarbon;
 	}
 
 	/**
@@ -387,12 +489,110 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 	 * @generated
 	 */
 	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-		case BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE:
-			return basicSetLifeCycle(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
+	public void setEmbodiedCarbon(NullableQuantity newEmbodiedCarbon) {
+		NullableQuantity oldEmbodiedCarbon = embodiedCarbon;
+		embodiedCarbon = newEmbodiedCarbon;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_CARBON,
+					oldEmbodiedCarbon, embodiedCarbon));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getConstructionDescription() {
+		return constructionDescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setConstructionDescription(String newConstructionDescription) {
+		String oldConstructionDescription = constructionDescription;
+		constructionDescription = newConstructionDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					BuildingPhysicsPackage.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION, oldConstructionDescription,
+					constructionDescription));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NullableQuantity getDisposalEnergy() {
+		return disposalEnergy;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDisposalEnergy(NullableQuantity newDisposalEnergy) {
+		NullableQuantity oldDisposalEnergy = disposalEnergy;
+		disposalEnergy = newDisposalEnergy;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_ENERGY,
+					oldDisposalEnergy, disposalEnergy));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public NullableQuantity getDisposalCarbon() {
+		return disposalCarbon;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDisposalCarbon(NullableQuantity newDisposalCarbon) {
+		NullableQuantity oldDisposalCarbon = disposalCarbon;
+		disposalCarbon = newDisposalCarbon;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_CARBON,
+					oldDisposalCarbon, disposalCarbon));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public String getDisposalDescription() {
+		return disposalDescription;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void setDisposalDescription(String newDisposalDescription) {
+		String oldDisposalDescription = disposalDescription;
+		disposalDescription = newDisposalDescription;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET,
+					BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_DESCRIPTION, oldDisposalDescription,
+					disposalDescription));
 	}
 
 	/**
@@ -415,8 +615,18 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 			return getGlazingNumber();
 		case BuildingPhysicsPackage.WINDOW_TYPE__FRAME_RATIO:
 			return getFrameRatio();
-		case BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE:
-			return getLifeCycle();
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_ENERGY:
+			return getEmbodiedEnergy();
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_CARBON:
+			return getEmbodiedCarbon();
+		case BuildingPhysicsPackage.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION:
+			return getConstructionDescription();
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_ENERGY:
+			return getDisposalEnergy();
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_CARBON:
+			return getDisposalCarbon();
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_DESCRIPTION:
+			return getDisposalDescription();
 		}
 		return super.eGet(featureID, resolve, coreType);
 	}
@@ -447,8 +657,23 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 		case BuildingPhysicsPackage.WINDOW_TYPE__FRAME_RATIO:
 			setFrameRatio((Double) newValue);
 			return;
-		case BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE:
-			setLifeCycle((LifeCycle) newValue);
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_ENERGY:
+			setEmbodiedEnergy((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_CARBON:
+			setEmbodiedCarbon((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION:
+			setConstructionDescription((String) newValue);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_ENERGY:
+			setDisposalEnergy((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_CARBON:
+			setDisposalCarbon((NullableQuantity) newValue);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_DESCRIPTION:
+			setDisposalDescription((String) newValue);
 			return;
 		}
 		super.eSet(featureID, newValue);
@@ -480,8 +705,23 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 		case BuildingPhysicsPackage.WINDOW_TYPE__FRAME_RATIO:
 			setFrameRatio(FRAME_RATIO_EDEFAULT);
 			return;
-		case BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE:
-			setLifeCycle((LifeCycle) null);
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_ENERGY:
+			setEmbodiedEnergy(EMBODIED_ENERGY_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_CARBON:
+			setEmbodiedCarbon(EMBODIED_CARBON_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION:
+			setConstructionDescription(CONSTRUCTION_DESCRIPTION_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_ENERGY:
+			setDisposalEnergy(DISPOSAL_ENERGY_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_CARBON:
+			setDisposalCarbon(DISPOSAL_CARBON_EDEFAULT);
+			return;
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_DESCRIPTION:
+			setDisposalDescription(DISPOSAL_DESCRIPTION_EDEFAULT);
 			return;
 		}
 		super.eUnset(featureID);
@@ -507,8 +747,24 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 			return glazingNumber != GLAZING_NUMBER_EDEFAULT;
 		case BuildingPhysicsPackage.WINDOW_TYPE__FRAME_RATIO:
 			return frameRatio != FRAME_RATIO_EDEFAULT;
-		case BuildingPhysicsPackage.WINDOW_TYPE__LIFE_CYCLE:
-			return lifeCycle != null;
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_ENERGY:
+			return EMBODIED_ENERGY_EDEFAULT == null ? embodiedEnergy != null
+					: !EMBODIED_ENERGY_EDEFAULT.equals(embodiedEnergy);
+		case BuildingPhysicsPackage.WINDOW_TYPE__EMBODIED_CARBON:
+			return EMBODIED_CARBON_EDEFAULT == null ? embodiedCarbon != null
+					: !EMBODIED_CARBON_EDEFAULT.equals(embodiedCarbon);
+		case BuildingPhysicsPackage.WINDOW_TYPE__CONSTRUCTION_DESCRIPTION:
+			return CONSTRUCTION_DESCRIPTION_EDEFAULT == null ? constructionDescription != null
+					: !CONSTRUCTION_DESCRIPTION_EDEFAULT.equals(constructionDescription);
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_ENERGY:
+			return DISPOSAL_ENERGY_EDEFAULT == null ? disposalEnergy != null
+					: !DISPOSAL_ENERGY_EDEFAULT.equals(disposalEnergy);
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_CARBON:
+			return DISPOSAL_CARBON_EDEFAULT == null ? disposalCarbon != null
+					: !DISPOSAL_CARBON_EDEFAULT.equals(disposalCarbon);
+		case BuildingPhysicsPackage.WINDOW_TYPE__DISPOSAL_DESCRIPTION:
+			return DISPOSAL_DESCRIPTION_EDEFAULT == null ? disposalDescription != null
+					: !DISPOSAL_DESCRIPTION_EDEFAULT.equals(disposalDescription);
 		}
 		return super.eIsSet(featureID);
 	}
@@ -536,6 +792,18 @@ public class WindowTypeImpl extends MinimalEObjectImpl.Container implements Wind
 		result.append(glazingNumber);
 		result.append(", frameRatio: ");
 		result.append(frameRatio);
+		result.append(", embodiedEnergy: ");
+		result.append(embodiedEnergy);
+		result.append(", embodiedCarbon: ");
+		result.append(embodiedCarbon);
+		result.append(", constructionDescription: ");
+		result.append(constructionDescription);
+		result.append(", disposalEnergy: ");
+		result.append(disposalEnergy);
+		result.append(", disposalCarbon: ");
+		result.append(disposalCarbon);
+		result.append(", disposalDescription: ");
+		result.append(disposalDescription);
 		result.append(')');
 		return result.toString();
 	}
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsAdapterFactory.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsAdapterFactory.java
index 24aa686..7689aac 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsAdapterFactory.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsAdapterFactory.java
@@ -101,11 +101,6 @@ public class BuildingPhysicsAdapterFactory extends AdapterFactoryImpl {
 			return createMaterialAdapter();
 		}
 
-		@Override
-		public Adapter caseLifeCycle(LifeCycle object) {
-			return createLifeCycleAdapter();
-		}
-
 		@Override
 		public Adapter defaultCase(EObject object) {
 			return createEObjectAdapter();
@@ -223,20 +218,6 @@ public class BuildingPhysicsAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
-	/**
-	 * Creates a new adapter for an object of class '{@link de.hftstuttgart.buildingphysics.LifeCycle <em>Life Cycle</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see de.hftstuttgart.buildingphysics.LifeCycle
-	 * @generated
-	 */
-	public Adapter createLifeCycleAdapter() {
-		return null;
-	}
-
 	/**
 	 * Creates a new adapter for the default case.
 	 * <!-- begin-user-doc -->
diff --git a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsSwitch.java b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsSwitch.java
index c123bb9..bf8b322 100644
--- a/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsSwitch.java
+++ b/de.hftstuttgart.buildingphysics/src/de/hftstuttgart/buildingphysics/util/BuildingPhysicsSwitch.java
@@ -119,13 +119,6 @@ public class BuildingPhysicsSwitch<T> extends Switch<T> {
 				result = defaultCase(theEObject);
 			return result;
 		}
-		case BuildingPhysicsPackage.LIFE_CYCLE: {
-			LifeCycle lifeCycle = (LifeCycle) theEObject;
-			T result = caseLifeCycle(lifeCycle);
-			if (result == null)
-				result = defaultCase(theEObject);
-			return result;
-		}
 		default:
 			return defaultCase(theEObject);
 		}
@@ -236,21 +229,6 @@ public class BuildingPhysicsSwitch<T> extends Switch<T> {
 		return null;
 	}
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Life Cycle</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Life Cycle</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseLifeCycle(LifeCycle object) {
-		return null;
-	}
-
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
 	 * <!-- begin-user-doc -->
-- 
GitLab