From 21d92e6cb75713776431b1250679503ab1d370a9 Mon Sep 17 00:00:00 2001
From: Stefan Derkits <stefan@derkits.at>
Date: Thu, 2 May 2013 18:06:23 +0200
Subject: [PATCH] added ant, removed mvn, added libs, reanamed classes &
 implemented a bit more

---
 .classpath.example                            |  36 ---------
 .project.example                              |  23 ------
 .../org.eclipse.core.resources.prefs          |   6 --
 .settings.example/org.eclipse.jdt.core.prefs  |  12 ---
 .settings.example/org.eclipse.m2e.core.prefs  |   4 -
 build.xml                                     |  69 +++++++++++++++++
 lib/opencsv-2.3.jar                           | Bin 0 -> 14146 bytes
 lib/slf4j-api-1.7.5.jar                       | Bin 0 -> 26084 bytes
 lib/slf4j-jdk14-1.7.5.jar                     | Bin 0 -> 7900 bytes
 pom.xml                                       |  48 ------------
 run JobGenerator.launch                       |  16 ----
 run SchedSimulator.launch                     |  16 ----
 .../at/ac/tuwien/lsdc/JobGenerator.java       |   0
 .../at/ac/tuwien/lsdc/SchedSimulator.java     |   2 +-
 .../ac/tuwien/lsdc/federation/Federation.java |   0
 .../tuwien/lsdc/sched/AbstractScheduler.java  |  73 ++++++++++++++++++
 src/at/ac/tuwien/lsdc/sched/SchedulerA.java   |  16 ++++
 src/at/ac/tuwien/lsdc/sched/SchedulerB.java   |  16 ++++
 src/at/ac/tuwien/lsdc/sched/SchedulerC.java   |  16 ++++
 src/at/ac/tuwien/lsdc/types/Application.java  |  40 ++++++++++
 .../ac/tuwien/lsdc/types/PhysicalMachine.java |   0
 .../ac/tuwien/lsdc/types/SchedulerEvent.java  |  32 ++++++++
 .../ac/tuwien/lsdc/types/VirtualMachine.java  |   0
 .../ac/tuwien/lsdc/util/CSVLogger.java}       |  12 +--
 src/at/ac/tuwien/lsdc/util/CSVParser.java     |  22 ++++++
 .../tuwien/lsdc/sched/AbstractScheduler.java  |   5 --
 .../tuwien/lsdc/sched/sched1/Scheduler1.java  |   7 --
 .../tuwien/lsdc/sched/sched2/Scheduler2.java  |   7 --
 .../tuwien/lsdc/sched/sched3/Scheduler3.java  |   7 --
 .../at/ac/tuwien/lsdc/types/Application.java  |   5 --
 .../java/at/ac/tuwien/lsdc/types/Task.java    |   6 --
 src/main/resources/logback.xml                |  24 ------
 src/test/java/dummy                           |   1 -
 src/test/resources/dummy                      |   1 -
 34 files changed, 288 insertions(+), 234 deletions(-)
 delete mode 100644 .classpath.example
 delete mode 100644 .project.example
 delete mode 100644 .settings.example/org.eclipse.core.resources.prefs
 delete mode 100644 .settings.example/org.eclipse.jdt.core.prefs
 delete mode 100644 .settings.example/org.eclipse.m2e.core.prefs
 create mode 100644 build.xml
 create mode 100644 lib/opencsv-2.3.jar
 create mode 100644 lib/slf4j-api-1.7.5.jar
 create mode 100644 lib/slf4j-jdk14-1.7.5.jar
 delete mode 100644 pom.xml
 delete mode 100644 run JobGenerator.launch
 delete mode 100644 run SchedSimulator.launch
 rename src/{main/java => }/at/ac/tuwien/lsdc/JobGenerator.java (100%)
 rename src/{main/java => }/at/ac/tuwien/lsdc/SchedSimulator.java (80%)
 rename src/{main/java => }/at/ac/tuwien/lsdc/federation/Federation.java (100%)
 create mode 100644 src/at/ac/tuwien/lsdc/sched/AbstractScheduler.java
 create mode 100644 src/at/ac/tuwien/lsdc/sched/SchedulerA.java
 create mode 100644 src/at/ac/tuwien/lsdc/sched/SchedulerB.java
 create mode 100644 src/at/ac/tuwien/lsdc/sched/SchedulerC.java
 create mode 100644 src/at/ac/tuwien/lsdc/types/Application.java
 rename src/{main/java => }/at/ac/tuwien/lsdc/types/PhysicalMachine.java (100%)
 create mode 100644 src/at/ac/tuwien/lsdc/types/SchedulerEvent.java
 rename src/{main/java => }/at/ac/tuwien/lsdc/types/VirtualMachine.java (100%)
 rename src/{main/java/at/ac/tuwien/lsdc/util/CSVHandler.java => at/ac/tuwien/lsdc/util/CSVLogger.java} (67%)
 create mode 100644 src/at/ac/tuwien/lsdc/util/CSVParser.java
 delete mode 100644 src/main/java/at/ac/tuwien/lsdc/sched/AbstractScheduler.java
 delete mode 100644 src/main/java/at/ac/tuwien/lsdc/sched/sched1/Scheduler1.java
 delete mode 100644 src/main/java/at/ac/tuwien/lsdc/sched/sched2/Scheduler2.java
 delete mode 100644 src/main/java/at/ac/tuwien/lsdc/sched/sched3/Scheduler3.java
 delete mode 100644 src/main/java/at/ac/tuwien/lsdc/types/Application.java
 delete mode 100644 src/main/java/at/ac/tuwien/lsdc/types/Task.java
 delete mode 100644 src/main/resources/logback.xml
 delete mode 100644 src/test/java/dummy
 delete mode 100644 src/test/resources/dummy

