diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java
index 4e2db8f3682f59b3777be584f397f0f05db55e18..79fca9af9c1bca6fccb7f0bc6e21be0c3b9a2ddd 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentAnalysisEditorGraphBean.java
@@ -140,12 +140,9 @@ public class CurrentAnalysisEditorGraphBean {
 	 */
 	public void declareGraph() {
 		RequestContext.getCurrentInstance().execute(CurrentAnalysisEditorGraphBean.JS_CMD_CREATE_GRAPH_VAR);
-		RequestContext.getCurrentInstance().execute(
-				"graph.setNodeIcon('Filter', 'http://icons.iconarchive.com/icons/everaldo/crystal-clear/96/Action-run-icon.png');");
-		RequestContext.getCurrentInstance().execute(
-				"graph.setNodeIcon('Reader', 'http://icons.iconarchive.com/icons/everaldo/crystal-clear/96/Filesystem-folder-yellow-icon.png');");
-		RequestContext.getCurrentInstance().execute(
-				"graph.setNodeIcon('Repository', 'http://icons.iconarchive.com/icons/everaldo/crystal-clear/96/App-ark-2-icon.png');");
+		RequestContext.getCurrentInstance().execute("graph.setNodeIcon('Filter', '../img/FilterIcon.png');");
+		RequestContext.getCurrentInstance().execute("graph.setNodeIcon('Reader', '../img/ReaderIcon.png');");
+		RequestContext.getCurrentInstance().execute("graph.setNodeIcon('Repository', '../img/RepositoryIcon.png');");
 	}
 
 	/**
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java
index 4a11223e1fbce139b125c6d1dda288e9713a2e2d..fbe331c6ab4e02ae296993c53f4cc732ddbec9e2 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/beans/view/CurrentControllerBean.java
@@ -21,23 +21,25 @@
 package kieker.webgui.beans.view;
 
 import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
 
-import javax.faces.application.FacesMessage;
-import javax.faces.application.FacesMessage.Severity;
 import javax.faces.bean.ManagedBean;
 import javax.faces.bean.ManagedProperty;
 import javax.faces.bean.ViewScoped;
-import javax.faces.context.FacesContext;
 
 import kieker.analysis.AnalysisController;
-import kieker.analysis.model.analysisMetaModel.MIProject;
 import kieker.common.logging.Log;
 import kieker.common.logging.LogFactory;
 import kieker.webgui.beans.application.ProjectsBean;
 import kieker.webgui.common.IProjectManagerFacade;
 import kieker.webgui.common.ProjectManagerFacade;
+import kieker.webgui.common.exception.AnalysisInitializationException;
 import kieker.webgui.common.exception.AnalysisStateException;
-import kieker.webgui.common.exception.ProjectLoadException;
 import kieker.webgui.common.exception.ProjectNotExistingException;
 
 /**
@@ -54,8 +56,8 @@ public class CurrentControllerBean {
 
 	private static final Log LOG = LogFactory.getLog(CurrentControllerBean.class);
 	private final IProjectManagerFacade projectManagerFacade = ProjectManagerFacade.getInstance();
+	private final ArrayList<String> logEntries = new ArrayList<String>();
 	private String projectName;
-	private MIProject project;
 	@ManagedProperty(value = "#{projectsBean}")
 	private ProjectsBean projectsBean;
 
@@ -98,40 +100,6 @@ public class CurrentControllerBean {
 		}
 	}
 
-	/**
-	 * This method initializes the bean by using the current project name to load the project. <b>Do not call this method manually. It will only be accessed by
-	 * JSF.</b>
-	 */
-	public void initalize() {
-		synchronized (this) {
-			try {
-				// Make sure that the initialization will only be done for the init request.
-				if (!FacesContext.getCurrentInstance().isPostback()) {
-					// Remember the given parameters
-					this.project = this.projectsBean.openProject(this.projectName);
-				}
-			} catch (final ProjectLoadException ex) {
-				CurrentControllerBean.LOG.error("An error occured while loading the project.", ex);
-				CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project.");
-			} catch (final NullPointerException ex) {
-				// This exception can occur, when the projectsBean has not been initialized
-				CurrentControllerBean.LOG.error("An error occured while loading the project.", ex);
-				CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "An error occured while loading the project.");
-			}
-		}
-	}
-
-	/**
-	 * This method delivers the project stored in this bean.
-	 * 
-	 * @return The project for this user.
-	 */
-	public MIProject getProject() {
-		synchronized (this) {
-			return this.project;
-		}
-	}
-
 	/**
 	 * This method delivers the project name stored in this bean.
 	 * 
@@ -147,16 +115,17 @@ public class CurrentControllerBean {
 	 * This method starts the current analysis and informs the user about a fail.
 	 */
 	public void startAnalysis() {
-		try {
-			synchronized (this) {
+		synchronized (this) {
+			this.addLogEntry("Starting Analysis for project '" + this.projectName + "'");
+			try {
 				this.projectManagerFacade.startAnalysis(this.projectName);
+			} catch (final AnalysisStateException ex) {
+				CurrentControllerBean.LOG.info("The analysis has already been started.", ex);
+				this.addLogEntry(ex);
+			} catch (final ProjectNotExistingException ex) {
+				CurrentControllerBean.LOG.info("The project does not exist.", ex);
+				this.addLogEntry(ex);
 			}
-		} catch (final AnalysisStateException ex) {
-			CurrentControllerBean.LOG.info("The analysis has already been started.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis has already been started.");
-		} catch (final ProjectNotExistingException ex) {
-			CurrentControllerBean.LOG.info("The project does not exist.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The project does not exist.");
 		}
 	}
 
@@ -165,15 +134,16 @@ public class CurrentControllerBean {
 	 */
 	public void stopAnalysis() {
 		try {
+			this.addLogEntry("Stopping Analysis for project '" + this.projectName + "'");
 			synchronized (this) {
 				this.projectManagerFacade.stopAnalysis(this.projectName);
 			}
 		} catch (final AnalysisStateException ex) {
 			CurrentControllerBean.LOG.info("The analysis has not been started yet.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The analysis has not been started yet.");
+			this.addLogEntry(ex);
 		} catch (final ProjectNotExistingException ex) {
 			CurrentControllerBean.LOG.info("The project does not exist.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The project does not exist.");
+			this.addLogEntry(ex);
 		}
 	}
 
@@ -181,19 +151,23 @@ public class CurrentControllerBean {
 	 * This method initializes the current analysis and informs the user about a fail.
 	 */
 	public void instantiateAnalysis() {
-		try {
-			synchronized (this) {
+		synchronized (this) {
+			this.addLogEntry("Instantiating Analysis for project '" + this.projectName + "'");
+			try {
 				this.projectManagerFacade.initializeAnalysis(this.projectName, this.projectManagerFacade.getClassLoader(this.projectName)); // NOPMD (ClassLoader)
+			} catch (final AnalysisStateException ex) {
+				CurrentControllerBean.LOG.error("The analysis has already been instantiated.", ex);
+				this.addLogEntry(ex);
+			} catch (final ProjectNotExistingException ex) {
+				CurrentControllerBean.LOG.info("The project does not exist.", ex);
+				this.addLogEntry(ex);
+			} catch (final IOException ex) {
+				CurrentControllerBean.LOG.info("An error occured during the initialization.", ex);
+				this.addLogEntry(ex);
+			} catch (final AnalysisInitializationException ex) {
+				CurrentControllerBean.LOG.info("An error occured during the initialization.", ex);
+				this.addLogEntry(ex);
 			}
-		} catch (final AnalysisStateException ex) {
-			CurrentControllerBean.LOG.error("The analysis has already been instantiated.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "The analysis has already been instantiated.");
-		} catch (final ProjectNotExistingException ex) {
-			CurrentControllerBean.LOG.info("The project does not exist.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The project does not exist.");
-		} catch (final IOException ex) {
-			CurrentControllerBean.LOG.info("An error occured during the initialization.", ex);
-			CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "An error occured during the initialization.");
 		}
 	}
 
@@ -202,14 +176,15 @@ public class CurrentControllerBean {
 	 */
 	public void cleanAnalysis() {
 		synchronized (this) {
+			this.addLogEntry("Cleaning Analysis for project '" + this.projectName + "'");
 			try {
 				this.projectManagerFacade.cleanAnalysis(this.projectName);
 			} catch (final ProjectNotExistingException ex) {
 				CurrentControllerBean.LOG.info("The project does not exist.", ex);
-				CurrentControllerBean.showMessage(FacesMessage.SEVERITY_WARN, "The project does not exist.");
+				this.addLogEntry(ex);
 			} catch (final AnalysisStateException ex) {
 				CurrentControllerBean.LOG.error("The analysis has not been instantiated yet.", ex);
-				CurrentControllerBean.showMessage(FacesMessage.SEVERITY_ERROR, "The analysis has not been instantiated yet.");
+				this.addLogEntry(ex);
 			}
 		}
 	}
@@ -314,15 +289,24 @@ public class CurrentControllerBean {
 		}
 	}
 
-	/**
-	 * This method shows the current user a message by using the growl-component of PrimeFaces.
-	 * 
-	 * @param severity
-	 *            The severity of the message.
-	 * @param msg
-	 *            The message itself.
-	 */
-	private static void showMessage(final Severity severity, final String msg) {
-		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, "", msg));
+	public Collection<String> getLog() {
+		return this.logEntries;
+	}
+
+	private void addLogEntry(final Throwable cause) {
+		final Writer result = new StringWriter();
+		final PrintWriter printWriter = new PrintWriter(result);
+		cause.printStackTrace(printWriter);
+		this.addLogEntry(result.toString());
+	}
+
+	private void addLogEntry(final String msg) {
+		final String finalMsg = new Date().toString() + " : " + msg;
+		synchronized (this) {
+			if (this.logEntries.size() > 50) {
+				this.logEntries.remove(0);
+			}
+			this.logEntries.add(finalMsg);
+		}
 	}
 }
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java
index 309dd3ed3eafd9572a21d6b2e05e1bc1dc09ea9a..87a27faaf21e31f6a1a11de1c07af006e1f2916d 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/IProjectManagerFacade.java
@@ -29,6 +29,7 @@ import kieker.analysis.model.analysisMetaModel.MIDependency;
 import kieker.analysis.model.analysisMetaModel.MIProject;
 import kieker.analysis.plugin.AbstractPlugin;
 import kieker.analysis.repository.AbstractRepository;
+import kieker.webgui.common.exception.AnalysisInitializationException;
 import kieker.webgui.common.exception.AnalysisStateException;
 import kieker.webgui.common.exception.DisplayNotFoundException;
 import kieker.webgui.common.exception.LibraryAlreadyExistingException;
@@ -269,7 +270,8 @@ public interface IProjectManagerFacade {
 	 * @throws AnalysisStateException
 	 *             If the analysis of the given project is in the wrong state to be initialized. This means that it has not been cleaned yet.
 	 */
-	public void initializeAnalysis(final String projectName, final ClassLoader classLoader) throws ProjectNotExistingException, AnalysisStateException;
+	public void initializeAnalysis(final String projectName, final ClassLoader classLoader) throws ProjectNotExistingException, AnalysisStateException,
+			AnalysisInitializationException;
 
 	/**
 	 * This method cleans the analysis of the given project.
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java
index 1d181dcd13489d6c2332cdf25a086536bab27791..f53e8a7d403b50e09c198fcd59d3efbf1092f423 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/ProjectManagerFacade.java
@@ -31,6 +31,7 @@ import kieker.analysis.model.analysisMetaModel.MIDependency;
 import kieker.analysis.model.analysisMetaModel.MIProject;
 import kieker.analysis.plugin.AbstractPlugin;
 import kieker.analysis.repository.AbstractRepository;
+import kieker.webgui.common.exception.AnalysisInitializationException;
 import kieker.webgui.common.exception.AnalysisStateException;
 import kieker.webgui.common.exception.DisplayNotFoundException;
 import kieker.webgui.common.exception.LibraryAlreadyExistingException;
@@ -229,7 +230,8 @@ public final class ProjectManagerFacade implements IProjectManagerFacade {
 	}
 
 	@Override
-	public void initializeAnalysis(final String projectName, final ClassLoader classLoader) throws ProjectNotExistingException, AnalysisStateException {
+	public void initializeAnalysis(final String projectName, final ClassLoader classLoader) throws ProjectNotExistingException, AnalysisStateException,
+			AnalysisInitializationException {
 		// We have to lock both - the project and the analysis, as a file has to be loaded
 		final Object projectLock = this.getLock(projectName, this.fileSystemLocks);
 		final Object analysisLock = this.getLock(projectName, this.analysesLocks);
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java
new file mode 100644
index 0000000000000000000000000000000000000000..87260a1141780eb109fa6d7932b2f2c0802ebcd1
--- /dev/null
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/exception/AnalysisInitializationException.java
@@ -0,0 +1,66 @@
+/***************************************************************************
+ * Copyright 2012 by
+ *  + Christian-Albrechts-University of Kiel
+ *    + Department of Computer Science
+ *      + Software Engineering Group 
+ *  and others.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ ***************************************************************************/
+
+package kieker.webgui.common.exception;
+
+/**
+ * This class represents an exception occurring when the analysis is instantiated.
+ * 
+ * @author Nils Christian Ehmke
+ * @version 1.0
+ */
+public class AnalysisInitializationException extends AbstractKiekerWebGUIException {
+	/**
+	 * The UID.
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * private static final long serialVersionUID = 1L;
+	 * 
+	 * /**
+	 * Creates a new instance of this class.
+	 */
+	public AnalysisInitializationException() {
+		super();
+	}
+
+	/**
+	 * Creates a new instance of this class using the given parameters.
+	 * 
+	 * @param msg
+	 *            The message used for the exception.
+	 */
+	public AnalysisInitializationException(final String msg) {
+		super(msg);
+	}
+
+	/**
+	 * Creates a new instance of this class using the given parameters.
+	 * 
+	 * @param msg
+	 *            The message used for the exception.
+	 * @param cause
+	 *            The cause for the exception.
+	 */
+	public AnalysisInitializationException(final String msg, final Throwable cause) {
+		super(msg, cause);
+	}
+}
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java
index 8d2ad4dc628d5931166fb042b222275768fce226..8ac06888a065b22e5aaf7c628ff24d28cefc065f 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/ACManager.java
@@ -23,6 +23,7 @@ package kieker.webgui.common.util;
 import java.util.concurrent.ConcurrentHashMap;
 
 import kieker.analysis.AnalysisController.STATE;
+import kieker.webgui.common.exception.AnalysisInitializationException;
 import kieker.webgui.common.exception.AnalysisStateException;
 import kieker.webgui.common.exception.DisplayNotFoundException;
 import kieker.webgui.common.exception.ProjectNotExistingException;
@@ -64,7 +65,8 @@ public final class ACManager {
 	 * @throws AnalysisStateException
 	 *             If the analysis is in an invalid state to be initialized.
 	 */
-	public void initializeAnalysis(final String projectName, final ClassLoader classLoader) throws ProjectNotExistingException, AnalysisStateException {
+	public void initializeAnalysis(final String projectName, final ClassLoader classLoader) throws ProjectNotExistingException, AnalysisStateException,
+			AnalysisInitializationException {
 		// The analysis for the given project must not exist!
 		if (this.analyses.containsKey(projectName)) {
 			throw new AnalysisStateException("The analysis has not been cleaned yet.");
diff --git a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java
index edc6d09b15d77732f9a1c9d5e50695c33a8f399d..a8e314c6028c5abd6429f7fa6e01367644e22d24 100644
--- a/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java
+++ b/Kieker.WebGUI/src/main/java/kieker/webgui/common/util/Analysis.java
@@ -31,6 +31,7 @@ import javax.annotation.PostConstruct;
 import kieker.common.logging.Log;
 import kieker.common.logging.LogFactory;
 import kieker.webgui.common.ClassAndMethodContainer;
+import kieker.webgui.common.exception.AnalysisInitializationException;
 import kieker.webgui.common.exception.AnalysisStateException;
 import kieker.webgui.common.exception.ProjectLoadException;
 
@@ -58,7 +59,7 @@ public class Analysis {
 	 * @throws AnalysisStateException
 	 *             If something went wrong during the loading of the analysis.
 	 */
-	public Analysis(final ClassLoader classLoader, final File projectFile) throws AnalysisStateException {
+	public Analysis(final ClassLoader classLoader, final File projectFile) throws AnalysisStateException, AnalysisInitializationException {
 		try {
 			this.classAndMethodContainer = new ClassAndMethodContainer(classLoader);
 
@@ -76,9 +77,9 @@ public class Analysis {
 				throw new AnalysisStateException("An error occured while instantiating the analysis.");
 			}
 		} catch (final ProjectLoadException ex) {
-			throw new AnalysisStateException("An error occured while instantiating the analysis.", ex);
+			throw new AnalysisInitializationException("An error occured while instantiating the analysis.", ex);
 		} catch (final NullPointerException ex) {
-			throw new AnalysisStateException("An error occured while instantiating the analysis.", ex);
+			throw new AnalysisInitializationException("An error occured while instantiating the analysis.", ex);
 		}
 	}
 
diff --git a/Kieker.WebGUI/src/main/webapp/Controller.xhtml b/Kieker.WebGUI/src/main/webapp/Controller.xhtml
index 72715891990b5e3ec7701517a0c8df7e4fcd6aa5..0442f4ee468b31b9d0d921e3f464d258f10a64ff 100644
--- a/Kieker.WebGUI/src/main/webapp/Controller.xhtml
+++ b/Kieker.WebGUI/src/main/webapp/Controller.xhtml
@@ -7,11 +7,10 @@
       xmlns:p="http://primefaces.org/ui"
       xmlns:c="http://java.sun.com/jsp/jstl/core">
 
-     <f:metadata>
-         <f:viewParam name="projectName" value="#{currentControllerBean.projectName}"/>
-           <f:event type="preRenderView" listener="#{currentControllerBean.initalize()}"  />
+    <f:metadata>
+        <f:viewParam name="projectName" value="#{currentControllerBean.projectName}"/>
     </f:metadata>
-    
+
     <h:head>
         <title>Kieker.WebGUI</title>
         <link rel="stylesheet" type="text/css" href="../css/Common.css" />
@@ -29,7 +28,7 @@
                         <p:toolbarGroup align="left">
                             <h:outputText styleClass="kieker-title" value="Kieker &raquo; #{stringBean.shortenLongName(currentControllerBean.projectName, 30)}"/>
                         </p:toolbarGroup>
-                     <p:toolbarGroup align="right">
+                        <p:toolbarGroup align="right">
                             <p:commandButton styleClass="perspective-button" icon="ui-icon-home" action="ProjectOverview.xhtml?faces-redirect=true" />
                             <p:separator/>
                             <p:button styleClass="perspective-button" icon="ui-icon-wrench" value="Analysis Editor" style="white-space: none" outcome="AnalysisEditor.xhtml?faces-redirect=true">
@@ -58,7 +57,7 @@
                             <p:menuitem styleClass="element-with-whitespace" icon="ui-icon-comment" value="  About..." onclick="aboutDlg.show()" ajax="true"/>
                         </p:submenu>
 
-                       <p:menuitem styleClass="logOutButton" icon="ui-icon-power" value="#{userBean.userName}" ajax="true" url="login"/>
+                        <p:menuitem styleClass="logOutButton" icon="ui-icon-power" value="#{userBean.userName}" ajax="true" url="login"/>
                     </p:menubar>
 
                 </h:form>
@@ -66,14 +65,17 @@
 
 
             <p:layoutUnit position="center" id="centerLayout">
+                <p:dataList style="height: 100%" id="logList" value="#{currentControllerBean.log}" var="entry" itemType="disc">  
+                    #{entry}
+                </p:dataList>  
             </p:layoutUnit>
 
             <p:layoutUnit position="south" header="Control" resizable="true" collapsible="true">
                 <h:form id="controllerForm">
-                    <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:commandButton value="Instantiate Analysis Controller" action="#{currentControllerBean.instantiateAnalysis()}" update=":messages :logList" disabled="#{empty currentControllerBean.projectName}"/>
+                    <p:commandButton value="Clean Analysis" action="#{currentControllerBean.cleanAnalysis()}"  update=":messages :logList" disabled="#{empty currentControllerBean.projectName}"/>
+                    <p:commandButton value="Start Analysis" action="#{currentControllerBean.startAnalysis()}"  update=":messages :logList" disabled="#{empty currentControllerBean.projectName}"/>
+                    <p:commandButton value="Stop Analysis" action="#{currentControllerBean.stopAnalysis()}"  update=":messages :logList" disabled="#{empty currentControllerBean.projectName}"/>
                     <p:poll interval="1" update=":ledsForm"/>
                 </h:form>  
                 <hr/>
diff --git a/Kieker.WebGUI/src/main/webapp/img/FilterIcon.png b/Kieker.WebGUI/src/main/webapp/img/FilterIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..203f88308a7399448403f54a6b790b1157bcab82
Binary files /dev/null and b/Kieker.WebGUI/src/main/webapp/img/FilterIcon.png differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/ReaderIcon.png b/Kieker.WebGUI/src/main/webapp/img/ReaderIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..edc3e77837261a986b430e52e1b59c0e2da75584
Binary files /dev/null and b/Kieker.WebGUI/src/main/webapp/img/ReaderIcon.png differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/RepositoryIcon.png b/Kieker.WebGUI/src/main/webapp/img/RepositoryIcon.png
new file mode 100644
index 0000000000000000000000000000000000000000..9bd7f6994e3a6a01213f4e5db6bd2ae35e93bc16
Binary files /dev/null and b/Kieker.WebGUI/src/main/webapp/img/RepositoryIcon.png differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/arrow.gif b/Kieker.WebGUI/src/main/webapp/img/arrow.gif
deleted file mode 100644
index e59288f31e1ff06c5e496099161024e94df6027c..0000000000000000000000000000000000000000
Binary files a/Kieker.WebGUI/src/main/webapp/img/arrow.gif and /dev/null differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/arrow_d.gif b/Kieker.WebGUI/src/main/webapp/img/arrow_d.gif
deleted file mode 100644
index 6dd0addefafcf9b0330ce5a71e7db0edc23b6a60..0000000000000000000000000000000000000000
Binary files a/Kieker.WebGUI/src/main/webapp/img/arrow_d.gif and /dev/null differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/arrow_l.gif b/Kieker.WebGUI/src/main/webapp/img/arrow_l.gif
deleted file mode 100644
index 0f7c1e3d931f90eebe48503b5c99df2e2bfbd304..0000000000000000000000000000000000000000
Binary files a/Kieker.WebGUI/src/main/webapp/img/arrow_l.gif and /dev/null differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/arrow_r.gif b/Kieker.WebGUI/src/main/webapp/img/arrow_r.gif
deleted file mode 100644
index e59288f31e1ff06c5e496099161024e94df6027c..0000000000000000000000000000000000000000
Binary files a/Kieker.WebGUI/src/main/webapp/img/arrow_r.gif and /dev/null differ
diff --git a/Kieker.WebGUI/src/main/webapp/img/arrow_u.gif b/Kieker.WebGUI/src/main/webapp/img/arrow_u.gif
deleted file mode 100644
index 2d3dfdcccd98e099fbc08a1d3843709491363ca1..0000000000000000000000000000000000000000
Binary files a/Kieker.WebGUI/src/main/webapp/img/arrow_u.gif and /dev/null differ