diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisCockpitProjectBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisCockpitProjectBean.java
index 95514158f33b442011e2a131a44bd822d40351a6..d79388a86ce5b39b53093f76e536f1e30c2b4afe 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisCockpitProjectBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisCockpitProjectBean.java
@@ -20,6 +20,8 @@
 
 package kieker.webgui.beans.session;
 
+import java.io.Serializable;
+
 import javax.faces.bean.ManagedBean;
 import javax.faces.bean.SessionScoped;
 
@@ -40,8 +42,12 @@ import kieker.webgui.common.Global;
  */
 @ManagedBean
 @SessionScoped
-public class CurrentAnalysisCockpitProjectBean {
+public class CurrentAnalysisCockpitProjectBean implements Serializable {
 
+	/**
+	 * The serial version UID.
+	 */
+	private static final long serialVersionUID = 3547633191203876924L;
 	/**
 	 * This is the name of the stored project. It can be used as an identifier within the FS-Manager
 	 */
@@ -87,9 +93,16 @@ public class CurrentAnalysisCockpitProjectBean {
 			// Remember the given parameters
 			this.project = newProject;
 			this.projectName = newName;
-		}
 
-		return Global.PAGE_ANALYSIS_COCKPIT;
+			// Now deliver the correct navigation page
+			final String navigationPage;
+			if (this.project != null) {
+				navigationPage = Global.PAGE_ANALYSIS_COCKPIT;
+			} else {
+				navigationPage = "";
+			}
+			return navigationPage;
+		}
 	}
 
 	/**
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisViewWorkSpaceProjectBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentCockpitEditorBean.java
similarity index 87%
rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisViewWorkSpaceProjectBean.java
rename to Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentCockpitEditorBean.java
index 18bb4740e641589cadcbd93b5f65a642e5a2b0cf..bda6523b37e6a57a3bb13d5eee440a75a8266ad6 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisViewWorkSpaceProjectBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentCockpitEditorBean.java
@@ -21,6 +21,7 @@
 package kieker.webgui.beans.session;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
@@ -54,11 +55,15 @@ import org.primefaces.event.TabChangeEvent;
  */
 @ManagedBean
 @SessionScoped