diff --git a/.classpath.example b/.classpath.example
deleted file mode 100644
index e43402f..0000000
--- a/.classpath.example
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" output="target/classes" path="src/main/java">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/.project.example b/.project.example
deleted file mode 100644
index c95e2e3..0000000
--- a/.project.example
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>lsdc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
diff --git a/.settings.example/org.eclipse.core.resources.prefs b/.settings.example/org.eclipse.core.resources.prefs
deleted file mode 100644
index 29abf99..0000000
--- a/.settings.example/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//src/test/java=UTF-8
-encoding//src/test/resources=UTF-8
-encoding/<project>=UTF-8
diff --git a/.settings.example/org.eclipse.jdt.core.prefs b/.settings.example/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 6249222..0000000
--- a/.settings.example/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/.settings.example/org.eclipse.m2e.core.prefs b/.settings.example/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f..0000000
--- a/.settings.example/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..3d92a87
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="lsdc" default="compile" basedir=".">
+
+	<property name="src.dir" value="src" />
+	<property name="lib.dir" value="lib" />
+	<property name="build.dir" value="bin" />
+
+	<path id="project.classpath">
+		<dirset dir="${build.dir}" />
+		<fileset dir="${lib.dir}">
+			<include name="*.jar" />
+		</fileset>
+	</path>
+
+	<assertions id="project.assertions">
+		<enable />
+		<!-- <disable/> -->
+	</assertions>
+
+	<target name="compile" description="Compile project.">
+		<mkdir dir="${build.dir}" />
+		<javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="project.classpath" debug="true" deprecation="true" includeantruntime="false" />
+	</target>
+
+	<target name="run-generator-A" depends="compile" description="Run Group GUI (JMS).">
+		<java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">
+			<assertions refid="project.assertions" />
+			<arg value="A" />
+			<arg value="100" />
+			<arg value="scenarios/scenarioA.csv" />
+		</java>
+	</target>
+
+	<target name="run-scheduler-A-A" depends="compile" description="Run Group GUI (JMS).">
+		<java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">
+			<assertions refid="project.assertions" />
+			<arg value="A" />
+			<arg value="scenarios/scenarioA.csv" />
+			<arg value="logs/all.csv" />
+			<arg value="logs/scenarioA_schedulerA.csv" />
+		</java>
+	</target>
+
+	<target name="run-scheduler-A-B" depends="compile" description="Run Group GUI (JMS).">
+		<java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">
+			<assertions refid="project.assertions" />
+			<arg value="B" />
+			<arg value="scenarios/scenarioA.csv" />
+			<arg value="logs/all.csv" />
+			<arg value="logs/scenarioA_schedulerB.csv" />
+		</java>
+	</target>
+	
+	<target name="run-scheduler-A-C" depends="compile" description="Run Group GUI (JMS).">
+			<java classname="at.ac.tuwien.lsdc.JobGenerator" fork="true" classpathref="project.classpath">
+				<assertions refid="project.assertions" />
+				<arg value="C" />
+				<arg value="scenarios/scenarioA.csv" />
+				<arg value="logs/all.csv" />
+				<arg value="logs/scenarioA_schedulerB.csv" />
+			</java>
+		</target>
+
+	<target name="clean" description="Clean build products.">
+		<delete dir="${build.dir}" />
+	</target>
+
+	<target name="rebuild" depends="clean, compile" description="Clean and build products." />
+</project>
\ No newline at end of file
diff --git a/lib/opencsv-2.3.jar b/lib/opencsv-2.3.jar
new file mode 100644
index 0000000000000000000000000000000000000000..32b00f927594a1854b371fe5bdeacc30f8aa75f8
GIT binary patch
literal 14146
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

literal 0
HcmV?d00001

diff --git a/lib/slf4j-api-1.7.5.jar b/lib/slf4j-api-1.7.5.jar
new file mode 100644
index 0000000000000000000000000000000000000000..8766455d8756ebdac09d36eea2c08db90c18b124
GIT binary patch
literal 26084
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

literal 0
HcmV?d00001

diff --git a/lib/slf4j-jdk14-1.7.5.jar b/lib/slf4j-jdk14-1.7.5.jar
new file mode 100644
index 0000000000000000000000000000000000000000..184c8c4109973315b7df3da3b579ae205d90112c
GIT binary patch
literal 7900
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
XF9myRhXH_lw;#3J*wqs6%fJ5tPOV0n

literal 0
HcmV?d00001

diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 2416f76..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>at.ac.tuwien.lsdc</groupId>
-	<artifactId>lsdc</artifactId>
-	<version>0.0.1-SNAPSHOT</version>
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>1.6.6</version>
-		</dependency>
-		<dependency>
-			<groupId>ch.qos.logback</groupId>
-			<artifactId>logback-classic</artifactId>
-			<version>1.0.7</version>
-		</dependency>
-		<dependency>
-			<groupId>net.sf.opencsv</groupId>
-			<artifactId>opencsv</artifactId>
-			<version>2.0</version>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>exec-maven-plugin</artifactId>
-				<version>1.2.1</version>
-			</plugin>
-			<plugin>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>2.3.2</version>
-				<configuration>
-					<source>1.7</source>
-					<target>1.7</target>
-				</configuration>
-			</plugin>
-		</plugins>
-	</build>
-
-</project>
diff --git a/run JobGenerator.launch b/run JobGenerator.launch
deleted file mode 100644
index 3c15170..0000000
--- a/run JobGenerator.launch	
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
-<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
-<stringAttribute key="M2_GOALS" value="exec:java"/>
-<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
-<booleanAttribute key="M2_OFFLINE" value="false"/>
-<stringAttribute key="M2_PROFILES" value=""/>
-<listAttribute key="M2_PROPERTIES"/>
-<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
-<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
-<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
-<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
-<stringAttribute key="bad_container_name" value="/vales-riegler/group"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dexec.mainClass=&quot;at.ac.tuwien.lsdc.SchedSimulator&quot;"/>
-<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/lsdc}"/>
-</launchConfiguration>
diff --git a/run SchedSimulator.launch b/run SchedSimulator.launch
deleted file mode 100644
index 3c15170..0000000
--- a/run SchedSimulator.launch	
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
-<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
-<stringAttribute key="M2_GOALS" value="exec:java"/>
-<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
-<booleanAttribute key="M2_OFFLINE" value="false"/>
-<stringAttribute key="M2_PROFILES" value=""/>
-<listAttribute key="M2_PROPERTIES"/>
-<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
-<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
-<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
-<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
-<stringAttribute key="bad_container_name" value="/vales-riegler/group"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dexec.mainClass=&quot;at.ac.tuwien.lsdc.SchedSimulator&quot;"/>
-<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/lsdc}"/>
-</launchConfiguration>
diff --git a/src/main/java/at/ac/tuwien/lsdc/JobGenerator.java b/src/at/ac/tuwien/lsdc/JobGenerator.java
similarity index 100%
rename from src/main/java/at/ac/tuwien/lsdc/JobGenerator.java
rename to src/at/ac/tuwien/lsdc/JobGenerator.java
diff --git a/src/main/java/at/ac/tuwien/lsdc/SchedSimulator.java b/src/at/ac/tuwien/lsdc/SchedSimulator.java
similarity index 80%
rename from src/main/java/at/ac/tuwien/lsdc/SchedSimulator.java
rename to src/at/ac/tuwien/lsdc/SchedSimulator.java
index 5a6b86c..327b2e7 100644
--- a/src/main/java/at/ac/tuwien/lsdc/SchedSimulator.java
+++ b/src/at/ac/tuwien/lsdc/SchedSimulator.java
@@ -4,7 +4,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Read config (.properties-file) and start Scheduler-Simulation.
+ * Read config (command line properties) and start Scheduler-Simulation.
  */
 public class SchedSimulator {
 	private static final Logger log = LoggerFactory.getLogger(SchedSimulator.class);
diff --git a/src/main/java/at/ac/tuwien/lsdc/federation/Federation.java b/src/at/ac/tuwien/lsdc/federation/Federation.java
similarity index 100%
rename from src/main/java/at/ac/tuwien/lsdc/federation/Federation.java
rename to src/at/ac/tuwien/lsdc/federation/Federation.java
diff --git a/src/at/ac/tuwien/lsdc/sched/AbstractScheduler.java b/src/at/ac/tuwien/lsdc/sched/AbstractScheduler.java
new file mode 100644
index 0000000..4ac1325
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/sched/AbstractScheduler.java
@@ -0,0 +1,73 @@
+package at.ac.tuwien.lsdc.sched;
+
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import at.ac.tuwien.lsdc.types.Application;
+import at.ac.tuwien.lsdc.types.SchedulerEvent;
+
+public abstract class AbstractScheduler {
+
+	// should move to SchedulerType Class later on
+	
+
+	// the following types are only needed for correct
+	// log output
+	protected String schedulerName;
+	protected String scenario;
+	protected int numInSourced;
+	protected int numOutSourced;
+
+	// this map saves the following Type of Events:
+	// start of an Application, end of an Application
+	// (start outSourced, end outSourced, start inSourced, end inSourced)
+	protected Map<Long, LinkedList<SchedulerEvent>> eventMap;
+
+	// Scheduler has an internal Time "Abstraction"
+	// at every point in time it checks for Events in his "EventList"
+	// and handles them (via the individual scheduling algorithm)
+	protected long currTime;
+
+	// the timestamp at which the Scheduler is finished
+	// it is updated with every added "EndEvent"
+	protected long endTime;
+
+	// Initialize Scheduler with Data from CSV
+	// CSV will be parsed and sent as List<Application> to Scheduler
+	public String initAndStart(List<Application> apps) {
+		for (Application a : apps) {
+			// read start timestamp
+			// save as Event in Map
+		}
+		startScheduling();
+		return doEndLogging();
+	}
+
+	protected void startScheduling() {
+		while (true) {
+			LinkedList<SchedulerEvent> events = eventMap.get(currTime);
+			handleEvents(events);
+			doStateLogging();
+			//advance Time to next Event
+			if (currTime == endTime) {
+				// reached last Event, Scheduler will shut down
+				break;
+			}
+		}
+	}
+
+	// this method is where the Scheduling Algorithm resides
+	// it reads the Events (start & stop of applications)
+	protected abstract void handleEvents(LinkedList<SchedulerEvent> events);
+
+	protected void doStateLogging() {
+		// at every timestamp (after handle Event)
+	}
+
+	// this creates the total summary which should be written to a CSV at the
+	// end
+	protected String doEndLogging() {
+		return "CSV-String";
+	}
+}
diff --git a/src/at/ac/tuwien/lsdc/sched/SchedulerA.java b/src/at/ac/tuwien/lsdc/sched/SchedulerA.java
new file mode 100644
index 0000000..d6fae68
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/sched/SchedulerA.java
@@ -0,0 +1,16 @@
+package at.ac.tuwien.lsdc.sched;
+
+import java.util.LinkedList;
+
+import at.ac.tuwien.lsdc.types.SchedulerEvent;
+
+
+public class SchedulerA extends AbstractScheduler {
+
+	@Override
+	protected void handleEvents(LinkedList<SchedulerEvent> events) {
+		// TODO Auto-generated method stub
+		
+	}
+
+}
diff --git a/src/at/ac/tuwien/lsdc/sched/SchedulerB.java b/src/at/ac/tuwien/lsdc/sched/SchedulerB.java
new file mode 100644
index 0000000..006f959
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/sched/SchedulerB.java
@@ -0,0 +1,16 @@
+package at.ac.tuwien.lsdc.sched;
+
+import java.util.LinkedList;
+
+import at.ac.tuwien.lsdc.types.SchedulerEvent;
+
+
+public class SchedulerB extends AbstractScheduler {
+
+	@Override
+	protected void handleEvents(LinkedList<SchedulerEvent> events) {
+		// TODO Auto-generated method stub
+		
+	}
+
+}
diff --git a/src/at/ac/tuwien/lsdc/sched/SchedulerC.java b/src/at/ac/tuwien/lsdc/sched/SchedulerC.java
new file mode 100644
index 0000000..c106a38
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/sched/SchedulerC.java
@@ -0,0 +1,16 @@
+package at.ac.tuwien.lsdc.sched;
+
+import java.util.LinkedList;
+
+import at.ac.tuwien.lsdc.types.SchedulerEvent;
+
+
+public class SchedulerC extends AbstractScheduler {
+
+	@Override
+	protected void handleEvents(LinkedList<SchedulerEvent> events) {
+		// TODO Auto-generated method stub
+		
+	}
+
+}
diff --git a/src/at/ac/tuwien/lsdc/types/Application.java b/src/at/ac/tuwien/lsdc/types/Application.java
new file mode 100644
index 0000000..cc09198
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/types/Application.java
@@ -0,0 +1,40 @@
+package at.ac.tuwien.lsdc.types;
+
+public class Application {
+	
+	private long timestamp;
+	private int size;
+	private int ram;
+	private int cpu;
+	private int duration;
+	
+	public Application(long timestamp, int size, int ram, int cpu, int duration) {
+		super();
+		this.timestamp = timestamp;
+		this.size = size;
+		this.ram = ram;
+		this.cpu = cpu;
+		this.duration = duration;
+	}
+
+	public long getTimestamp() {
+		return timestamp;
+	}
+
+	public int getSize() {
+		return size;
+	}
+
+	public int getRam() {
+		return ram;
+	}
+
+	public int getCpu() {
+		return cpu;
+	}
+
+	public int getDuration() {
+		return duration;
+	}
+
+}
diff --git a/src/main/java/at/ac/tuwien/lsdc/types/PhysicalMachine.java b/src/at/ac/tuwien/lsdc/types/PhysicalMachine.java
similarity index 100%
rename from src/main/java/at/ac/tuwien/lsdc/types/PhysicalMachine.java
rename to src/at/ac/tuwien/lsdc/types/PhysicalMachine.java
diff --git a/src/at/ac/tuwien/lsdc/types/SchedulerEvent.java b/src/at/ac/tuwien/lsdc/types/SchedulerEvent.java
new file mode 100644
index 0000000..eb471a1
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/types/SchedulerEvent.java
@@ -0,0 +1,32 @@
+package at.ac.tuwien.lsdc.types;
+
+public class SchedulerEvent {
+	
+	public enum EventType {
+		startApplication, endApplication
+	};
+
+	final private long timestamp;
+	final private EventType type;
+	final private Application app;
+
+	public SchedulerEvent(long timestamp, EventType type, Application app) {
+		this.timestamp = timestamp;
+		this.type = type;
+		this.app = app;
+	}
+
+	public long getTimestamp() {
+		return timestamp;
+	}
+
+	public EventType getType() {
+		return type;
+	}
+
+	public Application getApp() {
+		return app;
+	}
+	
+	
+}
\ No newline at end of file
diff --git a/src/main/java/at/ac/tuwien/lsdc/types/VirtualMachine.java b/src/at/ac/tuwien/lsdc/types/VirtualMachine.java
similarity index 100%
rename from src/main/java/at/ac/tuwien/lsdc/types/VirtualMachine.java
rename to src/at/ac/tuwien/lsdc/types/VirtualMachine.java
diff --git a/src/main/java/at/ac/tuwien/lsdc/util/CSVHandler.java b/src/at/ac/tuwien/lsdc/util/CSVLogger.java
similarity index 67%
rename from src/main/java/at/ac/tuwien/lsdc/util/CSVHandler.java
rename to src/at/ac/tuwien/lsdc/util/CSVLogger.java
index 092345c..82f69ac 100644
--- a/src/main/java/at/ac/tuwien/lsdc/util/CSVHandler.java
+++ b/src/at/ac/tuwien/lsdc/util/CSVLogger.java
@@ -1,25 +1,19 @@
 package at.ac.tuwien.lsdc.util;
 
-import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.List;
 
-import au.com.bytecode.opencsv.CSVReader;
 import au.com.bytecode.opencsv.CSVWriter;
 
-public class CSVHandler {
+public class CSVLogger {
+	
 	private final String filename;
 
-	public CSVHandler(String filename) {
+	public CSVLogger(String filename) {
 		this.filename = filename;
 	}
 
-	public List readFile() throws IOException {
-		CSVReader reader = new CSVReader(new FileReader(filename));
-		return reader.readAll();
-	}
-
 	public void writeFile(List data) throws IOException {
 		CSVWriter writer = new CSVWriter(new FileWriter(filename), '\t');
 		writer.writeAll(data);
diff --git a/src/at/ac/tuwien/lsdc/util/CSVParser.java b/src/at/ac/tuwien/lsdc/util/CSVParser.java
new file mode 100644
index 0000000..284d79d
--- /dev/null
+++ b/src/at/ac/tuwien/lsdc/util/CSVParser.java
@@ -0,0 +1,22 @@
+package at.ac.tuwien.lsdc.util;
+
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.List;
+
+import au.com.bytecode.opencsv.CSVReader;
+
+public class CSVParser {
+	private final String filename;
+
+	public CSVParser(String filename) {
+		this.filename = filename;
+	}
+
+	public List readFile() throws IOException {
+		CSVReader reader = new CSVReader(new FileReader(filename));
+		return reader.readAll();
+	}
+
+	
+}
diff --git a/src/main/java/at/ac/tuwien/lsdc/sched/AbstractScheduler.java b/src/main/java/at/ac/tuwien/lsdc/sched/AbstractScheduler.java
deleted file mode 100644
index fb14e25..0000000
--- a/src/main/java/at/ac/tuwien/lsdc/sched/AbstractScheduler.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package at.ac.tuwien.lsdc.sched;
-
-public abstract class AbstractScheduler {
-
-}
diff --git a/src/main/java/at/ac/tuwien/lsdc/sched/sched1/Scheduler1.java b/src/main/java/at/ac/tuwien/lsdc/sched/sched1/Scheduler1.java
deleted file mode 100644
index 1ccfad4..0000000
--- a/src/main/java/at/ac/tuwien/lsdc/sched/sched1/Scheduler1.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package at.ac.tuwien.lsdc.sched.sched1;
-
-import at.ac.tuwien.lsdc.sched.AbstractScheduler;
-
-public class Scheduler1 extends AbstractScheduler {
-
-}
diff --git a/src/main/java/at/ac/tuwien/lsdc/sched/sched2/Scheduler2.java b/src/main/java/at/ac/tuwien/lsdc/sched/sched2/Scheduler2.java
deleted file mode 100644
index 4d6ce00..0000000
--- a/src/main/java/at/ac/tuwien/lsdc/sched/sched2/Scheduler2.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package at.ac.tuwien.lsdc.sched.sched2;
-
-import at.ac.tuwien.lsdc.sched.AbstractScheduler;
-
-public class Scheduler2 extends AbstractScheduler {
-
-}
diff --git a/src/main/java/at/ac/tuwien/lsdc/sched/sched3/Scheduler3.java b/src/main/java/at/ac/tuwien/lsdc/sched/sched3/Scheduler3.java
deleted file mode 100644
index dbd66e6..0000000
--- a/src/main/java/at/ac/tuwien/lsdc/sched/sched3/Scheduler3.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package at.ac.tuwien.lsdc.sched.sched3;
-
-import at.ac.tuwien.lsdc.sched.AbstractScheduler;
-
-public class Scheduler3 extends AbstractScheduler {
-
-}
diff --git a/src/main/java/at/ac/tuwien/lsdc/types/Application.java b/src/main/java/at/ac/tuwien/lsdc/types/Application.java
deleted file mode 100644
index 3347dde..0000000
--- a/src/main/java/at/ac/tuwien/lsdc/types/Application.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package at.ac.tuwien.lsdc.types;
-
-public class Application {
-
-}
diff --git a/src/main/java/at/ac/tuwien/lsdc/types/Task.java b/src/main/java/at/ac/tuwien/lsdc/types/Task.java
deleted file mode 100644
index 22ce550..0000000
--- a/src/main/java/at/ac/tuwien/lsdc/types/Task.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package at.ac.tuwien.lsdc.types;
-
-// one line of a CSV-File. Convert to APP or try to outsource.
-public class Task {
-
-}
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
deleted file mode 100644
index 4cb3709..0000000
--- a/src/main/resources/logback.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<configuration>
-	<appender name="STDOUT2" class="ch.qos.logback.core.ConsoleAppender">
-		<layout class="ch.qos.logback.classic.PatternLayout">
-			<pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
-		</layout>
-	</appender>
-
-	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
-		<layout class="ch.qos.logback.classic.PatternLayout">
-			<pattern>%-30(%d{HH:mm:ss.SSS} [%thread]) %-5level %logger{32} - %msg%n</pattern>
-		</layout>
-	</appender>
-
-	<logger name="at.ac.tuwien">
-		<level value="debug" />
-	</logger>
-
-	<root>
-		<level value="warn" />
-		<appender-ref ref="STDOUT" />
-	</root>
-</configuration>
\ No newline at end of file
diff --git a/src/test/java/dummy b/src/test/java/dummy
deleted file mode 100644
index 2a51033..0000000
--- a/src/test/java/dummy
+++ /dev/null
@@ -1 +0,0 @@
-just a dummy such that git can maintain the directory structure needed by maven
\ No newline at end of file
diff --git a/src/test/resources/dummy b/src/test/resources/dummy
deleted file mode 100644
index 2a51033..0000000
--- a/src/test/resources/dummy
+++ /dev/null
@@ -1 +0,0 @@
-just a dummy such that git can maintain the directory structure needed by maven
\ No newline at end of file
-- 
2.43.0