-public class CurrentAnalysisViewWorkSpaceProjectBean {
+public class CurrentCockpitEditorBean implements Serializable {
+	/**
+	 * The serial version UID.
+	 */
+	private static final long serialVersionUID = -7805981069286797493L;
 	/**
 	 * This is the log for errors, exceptions etc.
 	 */
-	private static final Log LOG = LogFactory.getLog(CurrentAnalysisViewWorkSpaceProjectBean.class);
+	private static final Log LOG = LogFactory.getLog(CurrentCockpitEditorBean.class);
 	/**
 	 * This is the factory which will be used to create new components for the project.
 	 */
@@ -83,7 +88,7 @@ public class CurrentAnalysisViewWorkSpaceProjectBean {
 	/**
 	 * Creates a new instance of this class.
 	 */
-	public CurrentAnalysisViewWorkSpaceProjectBean() {
+	public CurrentCockpitEditorBean() {
 		// No code necessary
 	}
 
@@ -117,9 +122,15 @@ public class CurrentAnalysisViewWorkSpaceProjectBean {
 				// Remember the current time! This is important for the later comparison of the time stamps.
 				this.resetTimeStamp();
 			}
+			// Now deliver the correct navigation page
+			final String navigationPage;
+			if (this.project != null) {
+				navigationPage = Global.PAGE_ANALYSIS_VIEW_WORK_SPACE;
+			} else {
+				navigationPage = "";
+			}
+			return navigationPage;
 		}
-
-		return Global.PAGE_ANALYSIS_VIEW_WORK_SPACE;
 	}
 
 	/**
@@ -159,15 +170,15 @@ public class CurrentAnalysisViewWorkSpaceProjectBean {
 		synchronized (this) {
 			try {
 				FSManager.getInstance().saveProject(this.projectName, this.project, this.timeStamp, overwriteNewerProject);
-				CurrentAnalysisViewWorkSpaceProjectBean.showMessage(FacesMessage.SEVERITY_INFO, "Project saved.");
+				CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_INFO, "Project saved.");
 				// Update the time stamp!
 				this.resetTimeStamp();
 			} catch (final IOException ex) {
-				CurrentAnalysisViewWorkSpaceProjectBean.LOG.error("An error occured while saving the projct.", ex);
-				CurrentAnalysisViewWorkSpaceProjectBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while saving the projct.");
+				CurrentCockpitEditorBean.LOG.error("An error occured while saving the projct.", ex);
+				CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while saving the projct.");
 			} catch (final NewerProjectException ex) {
-				CurrentAnalysisViewWorkSpaceProjectBean.LOG.info("The project has been modified externally in the meanwhile.", ex);
-				CurrentAnalysisViewWorkSpaceProjectBean.showMessage(FacesMessage.SEVERITY_WARN, "The project has been modified externally in the meanwhile.");
+				CurrentCockpitEditorBean.LOG.info("The project has been modified externally in the meanwhile.", ex);
+				CurrentCockpitEditorBean.showMessage(FacesMessage.SEVERITY_WARN, "The project has been modified externally in the meanwhile.");
 			}
 		}
 	}
@@ -232,6 +243,7 @@ public class CurrentAnalysisViewWorkSpaceProjectBean {
 				// Create the view and add it to our project
 				final MIView view = this.factory.createView();
 				view.setName(viewName);
+				view.setDescription("No description available.");
 				this.project.getViews().add(view);
 			}
 		}
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisControllerProjectBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentControllerBean.java
similarity index 66%
rename from Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisControllerProjectBean.java
rename to Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentControllerBean.java
index 5f0d267f5ff72cc3effffe4b3f6d658dd9d62484..c9c1a8fe920fc51d8680791e5df2d1239133aa4a 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentAnalysisControllerProjectBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentControllerBean.java
@@ -21,6 +21,7 @@
 package kieker.webgui.beans.session;
 
 import java.io.IOException;
+import java.io.Serializable;
 
 import javax.faces.application.FacesMessage;
 import javax.faces.application.FacesMessage.Severity;
@@ -30,6 +31,7 @@ import javax.faces.context.FacesContext;
 
 import kieker.analysis.AnalysisController;
 import kieker.analysis.exception.AnalysisConfigurationException;
+import kieker.analysis.model.analysisMetaModel.MIProject;
 import kieker.common.logging.Log;
 import kieker.common.logging.LogFactory;
 import kieker.webgui.common.ACManager;
@@ -47,35 +49,67 @@ import kieker.webgui.common.exception.ProjectStillRunningException;
  */
 @ManagedBean
 @SessionScoped
-public class CurrentAnalysisControllerProjectBean {
+public class CurrentControllerBean implements Serializable {
 
+	/**
+	 * The serial version UID.
+	 */
+	private static final long serialVersionUID = 2070646497643630097L;
 	/**
 	 * This is the log for errors, exceptions etc.
 	 */
-	private static final Log LOG = LogFactory.getLog(CurrentAnalysisControllerProjectBean.class);
+	private static final Log LOG = LogFactory.getLog(CurrentControllerBean.class);
 	/**
 	 * This is the name of the stored project. It can be used as an identifier within the FS-Manager
 	 */
 	private String projectName;
+	/**
+	 * This is the actual model instance. It is the in-memory-model of the current (session) user.
+	 */
+	private MIProject project;
 
 	/**
 	 * Creates a new instance of this class.
 	 */
-	public CurrentAnalysisControllerProjectBean() {
+	public CurrentControllerBean() {
 		// No code necessary
 	}
 
 	/**
 	 * This method sets the project stored within this bean and returns the new page for the navigation.
 	 * 
-	 * @param name
+	 * @param newProject
+	 *            The project to be stored in this bean.
+	 * @param newName
 	 *            The name of the project.
-	 * @return The name of the page for the analysis controller.
-	 */
-	public String setProject(final String name) {
-		this.projectName = name;
+	 * @return The name of the page for the cockpit.
+	 */
+	public String setProject(final MIProject newProject, final String newName) {
+		synchronized (this) {
+			// Remember the given parameters
+			this.project = newProject;
+			this.projectName = newName;
+
+			// Now deliver the correct navigation page
+			final String navigationPage;
+			if (this.project != null) {
+				navigationPage = Global.PAGE_ANALYSIS_CONTROLLER;
+			} else {
+				navigationPage = "";
+			}
+			return navigationPage;
+		}
+	}
 
-		return Global.PAGE_ANALYSIS_CONTROLLER;
+	/**
+	 * This method delivers the project stored in this bean.
+	 * 
+	 * @return The project for this user.
+	 */
+	public MIProject getProject() {
+		synchronized (this) {
+			return this.project;
+		}
 	}
 
 	/**
@@ -84,7 +118,9 @@ public class CurrentAnalysisControllerProjectBean {
 	 * @return The project name for this user.
 	 */
 	public String getProjectName() {
-		return this.projectName;
+		synchronized (this) {
+			return this.projectName;
+		}
 	}
 
 	/**
@@ -93,7 +129,10 @@ public class CurrentAnalysisControllerProjectBean {
 	 * @return The name of the page of the project overview.
 	 */
 	public String clearProject() {
-		this.projectName = null; // NOPMD
+		synchronized (this) {
+			this.projectName = null; // NOPMD
+			this.project = null; // NOPMD
+		}
 
 		return Global.PAGE_PROJECT_OVERVIEW;
 	}
@@ -105,11 +144,11 @@ public class CurrentAnalysisControllerProjectBean {
 		try {
 			ACManager.getInstance().startAnalysisController(this.projectName);
 		} catch (final ProjectAlreadyStartedException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.info("The analysis is already running.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis is already running.");
+			CurrentControllerBean.LOG.info("The analysis is already running.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis is already running.");
 		} catch (final AnalysisNotInstantiatedException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.info("The analysis has not been instantiated yet.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis has not been instantiated yet.");
+			CurrentControllerBean.LOG.info("The analysis has not been instantiated yet.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis has not been instantiated yet.");
 		}
 	}
 
@@ -120,10 +159,10 @@ public class CurrentAnalysisControllerProjectBean {
 		try {
 			ACManager.getInstance().stopAnalysisController(this.projectName);
 		} catch (final AnalysisNotRunningException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.info("The analysis has not been started yet.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis has not been started yet.");
+			CurrentControllerBean.LOG.info("The analysis has not been started yet.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis has not been started yet.");
 		} catch (final InterruptedException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.error("Unknown interrupted exception.", ex);
+			CurrentControllerBean.LOG.error("Unknown interrupted exception.", ex);
 		}
 	}
 
@@ -134,17 +173,17 @@ public class CurrentAnalysisControllerProjectBean {
 		try {
 			ACManager.getInstance().instantiateAnalysisController(this.projectName);
 		} catch (final NullPointerException ex) { // NOPMD (Exception is explicitly thrown)
-			CurrentAnalysisControllerProjectBean.LOG.error("An error occurred while instantiating the analysis.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occurred while instantiating the analysis.");
+			CurrentControllerBean.LOG.error("An error occurred while instantiating the analysis.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occurred while instantiating the analysis.");
 		} catch (final AnalysisConfigurationException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.error("An error occurred while instantiating the analysis.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occurred while instantiating the analysis.");
+			CurrentControllerBean.LOG.error("An error occurred while instantiating the analysis.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occurred while instantiating the analysis.");
 		} catch (final IOException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.error("An error occurred while instantiating the analysis.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occurred while instantiating the analysis.");
+			CurrentControllerBean.LOG.error("An error occurred while instantiating the analysis.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occurred while instantiating the analysis.");
 		} catch (final ProjectStillRunningException ex) {
-			CurrentAnalysisControllerProjectBean.LOG.info("The analysis is still running.", ex);
-			CurrentAnalysisControllerProjectBean.showMessage(FacesMessage.SEVERITY_ERROR, "The analysis is still running.");
+			CurrentControllerBean.LOG.info("The analysis is still running.", ex);
+			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "The analysis is still running.");
 		}
 	}
 
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java
index b0138b3b0e4eab697de30b597f58c7fde4266283..044c86ba132853d171b03a6ee020159433a3df1a 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentThemeBean.java
@@ -20,6 +20,7 @@
 
 package kieker.webgui.beans.session;
 
+import java.io.Serializable;
 import java.util.Map;
 
 import javax.faces.bean.ManagedBean;
@@ -41,8 +42,12 @@ import kieker.webgui.beans.application.ThemeSwitcherBean;
  */
 @ManagedBean
 @SessionScoped
-public final class CurrentThemeBean {
+public final class CurrentThemeBean implements Serializable {
 
+	/**
+	 * The serial version UID.
+	 */
+	private static final long serialVersionUID = 2919719099912650971L;
 	/**
 	 * The default theme used for all users.
 	 */
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentWorkSpaceProjectBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentWorkSpaceProjectBean.java
index b2460efe5e8758a1c60c74d4ee6f3d74c725da9a..406c9beae5356aa754729feeabb23e136067e707 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentWorkSpaceProjectBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/CurrentWorkSpaceProjectBean.java
@@ -21,6 +21,7 @@
 package kieker.webgui.beans.session;
 
 import java.io.IOException;
+import java.io.Serializable;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Modifier;
 import java.net.MalformedURLException;
@@ -83,7 +84,11 @@ import org.eclipse.emf.ecore.EObject;
 // TODO Clean the connections when someone removes a plugin/repository
 @ManagedBean
 @SessionScoped
-public final class CurrentWorkSpaceProjectBean {
+public final class CurrentWorkSpaceProjectBean implements Serializable {
+	/**
+	 * The serial version UID.
+	 */
+	private static final long serialVersionUID = -6957852548314885573L;
 	/**
 	 * This is the log for errors, exceptions etc.
 	 */
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java
index c3f63a62299af7e24115cbd786aabe0638c5e0bf..aee82bb4b3a33f593282628cbba210dd24afa6e1 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/session/UserBean.java
@@ -20,6 +20,8 @@
 
 package kieker.webgui.beans.session;
 
+import java.io.Serializable;
+
 import javax.faces.bean.ManagedBean;
 import javax.faces.bean.SessionScoped;
 
@@ -31,8 +33,12 @@ import javax.faces.bean.SessionScoped;
  */
 @ManagedBean
 @SessionScoped
-public final class UserBean {
+public final class UserBean implements Serializable {
 
+	/**
+	 * The serial version UID.
+	 */
+	private static final long serialVersionUID = 3942693805646862667L;
 	/**
 	 * This field contains the name of the user.
 	 */
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/Global.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/Global.java
index 1d3891f67056e8f4cb5439acb401ff039390aca2..67d754b3239c9ac49810db9f4c175f49e136fe15 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/Global.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/Global.java
@@ -30,7 +30,7 @@ public final class Global {
 	/**
 	 * This is the page used for the redirection to the controller page.
 	 */
-	public static final String PAGE_ANALYSIS_CONTROLLER = "AnalysisController.xhtml";
+	public static final String PAGE_ANALYSIS_CONTROLLER = "Controller.xhtml";
 	/**
 	 * This is the page used for the redirection to the overview.
 	 */
@@ -38,15 +38,15 @@ public final class Global {
 	/**
 	 * This is the page used for the redirection to the cockpit.
 	 */
-	public static final String PAGE_ANALYSIS_COCKPIT = "AnalysisCockpit.xhtml";
+	public static final String PAGE_ANALYSIS_COCKPIT = "Cockpit.xhtml";
 	/**
 	 * This is the page used for the redirection to the cockpit editor.
 	 */
-	public static final String PAGE_ANALYSIS_VIEW_WORK_SPACE = "AnalysisViewWorkSpace.xhtml";
+	public static final String PAGE_ANALYSIS_VIEW_WORK_SPACE = "CockpitEditor.xhtml";
 	/**
 	 * This is the page used for the redirection to the analysis editor.
 	 */
-	public static final String PAGE_PROJECT_WORK_SPACE = "ProjectWorkSpace.xhtml";
+	public static final String PAGE_PROJECT_WORK_SPACE = "AnalysisEditor.xhtml";
 
 	/**
 	 * Default constructor.
diff --git a/Kieker.WebGUI/src/main/webapp/ProjectWorkSpace.xhtml b/Kieker.WebGUI/src/main/webapp/AnalysisEditor.xhtml
similarity index 100%
rename from Kieker.WebGUI/src/main/webapp/ProjectWorkSpace.xhtml
rename to Kieker.WebGUI/src/main/webapp/AnalysisEditor.xhtml
diff --git a/Kieker.WebGUI/src/main/webapp/AnalysisCockpit.xhtml b/Kieker.WebGUI/src/main/webapp/Cockpit.xhtml
similarity index 100%
rename from Kieker.WebGUI/src/main/webapp/AnalysisCockpit.xhtml
rename to Kieker.WebGUI/src/main/webapp/Cockpit.xhtml
diff --git a/Kieker.WebGUI/src/main/webapp/AnalysisViewWorkSpace.xhtml b/Kieker.WebGUI/src/main/webapp/CockpitEditor.xhtml
similarity index 67%
rename from Kieker.WebGUI/src/main/webapp/AnalysisViewWorkSpace.xhtml
rename to Kieker.WebGUI/src/main/webapp/CockpitEditor.xhtml
index 69a2f4e18dba06f1ada6457b60838674f17bdbb0..2721e26aac9020eed291cb43cbc93c48b82a5977 100644
--- a/Kieker.WebGUI/src/main/webapp/AnalysisViewWorkSpace.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/CockpitEditor.xhtml
@@ -16,25 +16,25 @@
     <h:body>
         <p:layout id="layout" fullPage="true">
 
-            <p:layoutUnit position="north" collapsible="false" header="Kieker.WebGUI - Cockpit Editor (#{currentAnalysisViewWorkSpaceProjectBean.projectName})">
+            <p:layoutUnit position="north" collapsible="false" header="Kieker.WebGUI - Cockpit Editor (#{currentCockpitEditorBean.projectName})">
                 <h:form>
                     <p:menubar>
                         <p:submenu label="File">
                             <p:menuitem value="New View" onclick="newViewDialog.show()" ajax="true"/>
                             <p:separator/>
-                            <p:menuitem value="Save Project" update=":messages" ajax="true" action="#{currentAnalysisViewWorkSpaceProjectBean.saveProject(false)}" disabled="#{empty currentAnalysisViewWorkSpaceProjectBean.project}"/>
+                            <p:menuitem value="Save Project" update=":messages" ajax="true" action="#{currentCockpitEditorBean.saveProject(false)}" disabled="#{empty currentCockpitEditorBean.project}"/>
                             <p:menuitem value="Save Project As" update=":messages" ajax="true" disabled="#{empty currentWorkSpaceProjectBean.project}"/>
-                            <p:menuitem styleClass="Force-Save-Project-Button" value="Force Save Project" update=":messages" ajax="true" action="#{currentAnalysisViewWorkSpaceProjectBean.saveProject(true)}" disabled="#{empty currentAnalysisViewWorkSpaceProjectBean.project}"/>
+                            <p:menuitem styleClass="Force-Save-Project-Button" value="Force Save Project" update=":messages" ajax="true" action="#{currentCockpitEditorBean.saveProject(true)}" disabled="#{empty currentCockpitEditorBean.project}"/>
                             <p:separator/>
-                            <p:menuitem value="Reload Project" ajax="true" disabled="#{empty currentAnalysisViewWorkSpaceProjectBean.project or true}"/>
+                            <p:menuitem value="Reload Project" ajax="true" disabled="#{empty currentCockpitEditorBean.project or true}"/>
                             <p:separator/>
                             <p:menuitem value="New View" ajax="true" disabled="true"/>
                             <p:separator/>
-                            <p:menuitem value="Close Project" action="#{currentAnalysisViewWorkSpaceProjectBean.clearProject()}" ajax="false"/>
+                            <p:menuitem value="Close Project" action="#{currentCockpitEditorBean.clearProject()}" ajax="false"/>
                             <p:separator/>
                             <p:menuitem value="Settings" onclick="settingsDlg.show()" ajax="true"/>
                         </p:submenu>
-                        
+
                         <p:submenu label="View">
                             <p:menuitem value="Project Overview"/>
                             <p:separator/>
@@ -58,11 +58,11 @@
             </p:layoutUnit>
 
             <p:layoutUnit size="300" position="west">
-                <h:form rendered="#{not empty currentAnalysisViewWorkSpaceProjectBean.project}">
-                    <p:accordionPanel activeIndex="-1" value="#{currentAnalysisViewWorkSpaceProjectBean.project.plugins}" var="plugin">
+                <h:form rendered="#{not empty currentCockpitEditorBean.project}">
+                    <p:accordionPanel activeIndex="-1" value="#{currentCockpitEditorBean.project.plugins}" var="plugin">
                         <p:tab title="#{plugin.name}">
                             <ui:repeat value="#{plugin.displays}" var="display">
-                                <p:commandLink id="displayLink" value="#{display.name}" action="#{currentAnalysisViewWorkSpaceProjectBean.addDisplayToView(display)}" update=":viewsForm"/>
+                                <p:commandLink id="displayLink" value="#{display.name}" action="#{currentCockpitEditorBean.addDisplayToView(display)}" update=":viewsForm"/>
                             </ui:repeat>
                         </p:tab>
                     </p:accordionPanel>
@@ -71,13 +71,29 @@
 
             <p:layoutUnit position="center">
                 <h:form id="viewsForm">
-                    <p:accordionPanel value="#{currentAnalysisViewWorkSpaceProjectBean.project.views}" var="viewComp" activeIndex="-1">
+                    <p:accordionPanel value="#{currentCockpitEditorBean.project.views}" var="viewComp" activeIndex="-1">
                         <p:tab title="#{viewComp.name}" closable="true">
-                            <p:dataList value="#{viewComp.displays}" var="disp">
-                                 #{disp.name}
-                            </p:dataList>
+                            <h:outputText value="Description: " />  
+                            <p:inplace id="basic" editor="true">  
+                                <p:inputText value="#{viewComp.description}" />  
+                            </p:inplace>  
+                            <hr/>
+                            <p:dataTable value="#{viewComp.displays}" var="disp">
+                                <p:column headerText="Plugin" style="text-align: center">
+                                    #{disp.parent.name}
+                                </p:column>
+                                <p:column headerText="Display Name" style="text-align: center">
+                                    #{disp.name}
+                                </p:column>
+                                <p:column headerText="Name" style="text-align: center">
+                                    TODO
+                                </p:column>
+                                <p:column style="text-align: center; width: 50px" >
+                                    <p:commandButton icon="ui-icon-trash"/>
+                                </p:column>
+                            </p:dataTable>
                         </p:tab>
-                        <p:ajax event="tabChange" listener="#{currentAnalysisViewWorkSpaceProjectBean.onChange}" />
+                        <p:ajax event="tabChange" listener="#{currentCockpitEditorBean.onChange}" />
                     </p:accordionPanel>
                 </h:form>
             </p:layoutUnit>
diff --git a/Kieker.WebGUI/src/main/webapp/AnalysisController.xhtml b/Kieker.WebGUI/src/main/webapp/Controller.xhtml
similarity index 77%
rename from Kieker.WebGUI/src/main/webapp/AnalysisController.xhtml
rename to Kieker.WebGUI/src/main/webapp/Controller.xhtml
index 5635915ff107b4cb3ca05a8ad8522a5ad9592ef7..c1c873d1ebd858dd606b98c7a7c515b727e4f95c 100644
--- a/Kieker.WebGUI/src/main/webapp/AnalysisController.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/Controller.xhtml
@@ -18,11 +18,11 @@
         <!-- This is the layout for the whole page. -->
         <p:layout id="layout" fullPage="true">
 
-            <p:layoutUnit position="north" collapsible="false" header="Kieker.WebGUI - Controller (#{currentAnalysisControllerProjectBean.projectName})">
+            <p:layoutUnit position="north" collapsible="false" header="Kieker.WebGUI - Controller (#{currentControllerBean.projectName})">
                 <h:form>
                     <p:menubar>
                         <p:submenu label="File">
-                            <p:menuitem value="Close Controller" action="#{currentAnalysisControllerProjectBean.clearProject()}"  ajax="false"/>
+                            <p:menuitem value="Close Controller" action="#{currentControllerBean.clearProject()}"  ajax="false"/>
                             <p:separator/>
                             <p:menuitem value="Settings" onclick="settingsDlg.show()" ajax="true"/>
                         </p:submenu>
@@ -55,26 +55,26 @@
 
             <p:layoutUnit position="south" header="Control" resizable="true" collapsible="true">
                 <h:form id="controllerForm">
-                    <p:commandButton value="Instantiate Analysis Controller" action="#{currentAnalysisControllerProjectBean.instantiateAnalysis()}" update=":messages" disabled="#{empty currentAnalysisControllerProjectBean.projectName}"/>
-                    <p:commandButton value="Clean Analysis" action="#{currentAnalysisControllerProjectBean.cleanAnalysis()}"  update=":messages" disabled="#{empty currentAnalysisControllerProjectBean.projectName}"/>
-                    <p:commandButton value="Start Analysis" action="#{currentAnalysisControllerProjectBean.startAnalysis()}"  update=":messages" disabled="#{empty currentAnalysisControllerProjectBean.projectName}"/>
-                    <p:commandButton value="Stop Analysis" action="#{currentAnalysisControllerProjectBean.stopAnalysis()}"  update=":messages" disabled="#{empty currentAnalysisControllerProjectBean.projectName}"/>
+                    <p:commandButton value="Instantiate Analysis Controller" action="#{currentControllerBean.instantiateAnalysis()}" update=":messages" disabled="#{empty currentControllerBean.projectName}"/>
+                    <p:commandButton value="Clean Analysis" action="#{currentControllerBean.cleanAnalysis()}"  update=":messages" disabled="#{empty currentControllerBean.projectName}"/>
+                    <p:commandButton value="Start Analysis" action="#{currentControllerBean.startAnalysis()}"  update=":messages" disabled="#{empty currentControllerBean.projectName}"/>
+                    <p:commandButton value="Stop Analysis" action="#{currentControllerBean.stopAnalysis()}"  update=":messages" disabled="#{empty currentControllerBean.projectName}"/>
                     <p:poll interval="1" update=":ledsForm"/>
                 </h:form>  
                 <hr/>
                 <h:form id="ledsForm">
                     <div align="center">
-                        <h:graphicImage id="iconLEDRed1"  url="../img/Icon_LED_Red.png" height="50px" rendered="#{currentAnalysisControllerProjectBean.isAnalysisNotAvailable()}"/>
-                        <h:graphicImage id="iconLEDRed1_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not currentAnalysisControllerProjectBean.isAnalysisNotAvailable()}"/>
+                        <h:graphicImage id="iconLEDRed1"  url="../img/Icon_LED_Red.png" height="50px" rendered="#{currentControllerBean.isAnalysisNotAvailable()}"/>
+                        <h:graphicImage id="iconLEDRed1_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not currentControllerBean.isAnalysisNotAvailable()}"/>
                         <p:spacer height="0" width="15px"/>
-                        <h:graphicImage id="iconLEDYellow"  url="../img/Icon_LED_Yellow.png" height="50px" rendered="#{currentAnalysisControllerProjectBean.isAnalysisReady()}"/>
-                        <h:graphicImage id="iconLEDYellow_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not currentAnalysisControllerProjectBean.isAnalysisReady()}"/>
+                        <h:graphicImage id="iconLEDYellow"  url="../img/Icon_LED_Yellow.png" height="50px" rendered="#{currentControllerBean.isAnalysisReady()}"/>
+                        <h:graphicImage id="iconLEDYellow_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not currentControllerBean.isAnalysisReady()}"/>
                         <p:spacer height="0" width="15px"/>
-                        <h:graphicImage id="iconLEDGreen"  url="../img/Icon_LED_Green.png" height="50px" rendered="#{currentAnalysisControllerProjectBean.isAnalysisRunning()}"/>
-                        <h:graphicImage id="iconLEDGreen_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not currentAnalysisControllerProjectBean.isAnalysisRunning()}"/>
+                        <h:graphicImage id="iconLEDGreen"  url="../img/Icon_LED_Green.png" height="50px" rendered="#{currentControllerBean.isAnalysisRunning()}"/>
+                        <h:graphicImage id="iconLEDGreen_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not currentControllerBean.isAnalysisRunning()}"/>
                         <p:spacer height="0" width="15px"/>
-                        <h:graphicImage id="iconLEDRed2"  url="../img/Icon_LED_Red.png" height="50px" rendered="#{currentAnalysisControllerProjectBean.isAnalysisTerminated() or currentAnalysisControllerProjectBean.isAnalysisFailed()}"/>
-                        <h:graphicImage id="iconLEDRed2_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not (currentAnalysisControllerProjectBean.isAnalysisTerminated() or currentAnalysisControllerProjectBean.isAnalysisFailed())}"/>
+                        <h:graphicImage id="iconLEDRed2"  url="../img/Icon_LED_Red.png" height="50px" rendered="#{currentControllerBean.isAnalysisTerminated() or currentControllerBean.isAnalysisFailed()}"/>
+                        <h:graphicImage id="iconLEDRed2_2"  url="../img/Icon_LED_Gray.png" height="50px" rendered="#{not (currentControllerBean.isAnalysisTerminated() or currentControllerBean.isAnalysisFailed())}"/>
 
                         <p:tooltip for="iconLEDRed1" value="Indicates that the AnalysisController has not been instantiated yet."/>
                         <p:tooltip for="iconLEDYellow" value="Indicates that the AnalysisController has been instantiated, but not yet started."/>
diff --git a/Kieker.WebGUI/src/main/webapp/ProjectOverview.xhtml b/Kieker.WebGUI/src/main/webapp/ProjectOverview.xhtml
index 4020bd631811abd13f7ef0739b7dd52f3fe5c12a..9461387ba7b67c0486f375ce9f591ae68da937ab 100644
--- a/Kieker.WebGUI/src/main/webapp/ProjectOverview.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/ProjectOverview.xhtml
@@ -52,13 +52,13 @@
 
                             <p:menu overlay="true" trigger="dynaButton" my="left top" at="left bottom" style="width:210px">  
                                 <p:menuitem id="openButton" value="Open in Analysis Editor" style="white-space: none" ajax="false" action="#{currentWorkSpaceProjectBean.setProject(projectsBean.openProject(project), project)}"/>
-                                <p:menuitem id="editAnalysisViews" value="Open in Cockpit Editor" ajax="false" action="#{currentAnalysisViewWorkSpaceProjectBean.setProject(projectsBean.openProject(project), project)}" />
+                                <p:menuitem id="editAnalysisViews" value="Open in Cockpit Editor" ajax="false" action="#{currentCockpitEditorBean.setProject(projectsBean.openProject(project), project)}" />
                                 <p:separator/>
                                 <p:menuitem id="copyButton" value="Copy Project" action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="copyProjectDialog.show()" disabled="true"/>
                                 <p:menuitem id="renameButton" value="Rename Project"  action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="renameProjectDialog.show()" disabled="true"/>
                                 <p:menuitem id="deleteButton" value="Delete Project" action="#{currentProjectOverviewBean.setProjectName(project)}" onclick="deleteProjectDialog.show()" disabled="true"/>      
                                 <p:separator/>
-                                <p:menuitem id="controlAnalysis" value="Open in Controller" ajax="false" action="#{currentAnalysisControllerProjectBean.setProject(project)}" />
+                                <p:menuitem id="controlAnalysis" value="Open in Controller" ajax="false" action="#{currentControllerBean.setProject(projectsBean.openProject(project), project)}" />
                                 <p:menuitem id="showAnalysis" value="Open in Cockpit" ajax="false" action="#{currentAnalysisCockpitProjectBean.setProject(projectsBean.openProject(project), project)}" />
                             </p:menu>
                         </p:column>  
diff --git a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml
index 4862796d5c6dc05ec65447799767101b6d7fa318..6c25f06f5efb55a8b7721f2ab17c68dd7249a63d 100644
--- a/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml
+++ b/Kieker.WebGUI/src/main/webapp/WEB-INF/pretty-config.xml
@@ -14,24 +14,24 @@
         <view-id value="/faces/ProjectOverview.xhtml" />
     </url-mapping>
     
-    <url-mapping id="projectWorkSpace"> 
-        <pattern value="/Kieker.WebGUI/projectWorkSpace" /> 
-        <view-id value="/faces/ProjectWorkSpace.xhtml" />
+    <url-mapping id="analysisEditor"> 
+        <pattern value="/Kieker.WebGUI/analysisEditor" /> 
+        <view-id value="/faces/AnalysisEditor.xhtml" />
     </url-mapping>
     
-    <url-mapping id="analysisViewWorkSpace"> 
-        <pattern value="/Kieker.WebGUI/analysisViewWorkSpace" /> 
-        <view-id value="/faces/AnalysisViewWorkSpace.xhtml" />
+    <url-mapping id="cockpitEditor"> 
+        <pattern value="/Kieker.WebGUI/cockpitEditor" /> 
+        <view-id value="/faces/CockpitEditor.xhtml" />
     </url-mapping> 
     
-    <url-mapping id="analysisController"> 
-        <pattern value="/Kieker.WebGUI/analysisController" /> 
-        <view-id value="/faces/AnalysisController.xhtml" />
+    <url-mapping id="controller"> 
+        <pattern value="/Kieker.WebGUI/controller" /> 
+        <view-id value="/faces/Controller.xhtml" />
     </url-mapping> 
     
-    <url-mapping id="analysisCockpit"> 
-        <pattern value="/Kieker.WebGUI/analysisCockpit" /> 
-        <view-id value="/faces/AnalysisCockpit.xhtml" />
+    <url-mapping id="cockpit"> 
+        <pattern value="/Kieker.WebGUI/cockpit" /> 
+        <view-id value="/faces/Cockpit.xhtml" />
     </url-mapping> 
 
 </pretty-config>
\ No newline at end of file
diff --git a/Kieker.WebGUI/src/main/webapp/dialogs/viewDialogs.xhtml b/Kieker.WebGUI/src/main/webapp/dialogs/viewDialogs.xhtml
index 7a3323ee8868ab57a77fb1dd9d6514cbefd5c895..ac6c1095e30b1f5c4c6b0dddef1e4ca92bd8e656 100644
--- a/Kieker.WebGUI/src/main/webapp/dialogs/viewDialogs.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/dialogs/viewDialogs.xhtml
@@ -20,7 +20,7 @@
 
             <hr/>
             <div style="text-align: right">
-                <p:commandButton value="Ok" action="#{currentAnalysisViewWorkSpaceProjectBean.addView(stringBean.string)}" update=":messages :viewsForm" oncomplete="newViewDialog.hide()" />
+                <p:commandButton value="Ok" action="#{currentCockpitEditorBean.addView(stringBean.string)}" update=":messages :viewsForm" oncomplete="newViewDialog.hide()" />
                 <p:spacer width="10px" height="10" />
                 <p:commandButton value="Cancel" onclick="newViewDialog.hide()" />
             </div>