diff --git a/.gitmodules b/.gitmodules
index 19e1e11206a045e713b0dc3a496d76be16b95084..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +0,0 @@
-[submodule "pracr-scheme"]
-	path = pracr-scheme
-	url = git@git-st.inf.tu-dresden.de:rschoene/pracr
-[submodule "pracr-python"]
-	path = pracr-python
-	url = git@git-st.inf.tu-dresden.de:rschoene/pracr
-[submodule "racr-cpp"]
-	path = racr-cpp
-	url = git@git-st.inf.tu-dresden.de:rschoene/trainbenchmark-racr-plus-plus
diff --git a/pracr-python b/pracr-python
deleted file mode 160000
index f15c5bb0f14043c6c0bf06c3c54fbe41f680dcb4..0000000000000000000000000000000000000000
--- a/pracr-python
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f15c5bb0f14043c6c0bf06c3c54fbe41f680dcb4
diff --git a/pracr-scheme b/pracr-scheme
deleted file mode 160000
index f15c5bb0f14043c6c0bf06c3c54fbe41f680dcb4..0000000000000000000000000000000000000000
--- a/pracr-scheme
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f15c5bb0f14043c6c0bf06c3c54fbe41f680dcb4
diff --git a/racr-cpp b/racr-cpp
deleted file mode 160000
index 2f4ee264b5212cafaa9648f5685aa8b36cec0ce6..0000000000000000000000000000000000000000
--- a/racr-cpp
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 2f4ee264b5212cafaa9648f5685aa8b36cec0ce6
diff --git a/trainbenchmark-format-graph-neo4j/build.gradle b/trainbenchmark-format-graph-neo4j/build.gradle
deleted file mode 100644
index b55740316a4d8a471ba79617656953bf4a1c4594..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-graph-neo4j/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-ext {
-	apocVersion = '3.2.0.4'
-	neo4jVersion = '3.2.4'
-}
-
-dependencies {
-	compile project(':trainbenchmark-config')
-	compile group: 'org.neo4j', name: 'neo4j-cypher', version: neo4jVersion
-	compile group: 'org.neo4j', name: 'neo4j-io', version: neo4jVersion
-	compile group: 'org.neo4j', name: 'neo4j-kernel', version: neo4jVersion
-	compile group: 'org.neo4j.procedure', name: 'apoc', version: apocVersion
-}
diff --git a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/Neo4jConstants.java b/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/Neo4jConstants.java
deleted file mode 100644
index 8ab9aef8fe63ad72a321c484707872ec4196cf24..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/Neo4jConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-
-package hu.bme.mit.trainbenchmark.neo4j;
-
-import org.neo4j.graphdb.Label;
-import org.neo4j.graphdb.RelationshipType;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CONNECTS_TO;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ENTRY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.EXIT;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.FOLLOWS;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.REQUIRES;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SEGMENT;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SWITCH;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SWITCHPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.TARGET;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.TRACKELEMENT;
-
-public class Neo4jConstants {
-
-	public static final String QUERY_EXTENSION = "cypher";
-
-	public static final String CSV_EXTENSION = "csv";
-	public static final String GRAPHML_EXTENSION = "graphml";
-
-	public static final String ID = "id";
-
-	public static final Label labelRoute = Label.label(ROUTE);
-	public static final Label labelSegment = Label.label(SEGMENT);
-	public static final Label labelSemaphore = Label.label(SEMAPHORE);
-	public static final Label labelSensor = Label.label(SENSOR);
-	public static final Label labelSwitch = Label.label(SWITCH);
-	public static final Label labelSwitchPosition = Label.label(SWITCHPOSITION);
-	public static final Label labelTrackElement = Label.label(TRACKELEMENT);
-
-	public static final RelationshipType relationshipTypeConnectsTo = RelationshipType.withName(CONNECTS_TO);
-	public static final RelationshipType relationshipTypeEntry = RelationshipType.withName(ENTRY);
-	public static final RelationshipType relationshipTypeExit = RelationshipType.withName(EXIT);
-	public static final RelationshipType relationshipTypeFollows = RelationshipType.withName(FOLLOWS);
-	public static final RelationshipType relationshipTypeRequires = RelationshipType.withName(REQUIRES);
-	public static final RelationshipType relationshipTypeMonitoredBy = RelationshipType.withName(MONITORED_BY);
-	public static final RelationshipType relationshipTypeTarget = RelationshipType.withName(TARGET);
-
-	public static final String CYPHER_DIR = "/trainbenchmark-tool-neo4j/src/main/resources/";
-
-}
diff --git a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/Neo4jHelper.java b/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/Neo4jHelper.java
deleted file mode 100644
index 96b58a4a0aadd1782160d388d86fa59563a0f5bd..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/Neo4jHelper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package hu.bme.mit.trainbenchmark.neo4j;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.factory.GraphDatabaseFactory;
-
-import java.io.File;
-
-public class Neo4jHelper {
-
-	public static GraphDatabaseService startGraphDatabase(final File graphDatabaseDirectory) {
-		final GraphDatabaseService graphDb = new GraphDatabaseFactory()
-			.newEmbeddedDatabaseBuilder(graphDatabaseDirectory)
-			.setConfig("apoc.export.file.enabled", "true")
-			.setConfig("apoc.import.file.enabled", "true")
-			.newGraphDatabase();
-		return graphDb;
-	}
-
-}
diff --git a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/apoc/ApocHelper.java b/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/apoc/ApocHelper.java
deleted file mode 100644
index 7a9d37e4c49d4ebba22a7c6c12f94c582af4381e..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/apoc/ApocHelper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package hu.bme.mit.trainbenchmark.neo4j.apoc;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.kernel.api.exceptions.KernelException;
-import org.neo4j.kernel.impl.proc.Procedures;
-import org.neo4j.kernel.internal.GraphDatabaseAPI;
-
-public class ApocHelper {
-
-	// https://github.com/neo4j-contrib/neo4j-apoc-procedures/blob/a4423863ce77ef51c5d94cdbdc65d8a09172821b/src/test/java/apoc/util/TestUtil.java
-	public static void registerProcedure(GraphDatabaseService db, Class<?>...procedures) throws KernelException {
-		Procedures proceduresService = ((GraphDatabaseAPI) db).getDependencyResolver().resolveDependency(Procedures.class);
-		for (Class<?> procedure : procedures) {
-			proceduresService.registerProcedure(procedure);
-			proceduresService.registerFunction(procedure);
-		}
-	}
-
-}
diff --git a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/config/Neo4jGraphFormat.java b/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/config/Neo4jGraphFormat.java
deleted file mode 100644
index f5e008496f3b3df39c6534a7dc732cc27793b60a..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/neo4j/config/Neo4jGraphFormat.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package hu.bme.mit.trainbenchmark.neo4j.config;
-
-public enum Neo4jGraphFormat {
-	CSV("CSV"), //
-	GRAPHML("GraphML"), //
-	CYPHER("Cypher"),
-	;
-
-	private String name;
-
-	Neo4jGraphFormat(final String name) {
-		this.name = name;
-	}
-
-	@Override
-	public String toString() {
-		return name;
-	}
-
-}
diff --git a/trainbenchmark-format-rdf/README.md b/trainbenchmark-format-rdf/README.md
deleted file mode 100644
index 169a87cb0d9622fc5061064722e5a6a9ba69db7c..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-#### Visualization script
-
-For visualizing RDF models, you can use the `graphviz` and `rapper` tools:
-
-```bash
-sudo apt-get install -y rapper graphviz
-```
-
-Usage:
-
-```bash
-MODEL=railway-repair-1
-rapper -i turtle $MODEL.ttl -o dot | dot -Tpdf > $MODEL.pdf
-```
-
-You may use `fdp`, `neato`, `twopi` or `circo` instead of `dot`.
diff --git a/trainbenchmark-format-rdf/build.gradle b/trainbenchmark-format-rdf/build.gradle
deleted file mode 100644
index 81b6e75d20acb29647d18324a3b6ebc0862cf168..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/build.gradle
+++ /dev/null
@@ -1,3 +0,0 @@
-dependencies {
-  compile project(':trainbenchmark-tool')
-}
diff --git a/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfConstants.java b/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfConstants.java
deleted file mode 100644
index cc463197dff418fd75ebcdbc719c659472c61022..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfConstants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.rdf;
-
-public interface RdfConstants {
-
-	static final String ONTOLOGYIRI = "http://www.semanticweb.org/ontologies/2015/trainbenchmark";
-	static final String BASE_PREFIX = ONTOLOGYIRI + "#";
-	static final String ID_PREFIX = "_";
-
-	static final String XSD_PREFIX = "http://www.w3.org/2001/XMLSchema#";
-	static final String RDF_PREFIX = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
-	static final String RDF_TYPE = RDF_PREFIX + "type";
-
-	static final String SPARQL_BASE_PREFIX = "PREFIX base: <" + BASE_PREFIX + "> ";
-	static final String SPARQL_RDF_PREFIX = "PREFIX rdf: <" + RDF_PREFIX + "> ";
-
-}
\ No newline at end of file
diff --git a/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfFormat.java b/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfFormat.java
deleted file mode 100644
index 78320bbf64dc2c64a18421ba43dfb0323e0f9589..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfFormat.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package hu.bme.mit.trainbenchmark.rdf;
-
-public enum RdfFormat {
-	TURTLE("ttl"), NTRIPLES("nt");
-
-	private String extension;
-
-	RdfFormat(final String extension) {
-		this.extension = extension;
-	}
-
-	public String getExtension() {
-		return extension;
-	}
-	
-}
diff --git a/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfHelper.java b/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfHelper.java
deleted file mode 100644
index 06640a090576920a7e6b1b4bc760c2bc82a4f9f1..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/src/main/java/hu/bme/mit/trainbenchmark/rdf/RdfHelper.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.rdf;
-
-public class RdfHelper {
-
-	public static String brackets(final String uri) {
-		return "<" + uri + ">";
-	}
-
-	public static long extractId(final String uri) {
-		final int hashPosition = uri.lastIndexOf("#");
-		try {
-			final String localName = uri.substring(hashPosition + RdfConstants.ID_PREFIX.length() + 1);
-			return Long.parseLong(localName);
-		} catch (final NumberFormatException e) {
-			throw new RuntimeException("Could not extract id from URI: " + uri, e);
-		}
-	}
-
-	public static String addEnumPrefix(final Enum<?> e) {
-		return e.getClass().getSimpleName().toUpperCase() + "_" + e.toString();
-	}
-
-	public static String removePrefix(final Class<?> enumClass, final String name) {
-		return name.replace(enumClass.getSimpleName().toUpperCase() + "_", "");
-	}
-
-	public static String getPostfix(final boolean metamodel) {
-		if (metamodel) {
-			return "-metamodel.ttl";
-		} else {
-			return "-inferred.ttl";
-		}
-	}
-
-}
diff --git a/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-inferred.nt b/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-inferred.nt
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-inferred.ttl b/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-inferred.ttl
deleted file mode 100644
index e32a1532c9430d9ed6f19b77096638d82453957e..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-inferred.ttl
+++ /dev/null
@@ -1,3 +0,0 @@
-@prefix : <http://www.semanticweb.org/ontologies/2015/trainbenchmark#> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-
diff --git a/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-metamodel.ttl b/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-metamodel.ttl
deleted file mode 100644
index 85f771f977b67b25d9f1cca37dd12ca96f8feba4..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-rdf/src/main/resources/metamodel/railway-metamodel.ttl
+++ /dev/null
@@ -1,353 +0,0 @@
-@prefix : <http://www.semanticweb.org/ontologies/2015/trainbenchmark#> .
-@prefix owl: <http://www.w3.org/2002/07/owl#> .
-@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
-@prefix xml: <http://www.w3.org/XML/1998/namespace> .
-@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
-@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
-@prefix swrl: <http://www.w3.org/2003/11/swrl#> .
-@prefix swrlb: <http://www.w3.org/2003/11/swrlb#> .
-@base <http://www.semanticweb.org/ontologies/2015/trainbenchmark#> .
-
-<http://www.semanticweb.org/ontologies/2015/trainbenchmark#> rdf:type owl:Ontology .
-
-
-#################################################################
-#
-#    Object Properties
-#
-#################################################################
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##connectsTo
-
-:connectsTo rdf:type owl:ObjectProperty ;
-            
-            rdfs:domain :TrackElement ;
-            
-            rdfs:range :TrackElement .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##currentPosition
-
-:currentPosition rdf:type owl:ObjectProperty ;
-          
-          rdfs:range :Position ;
-          
-          rdfs:domain :Switch .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##definedBy
-
-:definedBy rdf:type owl:ObjectProperty ;
-           
-           rdfs:domain :Route ;
-           
-           rdfs:range :Sensor .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##elements
-
-:elements rdf:type owl:ObjectProperty ;
-          
-          rdfs:domain :Sensor ;
-          
-          rdfs:range :TrackElement .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##entry
-
-:entry rdf:type owl:ObjectProperty ;
-       
-       rdfs:domain :Route ;
-       
-       rdfs:range :Semaphore .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##exit
-
-:exit rdf:type owl:ObjectProperty ;
-      
-      rdfs:domain :Route ;
-      
-      rdfs:range :Semaphore .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##follows
-
-:follows rdf:type owl:ObjectProperty ;
-         
-         rdfs:domain :Route ;
-         
-         rdfs:range :SwitchPosition ;
-         
-         owl:inverseOf :route .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##position
-
-:position rdf:type owl:ObjectProperty ;
-          
-          rdfs:range :Position ;
-          
-          rdfs:domain :SwitchPosition .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##positions
-
-:positions rdf:type owl:ObjectProperty ;
-           
-           rdfs:domain :Switch ;
-           
-           rdfs:range :SwitchPosition .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##route
-
-:route rdf:type owl:ObjectProperty ;
-       
-       rdfs:range :Route ;
-       
-       rdfs:domain :SwitchPosition .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##sensor
-
-:sensor rdf:type owl:ObjectProperty ;
-        
-        rdfs:range :Sensor ;
-        
-        rdfs:domain :TrackElement ;
-        
-        owl:inverseOf :elements .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##signal
-
-:signal rdf:type owl:ObjectProperty ;
-        
-        rdfs:domain :Semaphore ;
-        
-        rdfs:range :SignalState .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##switch
-
-:switch rdf:type owl:ObjectProperty ;
-        
-        rdfs:range :Switch ;
-        
-        rdfs:domain :SwitchPosition ;
-        
-        owl:inverseOf :positions .
-
-
-
-
-
-#################################################################
-#
-#    Data properties
-#
-#################################################################
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##length
-
-:length rdf:type owl:DatatypeProperty ;
-                
-                rdfs:domain :Segment ;
-                
-                rdfs:range xsd:int .
-
-
-
-
-
-#################################################################
-#
-#    Classes
-#
-#################################################################
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##Position
-
-:Position rdf:type owl:Class ;
-          
-          owl:equivalentClass [ rdf:type owl:Class ;
-                                owl:oneOf ( :POSITION_STRAIGHT
-                                            :POSITION_LEFT
-                                            :POSITION_FAILURE
-                                            :POSITION_RIGHT
-                                          )
-                              ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##Route
-
-:Route rdf:type owl:Class ;
-       
-       rdfs:subClassOf [ rdf:type owl:Restriction ;
-                         owl:onProperty :entry ;
-                         owl:cardinality "1"^^xsd:nonNegativeInteger
-                       ] ,
-                       [ rdf:type owl:Restriction ;
-                         owl:onProperty :exit ;
-                         owl:cardinality "1"^^xsd:nonNegativeInteger
-                       ] ,
-                       [ rdf:type owl:Restriction ;
-                         owl:onProperty :definedBy ;
-                         owl:minCardinality "2"^^xsd:nonNegativeInteger
-                       ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##Segment
-
-:Segment rdf:type owl:Class ;
-         
-         rdfs:subClassOf :TrackElement ,
-                         [ rdf:type owl:Restriction ;
-                           owl:onProperty :length ;
-                           owl:cardinality "1"^^xsd:nonNegativeInteger
-                         ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##Semaphore
-
-:Semaphore rdf:type owl:Class ;
-           
-           rdfs:subClassOf [ rdf:type owl:Restriction ;
-                             owl:onProperty :signal ;
-                             owl:cardinality "1"^^xsd:nonNegativeInteger
-                           ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##Sensor
-
-:Sensor rdf:type owl:Class .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##SignalState
-
-:SignalState rdf:type owl:Class ;
-             
-             owl:equivalentClass [ rdf:type owl:Class ;
-                                   owl:oneOf ( :SIGNAL_FAILURE
-                                               :SIGNAL_GO
-                                               :SIGNAL_STOP
-                                             )
-                                 ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##Switch
-
-:Switch rdf:type owl:Class ;
-        
-        rdfs:subClassOf :TrackElement ,
-                        [ rdf:type owl:Restriction ;
-                          owl:onProperty :currentPosition ;
-                          owl:cardinality "1"^^xsd:nonNegativeInteger
-                        ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##SwitchPosition
-
-:SwitchPosition rdf:type owl:Class ;
-                
-                rdfs:subClassOf [ rdf:type owl:Restriction ;
-                                  owl:onProperty :position ;
-                                  owl:cardinality "1"^^xsd:nonNegativeInteger
-                                ] ,
-                                [ rdf:type owl:Restriction ;
-                                  owl:onProperty :switch ;
-                                  owl:cardinality "1"^^xsd:nonNegativeInteger
-                                ] .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##TrackElement
-
-:TrackElement rdf:type owl:Class .
-
-
-
-
-
-#################################################################
-#
-#    Individuals
-#
-#################################################################
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##POSITION_FAILURE
-
-:POSITION_FAILURE rdf:type :Position ,
-                           owl:NamedIndividual .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##POSITION_LEFT
-
-:POSITION_LEFT rdf:type :Position ,
-                        owl:NamedIndividual .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##POSITION_RIGHT
-
-:POSITION_RIGHT rdf:type :Position ,
-                         owl:NamedIndividual .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##POSITION_STRAIGHT
-
-:POSITION_STRAIGHT rdf:type :Position ,
-                            owl:NamedIndividual .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##SIGNAL_FAILURE
-
-:SIGNAL_FAILURE rdf:type :SignalState ,
-                         owl:NamedIndividual .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##SIGNAL_GO
-
-:SIGNAL_GO rdf:type :SignalState ,
-                    owl:NamedIndividual .
-
-
-
-###  http://www.semanticweb.org/ontologies/2015/trainbenchmark##SIGNAL_STOP
-
-:SIGNAL_STOP rdf:type :SignalState ,
-                      owl:NamedIndividual .
-
-
-
-
-###  Generated by the OWL API (version 3.5.1) http://owlapi.sourceforge.net
-
diff --git a/trainbenchmark-format-sql/build.gradle b/trainbenchmark-format-sql/build.gradle
deleted file mode 100644
index 81b6e75d20acb29647d18324a3b6ebc0862cf168..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/build.gradle
+++ /dev/null
@@ -1,3 +0,0 @@
-dependencies {
-  compile project(':trainbenchmark-tool')
-}
diff --git a/trainbenchmark-format-sql/scripts/README.md b/trainbenchmark-format-sql/scripts/README.md
deleted file mode 100644
index d570704476bd5c1835a9c546cf2394dc708df166..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/scripts/README.md
+++ /dev/null
@@ -1 +0,0 @@
-The `mysql2sqlite.sh` script is distributed under the MIT license. Source: https://github.com/dumblob/mysql2sqlite
diff --git a/trainbenchmark-format-sql/scripts/clean-mysql.sh b/trainbenchmark-format-sql/scripts/clean-mysql.sh
deleted file mode 100755
index 5a7f4c7cf987305c58ef2c9789a543972c41b573..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/scripts/clean-mysql.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-sudo rm -rf /var/lib/mysql/trainbenchmark
-#echo "MySQL cleaned"
diff --git a/trainbenchmark-format-sql/scripts/mysql2sqlite.sh b/trainbenchmark-format-sql/scripts/mysql2sqlite.sh
deleted file mode 100755
index f2cb717a401acfccd36853d61584eb6593bff03a..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/scripts/mysql2sqlite.sh
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/bin/sh
-
-# Authors: @esperlu, @artemyk, @gkuenning, @dumblob
-
-[ $# -eq 1 ] || {
-  printf '%s\n%s\n' \
-    'USAGE: mysql2sqlite.sh dump_mysql.sql > dump_sqlite3.sql' \
-    "       file name - (dash) is not supported, because - means stdin" >&2
-  exit
-}
-
-awk '
-BEGIN {
-  FS=",$"
-  print "PRAGMA synchronous = OFF;"
-  print "PRAGMA journal_mode = MEMORY;"
-  print "BEGIN TRANSACTION;"
-}
-
-# CREATE TRIGGER statements have funny commenting. Remember we are in trigger.
-/^\/\*.*(CREATE.*TRIGGER|create.*trigger)/ {
-  gsub( /^.*(TRIGGER|trigger)/, "CREATE TRIGGER" )
-  print
-  inTrigger = 1
-  next
-}
-# The end of CREATE TRIGGER has a stray comment terminator
-/(END|end) \*\/;;/ { gsub( /\*\//, "" ); print; inTrigger = 0; next }
-# The rest of triggers just get passed through
-inTrigger != 0 { print; next }
-
-# CREATE VIEW looks like a TABLE in comments
-/^\/\*.*(CREATE.*TABLE|create.*table)/ {
-  inView = 1
-  next
-}
-# The end of CREATE VIEW
-/^(\).*(ENGINE|engine).*\*\/;)/ {
-  inView = 0;
-  next
-}
-# The rest of view just get passed through
-inView != 0 { next }
-
-# Skip other comments
-/^\/\*/ { next }
-
-# Print all `INSERT` lines. The single quotes are protected by another single quote.
-( /^ *\(/ && /\) *[,;] *$/ ) || /^(INSERT|insert)/ {
-  prev = "";
-  gsub( /\\\047/, "\047\047" )  # single quote
-  gsub( /\\\047\047,/, "\\\047," )
-  gsub( /\\n/, "\n" )
-  gsub( /\\r/, "\r" )
-  gsub( /\\"/, "\"" )
-  gsub( /\\\\/, "\\" )
-  gsub( /\\\032/, "\032" )  # substitute
-  # sqlite3 is limited to 16 significant digits of precision
-  while ( match( $0, /0x[0-9a-fA-F]{17}/ ) ) {
-    hexIssue = 1
-    sub( /0x[0-9a-fA-F]+/, substr( $0, RSTART, RLENGTH-1 ), $0 )
-  }
-  print
-  next
-}
-
-# CREATE DATABASE is not supported
-/^(CREATE.*DATABASE|create.*database)/ { next }
-
-# Print the `CREATE` line as is and capture the table name.
-/^(CREATE|create)/ {
-  if ( $0 ~ /IF NOT EXISTS|if not exists/ || $0 ~ /TEMPORARY|temporary/ ){
-    caseIssue = 1
-  }
-  if ( match( $0, /`[^`]+/ ) ) {
-    tableName = substr( $0, RSTART+1, RLENGTH-1 )
-  }
-  aInc = 0
-  prev = ""
-  firstInTable = 1
-  print
-  next
-}
-
-# Replace `FULLTEXT KEY` (probably other `XXXXX KEY`)
-/^  (FULLTEXT KEY|fulltext key)/ { gsub( /.+(KEY|key)/, "  KEY" ) }
-
-# Get rid of field lengths in KEY lines
-/ (PRIMARY |primary )?(KEY|key)/ { gsub( /\([0-9]+\)/, "" ) }
-
-aInc == 1 && /PRIMARY KEY|primary key/ { next }
-
-# Replace COLLATE xxx_xxxx_xx statements with COLLATE BINARY
-/ (COLLATE|collate) [a-z0-9_]*/ { gsub( /(COLLATE|collate) [a-z0-9_]*/, "COLLATE BINARY" ) }
-
-# Print all fields definition lines except the `KEY` lines.
-/^  / && !/^(  (KEY|key)|\);)/ {
-  if ( match( $0, /[^"`]AUTO_INCREMENT|auto_increment[^"`]/)) {
-    aInc = 1;
-    gsub( /AUTO_INCREMENT|auto_increment/, "PRIMARY KEY AUTOINCREMENT" )
-  }
-  gsub( /(UNIQUE KEY|unique key) `.*` /, "UNIQUE " )
-  gsub( /(CHARACTER SET|character set) [^ ]+ /, "" )
-  gsub( /DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP|default current_timestamp on update current_timestamp/, "" )
-  gsub( /(COLLATE|collate) [^ ]+ /, "" )
-  gsub( /(ENUM|enum)[^)]+\)/, "text " )
-  gsub( /(SET|set)\([^)]+\)/, "text " )
-  gsub( /UNSIGNED|unsigned/, "" )
-  gsub( /` [^ ]*(INT|int)[^ ]*/, "` integer" )
-  # field comments are not supported
-  gsub( / (COMMENT|comment).+$/, "" )
-  # Get commas off end of line
-  gsub( /,.?$/, "")
-  if ( prev ){
-    if ( firstInTable ){
-      print prev
-      firstInTable = 0
-    }
-    else print "," prev
-  }
-  else {
-    # FIXME check if this is correct in all cases
-    if ( match( $1,
-        /(CONSTRAINT|constraint) \".*\" (FOREIGN KEY|foreign key)/ ) )
-      print ","
-  }
-  prev = $1
-}
-
-/ ENGINE| engine/ {
-  if (prev) {
-    if (firstInTable) {
-      print prev
-      firstInTable = 0
-    }
-    else print "," prev
-    # else print prev
-  }
-  prev=""
-  print ");"
-  next
-}
-# `KEY` lines are extracted from the `CREATE` block and stored in array for later print
-# in a separate `CREATE KEY` command. The index name is prefixed by the table name to
-# avoid a sqlite error for duplicate index name.
-/^(  (KEY|key)|\);)/ {
-  if (prev) {
-    if (firstInTable) {
-      print prev
-      firstInTable = 0
-    }
-    else print "," prev
-    # else print prev
-  }
-  prev = ""
-  if ($0 == ");"){
-    print
-  } else {
-    if (  match( $0, /`[^`]+/ ) ) {
-      indexName = substr( $0, RSTART+1, RLENGTH-1 )
-    }
-    if ( match( $0, /\([^()]+/ ) ) {
-      indexKey = substr( $0, RSTART+1, RLENGTH-1 )
-    }
-    # idx_ prefix to avoid name clashes (they really happen!)
-    key[tableName]=key[tableName] "CREATE INDEX \"idx_" tableName "_" indexName "\" ON \"" tableName "\" (" indexKey ");\n"
-  }
-}
-
-END {
-  # print all `KEY` creation lines.
-  for (table in key) printf key[table]
-
-  print "END TRANSACTION;"
-
-  if ( hexIssue ){
-    print "WARN Hexadecimal numbers longer than 16 characters has been trimmed." | "cat >&2"
-  }
-  if ( caseIssue ){
-    print "WARN Pure sqlite identifiers are case insensitive (even if quoted\n" \
-          "     or if ASCII) and doesnt cross-check TABLE and TEMPORARY TABLE\n" \
-          "     identifiers. Thus expect errors like \"table T has no column named F\"." | "cat >&2"
-  }
-}
-' "$1"
diff --git a/trainbenchmark-format-sql/scripts/start-mysql.sh b/trainbenchmark-format-sql/scripts/start-mysql.sh
deleted file mode 100755
index b4e672bb9c2c5fd77c15d0c7b0868f61604fee08..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/scripts/start-mysql.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-sudo service mysql start
-echo "SET GLOBAL max_heap_table_size=1073741824;" | mysql -u root
-#echo "MySQL started"
diff --git a/trainbenchmark-format-sql/scripts/stop-mysql.sh b/trainbenchmark-format-sql/scripts/stop-mysql.sh
deleted file mode 100755
index 0091c3226e366fc8525f8c8515e66a56cbf0257a..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/scripts/stop-mysql.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-sudo service mysql stop
-#echo "MySQL stopped"
diff --git a/trainbenchmark-format-sql/src/main/java/hu/bme/mit/trainbenchmark/sql/constants/SqlConstants.java b/trainbenchmark-format-sql/src/main/java/hu/bme/mit/trainbenchmark/sql/constants/SqlConstants.java
deleted file mode 100644
index d18d6178abc07e4d0af8f5491ac38a874eae692e..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/src/main/java/hu/bme/mit/trainbenchmark/sql/constants/SqlConstants.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.sql.constants;
-
-public class SqlConstants {
-	
-	public static final String ID_POSTFIX = "_id";
-	public static final String USER = "root";
-	public static final String PASSWORD = "";
-
-	public static final String CONNECTSTO_TRACKELEMENT1 = "TrackElement1";
-	public static final String CONNECTSTO_TRACKELEMENT2 = "TrackElement2";
-	
-	public static final String ROUTE_ID = "Route_id";
-	public static final String SENSOR_ID = "Sensor_id";
-	
-}
diff --git a/trainbenchmark-format-sql/src/main/java/hu/bme/mit/trainbenchmark/sql/process/MySqlProcess.java b/trainbenchmark-format-sql/src/main/java/hu/bme/mit/trainbenchmark/sql/process/MySqlProcess.java
deleted file mode 100644
index 6930d3df67b3c4631c8e625840d2a83dc2086974..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/src/main/java/hu/bme/mit/trainbenchmark/sql/process/MySqlProcess.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.sql.process;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.apache.commons.exec.CommandLine;
-import org.apache.commons.exec.DefaultExecutor;
-import org.apache.commons.exec.ExecuteException;
-import org.apache.commons.exec.Executor;
-
-public class MySqlProcess {
-
-	// It is generally considered good practice to use Apache Commmons Exec.
-	// However, it does not work with MySQL start/stop properly, with frequent
-	// hangs. Therefore, we recommend using the simple ProcessBuilder instead.
-
-	private static final String SCRIPT_DIRECTORY = "../trainbenchmark-format-sql/scripts/";
-
-	private static String getInputAsString(final InputStream is) {
-		try (java.util.Scanner s = new java.util.Scanner(is)) {
-			return s.useDelimiter("\\A").hasNext() ? s.next() : "";
-		}
-	}
-
-	public static void stopServer() throws ExecuteException, IOException, InterruptedException {
-		run(new String[] { SCRIPT_DIRECTORY + "stop-mysql.sh" });
-	}
-
-	public static void cleanServer() throws ExecuteException, IOException, InterruptedException {
-		runScript(SCRIPT_DIRECTORY + "clean-mysql.sh");
-	}
-
-	public static void startServer() throws ExecuteException, IOException, InterruptedException {
-		run(new String[] { SCRIPT_DIRECTORY + "start-mysql.sh" });
-	}
-
-	public static void run(final String command[]) throws IOException, InterruptedException {
-		final ProcessBuilder pb = new ProcessBuilder(command);
-		final Process p = pb.start();
-		p.waitFor();
-
-		final String stdOut = getInputAsString(p.getInputStream());
-		final String stdErr = getInputAsString(p.getErrorStream());
-		// System.out.println(stdOut);
-		// System.out.println(stdErr);
-	}
-
-	public static void runShell(final String shellCommand) throws ExecuteException, IOException {
-		final Executor executor = new DefaultExecutor();
-		final CommandLine commandLine = new CommandLine("/bin/bash");
-		commandLine.addArgument("-c");
-		commandLine.addArgument(shellCommand, false);
-		executor.execute(commandLine);
-	}
-
-	public static void runScript(final String scriptFile) throws ExecuteException, IOException {
-		final Executor executor = new DefaultExecutor();
-		final CommandLine commandLine = new CommandLine("/bin/bash");
-		commandLine.addArgument(scriptFile, false);
-		executor.execute(commandLine);
-	}
-
-}
diff --git a/trainbenchmark-format-sql/src/main/resources/metamodel/railway-footer.sql b/trainbenchmark-format-sql/src/main/resources/metamodel/railway-footer.sql
deleted file mode 100644
index 6926c26a3c7615c28a4b8ec81b8c321353a49b53..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/src/main/resources/metamodel/railway-footer.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-
-COMMIT;
-CREATE INDEX segment_length_idx ON "Segment" ("length");
-CREATE INDEX route_active_idx ON "Route" ("active");
-CREATE INDEX semaphore_signal_idx ON "Semaphore" ("signal");
-CREATE INDEX monitoredBy_idx ON "monitoredBy" ("Sensor_id", "TrackElement_id");
-CREATE INDEX connectsTo_idx1 ON "connectsTo" ("TrackElement1_id");
-CREATE INDEX connectsTo_idx2 ON "connectsTo" ("TrackElement2_id");
diff --git a/trainbenchmark-format-sql/src/main/resources/metamodel/railway-header.sql b/trainbenchmark-format-sql/src/main/resources/metamodel/railway-header.sql
deleted file mode 100644
index 635185af46664f53c5b80d71cf7622e7d2a71550..0000000000000000000000000000000000000000
--- a/trainbenchmark-format-sql/src/main/resources/metamodel/railway-header.sql
+++ /dev/null
@@ -1,92 +0,0 @@
-SET SESSION sql_mode = 'ANSI_QUOTES';
---
--- Database: "trainbenchmark"
---
-
--- 512 Mb
-SET max_heap_table_size=536870912;
-
-DROP DATABASE IF EXISTS "trainbenchmark";
-CREATE DATABASE "trainbenchmark";
-USE "trainbenchmark";
-
-START TRANSACTION;
--- --------------------------------------------------------
-
---
--- Nodes
---
-
-CREATE TABLE IF NOT EXISTS "Route" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "active" int,
-  "entry" int,
-  "exit" int,
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "Region" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "Segment" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "length" int NOT NULL DEFAULT 1,
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "Sensor" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "region" int NOT NULL, -- inverse of the "sensors" edge
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "Semaphore" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "segment" int NOT NULL, -- inverse of the "semaphores" edge
-  "signal" int NOT NULL,
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "Switch" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "currentPosition" int NOT NULL,
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "SwitchPosition" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "route" int, -- inverse of the "follows" edge
-  "target" int,
-  "position" int NOT NULL,
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "TrackElement" (
-  "id" int NOT NULL AUTO_INCREMENT,
-  "region" int NOT NULL, -- inverse of the "elements" edge
-  PRIMARY KEY  ("id")
-) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ENGINE=MEMORY;
-
---
--- Edges
---
-
-CREATE TABLE IF NOT EXISTS "connectsTo" (
-  "TrackElement1_id" int NOT NULL,
-  "TrackElement2_id" int NOT NULL,
-  PRIMARY KEY  ("TrackElement1_id", "TrackElement2_id")
-) DEFAULT CHARSET=utf8 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "monitoredBy" (
-  "TrackElement_id" int NOT NULL,
-  "Sensor_id" int NOT NULL,
-  PRIMARY KEY  ("TrackElement_id", "Sensor_id")
-) DEFAULT CHARSET=utf8 ENGINE=MEMORY;
-
-CREATE TABLE IF NOT EXISTS "requires" (
-  "Route_id" int NOT NULL,
-  "Sensor_id" int NOT NULL,
-  PRIMARY KEY  ("Route_id", "Sensor_id")
-) DEFAULT CHARSET=utf8 ENGINE=MEMORY;
diff --git a/trainbenchmark-generator-graph-cypher/build.gradle b/trainbenchmark-generator-graph-cypher/build.gradle
deleted file mode 100644
index bbeac31d81254615148f09625f58e782ebbb71d7..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/build.gradle
+++ /dev/null
@@ -1,15 +0,0 @@
-plugins {
-	id "com.github.johnrengelman.shadow" version "1.2.3"
-}
-
-shadowJar {
-	classifier = 'fat'
-	manifest {
-		attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.generator.cypher.CypherGeneratorMain'
-	}
-}
-
-dependencies {
-  compile project(':trainbenchmark-generator')
-  //compile project(':trainbenchmark-format-graph-neo4j')
-}
diff --git a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherGeneratorMain.java b/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherGeneratorMain.java
deleted file mode 100644
index f8dc985cb00357e1c5092443e662f6b576661ae7..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherGeneratorMain.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.cypher;
-
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.cypher.config.CypherGeneratorConfig;
-
-public class CypherGeneratorMain {
-
-	public static void main(final String[] args) throws Exception {
-		final CypherGeneratorConfig gc = GeneratorConfig.fromFile(args[0], CypherGeneratorConfig.class);
-		final CypherSerializer cypherSerializer = new CypherSerializer(gc);
-		final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(cypherSerializer, gc);
-		generator.generateModel();
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherSerializer.java b/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherSerializer.java
deleted file mode 100644
index af49b6cc713b61217e7a5f9c275174ab77996728..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherSerializer.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.cypher;
-
-import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
-import hu.bme.mit.trainbenchmark.generator.cypher.config.CypherGeneratorConfig;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.stream.Collectors;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SUPERTYPES;
-
-public class CypherSerializer extends ModelSerializer<CypherGeneratorConfig> {
-
-	protected BufferedWriter writer;
-
-	public CypherSerializer(final CypherGeneratorConfig gc) {
-		super(gc);
-	}
-
-	@Override
-	public String syntax() {
-		return "Cypher";
-	}
-
-	public void write(final String s) throws IOException {
-		writer.write(s + "\n");
-	}
-
-	@Override
-	public void initModel() throws IOException {
-		final String cypherPath = gc.getConfigBase().getModelPathWithoutExtension() + ".cypher";
-		final File cypherFile = new File(cypherPath);
-		writer = new BufferedWriter(new FileWriter(cypherFile));
-	}
-
-	@Override
-	public void persistModel() throws IOException, InterruptedException {
-		writer.close();
-	}
-
-	@Override
-	public Object createVertex(final int id, final String type, final Map<String, ? extends Object> attributes, final Map<String, Object> outgoingEdges,
-			final Map<String, Object> incomingEdges) throws IOException {
-
-		StringBuilder query = new StringBuilder("CREATE (node");
-
-		//If we have supertypes, we add them first
-		if (SUPERTYPES.containsKey(type)){
-			final String ancestorType = SUPERTYPES.get(type);
-			query.append(":" + ancestorType);
-		}
-
-		//Then we add the type
-		query.append(":" + type);
-
-		//Setting the attributes
-		query.append(" {id: " + id);
-		if (!attributes.isEmpty()){
-			query.append(", ");
-			query.append(
-				attributes.entrySet().stream().map(
-					e -> (e.getKey() + ": " + valueToString(e.getValue()))
-				).collect(Collectors.joining(", "))
-			);
-		}
-		query.append("});");
-
-		write(query.toString());
-
-		//Adding relationships
-		for(Entry<String, Object> entry : outgoingEdges.entrySet()) {
-			write("MATCH (from {id: " + id + "}), (to {id: " + entry.getValue() + "}) CREATE (from)-[:" + entry.getKey() + "]->(to);");
-		}
-
-		for (Entry<String, Object> entry : incomingEdges.entrySet()) {
-			write("MATCH (from {id: " + entry.getValue() + "}), (to {id: " + id + "}) CREATE (from)-[:" + entry.getKey() + "]->(to);");
-		}
-
-		return id;
-	}
-
-	@Override
-	public void createEdge(final String label, final Object from, final Object to) throws IOException {
-		if (from == null || to == null) {
-			return;
-		}
-
-		write("MATCH (from {id: " + from + "}), (to {id: " + to + "}) CREATE (from)-[:" + label + "]->(to);");
-	}
-
-	@Override
-	public void setAttribute(final String type, final Object node, final String key, final Object value) throws IOException {
-		final String stringValue = valueToString(value);
-
-		write("MATCH (node:" + type + " {id: " + node + "}) SET node." + key + "=" + stringValue + ";");
-	}
-
-	private String valueToString(final Object value) {
-		if (value.toString().equals("true") || value.toString().equals("false")) return value.toString();
-		try {
-			Integer.parseInt(value.toString());
-			return value.toString();
-		} catch (NumberFormatException e){
-			return "'" + value + "'";
-		}
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherFormat.java b/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherFormat.java
deleted file mode 100644
index e3155ce396a29ff45a7819bdc91916b03f1e5ef9..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherFormat.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package hu.bme.mit.trainbenchmark.generator.cypher.config;
-
-public enum CypherFormat {
-	BASIC("Basic"), //
-	GRAPHFLOW("Graphflow"), //
-	;
-
-	private String name;
-
-	CypherFormat(final String name) {
-		this.name = name;
-	}
-
-	@Override
-	public String toString() {
-		return name;
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherGeneratorConfig.java b/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherGeneratorConfig.java
deleted file mode 100644
index d8b9604c6e2af598cad7917e911c54a55a6a5854..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherGeneratorConfig.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.cypher.config;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-
-public class CypherGeneratorConfig extends GeneratorConfig {
-
-	protected CypherFormat cypherFormat;
-
-	protected CypherGeneratorConfig(final GeneratorConfigBase configBase, final CypherFormat cypherFormat) {
-		super(configBase);
-		this.cypherFormat = cypherFormat;
-	}
-
-	public CypherFormat getCypherFormat() {
-		return cypherFormat;
-	}
-
-	@Override
-	public String getProjectName() {
-		return "graph-cypher";
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherGeneratorConfigBuilder.java b/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherGeneratorConfigBuilder.java
deleted file mode 100644
index c33b80f3e9e95a08ab463a6a65a41d6cbb045fb1..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/src/main/java/hu/bme/mit/trainbenchmark/generator/cypher/config/CypherGeneratorConfigBuilder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.cypher.config;
-
-import com.google.common.base.Preconditions;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder;
-
-public class CypherGeneratorConfigBuilder extends GeneratorConfigBuilder<CypherGeneratorConfig, CypherGeneratorConfigBuilder> {
-
-	protected CypherFormat cypherFormat;
-
-	public CypherGeneratorConfigBuilder setGraphFormat(CypherFormat cypherFormat) {
-		this.cypherFormat = cypherFormat;
-		return this;
-	}
-
-	@Override
-	public CypherGeneratorConfig createConfig() {
-		return new CypherGeneratorConfig(configBase, cypherFormat);
-	}
-
-	@Override
-	public void checkNotNulls() {
-		super.checkNotNulls();
-		Preconditions.checkNotNull(cypherFormat);
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-cypher/src/main/resources/.gitignore b/trainbenchmark-generator-graph-cypher/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-generator-graph-cypher/src/test/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherGeneratorTest.java b/trainbenchmark-generator-graph-cypher/src/test/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherGeneratorTest.java
deleted file mode 100644
index 54b0a5036b970ed5e1ae7702386b5a2d2bef03d2..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-cypher/src/test/java/hu/bme/mit/trainbenchmark/generator/cypher/CypherGeneratorTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package hu.bme.mit.trainbenchmark.generator.cypher;
-
-import com.google.common.collect.ImmutableList;
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.cypher.config.CypherFormat;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-import hu.bme.mit.trainbenchmark.generator.cypher.config.CypherGeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.cypher.config.CypherGeneratorConfigBuilder;
-import hu.bme.mit.trainbenchmark.generator.tests.GeneratorTest;
-
-import java.util.List;
-
-public class CypherGeneratorTest extends GeneratorTest {
-
-	protected final List<CypherFormat> formats = ImmutableList.of(
-		CypherFormat.BASIC, //
-		CypherFormat.GRAPHFLOW //
-	);
-
-	@Override
-	public void generate(final GeneratorConfigBase gcb) throws Exception {
-		for (CypherFormat format : formats) {
-			final CypherGeneratorConfig gc = new CypherGeneratorConfigBuilder().setConfigBase(gcb).setGraphFormat(format).createConfig();
-			final CypherSerializer serializer = new CypherSerializer(gc);
-			final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc);
-			generator.generateModel();
-		}
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-neo4j/.gitignore b/trainbenchmark-generator-graph-neo4j/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-generator-graph-neo4j/build.gradle b/trainbenchmark-generator-graph-neo4j/build.gradle
deleted file mode 100644
index 8b430ed59edd85fb6964a3d4dbd324690a89fd6d..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/build.gradle
+++ /dev/null
@@ -1,13 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-    classifier = 'fat'
-    mergeServiceFiles()
-    manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.generator.graph.neo4j.Neo4jGraphGeneratorMain' }
-}
-
-dependencies {
-    compile group: 'commons-io', name: 'commons-io', version: commonsIoVersion
-    compile project(':trainbenchmark-generator')
-    compile project(':trainbenchmark-format-graph-neo4j')
-}
diff --git a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/Neo4jGraphGeneratorMain.java b/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/Neo4jGraphGeneratorMain.java
deleted file mode 100644
index 91bc28d37e551d41a7c1f56584839ebde281cf14..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/Neo4jGraphGeneratorMain.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.graph.neo4j;
-
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.graph.neo4j.config.Neo4jGraphGeneratorConfig;
-
-public class Neo4jGraphGeneratorMain {
-
-	public static void main(final String[] args) throws Exception {
-		final Neo4jGraphGeneratorConfig gc = GeneratorConfig.fromFile(args[0], Neo4jGraphGeneratorConfig.class);
-		final Neo4jGraphSerializer graphSerializer = new Neo4jGraphSerializer(gc);
-		final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(graphSerializer, gc);
-		generator.generateModel();
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/Neo4jGraphSerializer.java b/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/Neo4jGraphSerializer.java
deleted file mode 100644
index 9ec79e7733183137fc25163fc7c43c6b9f44c99f..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/Neo4jGraphSerializer.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.generator.graph.neo4j;
-
-import apoc.export.csv.ExportCSV;
-import apoc.export.graphml.ExportGraphML;
-import apoc.graph.Graphs;
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
-import hu.bme.mit.trainbenchmark.generator.graph.neo4j.config.Neo4jGraphGeneratorConfig;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-import hu.bme.mit.trainbenchmark.neo4j.apoc.ApocHelper;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jHelper;
-import org.apache.commons.io.FileUtils;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Label;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.RelationshipType;
-import org.neo4j.graphdb.Transaction;
-import org.neo4j.kernel.api.exceptions.KernelException;
-
-import javax.xml.stream.XMLStreamException;
-import java.io.File;
-import java.io.IOException;
-import java.rmi.RemoteException;
-import java.util.Map;
-import java.util.Map.Entry;
-
-public class Neo4jGraphSerializer extends ModelSerializer<Neo4jGraphGeneratorConfig> {
-
-	protected GraphDatabaseService graphDb;
-	protected Transaction tx;
-	protected final File databaseDirectory;
-
-	public Neo4jGraphSerializer(final Neo4jGraphGeneratorConfig generatorConfig) {
-		super(generatorConfig);
-		databaseDirectory = new File(generatorConfig.getConfigBase().getModelDir() + "neo4j-gen/"
-				+ generatorConfig.getConfigBase().getModelFileNameWithoutExtension() + ".neo4j");
-	}
-
-	@Override
-	public String syntax() {
-		return "graph-" + gc.getGraphFormat();
-	}
-
-	@Override
-	public void initModel() throws IOException {
-		cleanupDatabaseDirectory();
-		graphDb = Neo4jHelper.startGraphDatabase(databaseDirectory);
-	}
-
-	@Override
-	public Object createVertex(final int id, final String type, final Map<String, ? extends Object> attributes,
-			final Map<String, Object> outgoingEdges, final Map<String, Object> incomingEdges) {
-		final Node node = graphDb.createNode(Label.label(type));
-
-		// this only works for inheritance hierarchies
-		if (ModelConstants.SUPERTYPES.containsKey(type)) {
-			final String ancestor = ModelConstants.SUPERTYPES.get(type);
-			node.addLabel(Label.label(ancestor));
-		}
-
-		node.setProperty(Neo4jConstants.ID, id);
-		for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
-			final String key = attribute.getKey();
-			Object value = attribute.getValue();
-
-			// convert the value to string if it's an enum
-			value = enumsToString(value);
-			node.setProperty(key, value);
-		}
-
-		for (final Entry<String, Object> outgoingEdge : outgoingEdges.entrySet()) {
-			final String label = outgoingEdge.getKey();
-			if (outgoingEdge.getValue() instanceof Node) {
-				final Node targetNode = (Node) outgoingEdge.getValue();
-				node.createRelationshipTo(targetNode, relationship(label));
-			}
-		}
-
-		for (final Entry<String, Object> incomingEdge : incomingEdges.entrySet()) {
-			final String label = incomingEdge.getKey();
-			if (incomingEdge.getValue() instanceof Node) {
-				final Node sourceNode = (Node) incomingEdge.getValue();
-				sourceNode.createRelationshipTo(node, relationship(label));
-			}
-		}
-
-		return node;
-	}
-
-	private Object enumsToString(Object value) {
-		if (value instanceof Enum) {
-			final Enum<?> e = (Enum<?>) value;
-			value = e.toString();
-		}
-		return value;
-	}
-
-	@Override
-	public void createEdge(final String label, final Object from, final Object to) {
-		if (from == null || to == null) {
-			return;
-		}
-
-		final Node source = (Node) from;
-		final Node target = (Node) to;
-
-		final RelationshipType relationshipType = relationship(label);
-		source.createRelationshipTo(target, relationshipType);
-	}
-
-	@Override
-	public void setAttribute(final String type, final Object node, final String key, final Object value) {
-		final Node n = (Node) node;
-
-		final Object attributeValue = enumsToString(value);
-		n.setProperty(key, attributeValue);
-	}
-
-	public RelationshipType relationship(final String label) {
-		return RelationshipType.withName(label);
-	}
-
-	@Override
-	public void persistModel() throws IOException, XMLStreamException, KernelException {
-		try {
-			switch (gc.getGraphFormat()) {
-			case CSV:
-				saveToCsv();
-				break;
-			case GRAPHML:
-				saveToGraphMl();
-				break;
-			default:
-				throw new UnsupportedOperationException("Graph format " + gc.getGraphFormat() + " not supported.");
-			}
-		} finally {
-			graphDb.shutdown();
-
-			// cleanup: delete the database directory
-			cleanupDatabaseDirectory();
-		}
-	}
-
-	private void saveToCsv() throws RemoteException, KernelException {
-		ApocHelper.registerProcedure(graphDb, ExportCSV.class, Graphs.class);
-
-		final Map<String, String> exportCommands = ImmutableMap.<String, String>builder()
-				// nodes
-				.put(ModelConstants.REGION,         "MATCH (n:Region)              RETURN n.id AS `id:ID`") //
-				.put(ModelConstants.ROUTE,          "MATCH (n:Route)               RETURN n.id AS `id:ID`, n.active AS `active:BOOLEAN`") //
-				.put(ModelConstants.SEGMENT,        "MATCH (n:Segment)             RETURN n.id AS `id:ID`, n.length AS `length:INT`") //
-				.put(ModelConstants.SEMAPHORE,      "MATCH (n:Semaphore)           RETURN n.id AS `id:ID`, n.signal AS signal") //
-				.put(ModelConstants.SENSOR,         "MATCH (n:Sensor)              RETURN n.id AS `id:ID`") //
-				.put(ModelConstants.SWITCH,         "MATCH (n:Switch)              RETURN n.id AS `id:ID`, n.currentPosition AS currentPosition") //
-				.put(ModelConstants.SWITCHPOSITION, "MATCH (n:SwitchPosition)      RETURN n.id AS `id:ID`, n.position AS position") //
-				// relationships
-				.put(ModelConstants.CONNECTS_TO,    "MATCH (n)-[:connectsTo]->(m)  RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.put(ModelConstants.ENTRY,          "MATCH (n)-[:entry]->(m)       RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.put(ModelConstants.EXIT,           "MATCH (n)-[:exit]->(m)        RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.put(ModelConstants.FOLLOWS,        "MATCH (n)-[:follows]->(m)     RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.put(ModelConstants.MONITORED_BY,   "MATCH (n)-[:monitoredBy]->(m) RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.put(ModelConstants.REQUIRES,       "MATCH (n)-[:requires]->(m)    RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.put(ModelConstants.TARGET,         "MATCH (n)-[:target]->(m)      RETURN n.id AS `id:START_ID`, m.id AS `id:END_ID`") //
-				.build();
-
-		for (Entry<String, String> entry : exportCommands.entrySet()) {
-			final String type = entry.getKey();
-			final String query = entry.getValue();
-
-			final String fileName = gc.getConfigBase().getModelPathWithoutExtension() + "-" + type + "."
-					+ Neo4jConstants.CSV_EXTENSION;
-
-			try (final Transaction tx = graphDb.beginTx()) {
-				graphDb.execute(String.format( //
-					"CALL apoc.export.csv.query('%s', '%s', null)", //
-					query,
-					fileName //
-				));
-			}
-		}
-	}
-
-	private void saveToGraphMl() throws KernelException {
-		ApocHelper.registerProcedure(graphDb, ExportGraphML.class, Graphs.class);
-
-		final String fileName = gc.getConfigBase().getModelPathWithoutExtension() + "."
-			+ Neo4jConstants.GRAPHML_EXTENSION;
-
-		try (final Transaction tx = graphDb.beginTx()) {
-			graphDb.execute(String.format( //
-				"CALL apoc.export.graphml.all('%s', {useTypes: true})", //
-				fileName //
-			));
-		}
-	}
-
-	private void cleanupDatabaseDirectory() throws IOException {
-		if (databaseDirectory.exists()) {
-			FileUtils.deleteDirectory(databaseDirectory);
-		}
-	}
-
-	@Override
-	public void beginTransaction() throws IOException {
-		tx = graphDb.beginTx();
-	}
-
-	@Override
-	public void endTransaction() {
-		tx.success();
-		tx.close();
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/config/Neo4jGraphGeneratorConfig.java b/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/config/Neo4jGraphGeneratorConfig.java
deleted file mode 100644
index 61cb31829fe6d7851430cc466eac90712be12196..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/config/Neo4jGraphGeneratorConfig.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.graph.neo4j.config;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-
-public class Neo4jGraphGeneratorConfig extends GeneratorConfig {
-
-	protected Neo4jGraphFormat graphFormat;
-
-	protected Neo4jGraphGeneratorConfig(final GeneratorConfigBase configBase, final Neo4jGraphFormat graphFormat) {
-		super(configBase);
-		this.graphFormat = graphFormat;
-	}
-
-	public Neo4jGraphFormat getGraphFormat() {
-		return graphFormat;
-	}
-
-	@Override
-	public String getProjectName() {
-		return "graph-neo4j";
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/config/Neo4jGraphGeneratorConfigBuilder.java b/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/config/Neo4jGraphGeneratorConfigBuilder.java
deleted file mode 100644
index 4a07aded97724531b5cb1e021db42f8600cebee6..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/src/main/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/config/Neo4jGraphGeneratorConfigBuilder.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.graph.neo4j.config;
-
-import com.google.common.base.Preconditions;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-
-public class Neo4jGraphGeneratorConfigBuilder extends GeneratorConfigBuilder<Neo4jGraphGeneratorConfig, Neo4jGraphGeneratorConfigBuilder> {
-
-	protected Neo4jGraphFormat graphFormat;
-
-	public Neo4jGraphGeneratorConfigBuilder setGraphFormat(Neo4jGraphFormat graphFormat) {
-		this.graphFormat = graphFormat;
-		return this;
-	}
-
-	@Override
-	public Neo4jGraphGeneratorConfig createConfig() {
-		return new Neo4jGraphGeneratorConfig(configBase, graphFormat);
-	}
-
-	@Override
-	public void checkNotNulls() {
-		super.checkNotNulls();
-		Preconditions.checkNotNull(graphFormat);
-	}
-
-}
diff --git a/trainbenchmark-generator-graph-neo4j/src/test/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/test/Neo4jGraphGeneratorTest.java b/trainbenchmark-generator-graph-neo4j/src/test/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/test/Neo4jGraphGeneratorTest.java
deleted file mode 100644
index 369b506524db574e7dbf97ab5b3fcb712cd548d1..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-graph-neo4j/src/test/java/hu/bme/mit/trainbenchmark/generator/graph/neo4j/test/Neo4jGraphGeneratorTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.graph.neo4j.test;
-
-import com.google.common.collect.ImmutableList;
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-import hu.bme.mit.trainbenchmark.generator.graph.neo4j.Neo4jGraphSerializer;
-import hu.bme.mit.trainbenchmark.generator.graph.neo4j.config.Neo4jGraphGeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.graph.neo4j.config.Neo4jGraphGeneratorConfigBuilder;
-import hu.bme.mit.trainbenchmark.generator.tests.GeneratorTest;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-
-import java.util.List;
-
-public class Neo4jGraphGeneratorTest extends GeneratorTest {
-
-	protected final List<Neo4jGraphFormat> graphFormats = ImmutableList.of(
-			Neo4jGraphFormat.CSV, //
-			Neo4jGraphFormat.GRAPHML //
-		);
-
-	@Override
-	public void generate(final GeneratorConfigBase gcb) throws Exception {
-		for (Neo4jGraphFormat graphFormat : graphFormats) {
-			final Neo4jGraphGeneratorConfig gc = new Neo4jGraphGeneratorConfigBuilder().setConfigBase(gcb)
-					.setGraphFormat(graphFormat).createConfig();
-			final Neo4jGraphSerializer serializer = new Neo4jGraphSerializer(gc);
-			final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc);
-			generator.generateModel();
-		}
-	}
-
-}
diff --git a/trainbenchmark-generator-rdf/.gitignore b/trainbenchmark-generator-rdf/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-generator-rdf/build.gradle b/trainbenchmark-generator-rdf/build.gradle
deleted file mode 100644
index 18b91cda8f7b49d04b0239df081023932f66a05f..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/build.gradle
+++ /dev/null
@@ -1,19 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.generator.rdf.RdfGeneratorMain' }
-}
-
-dependencies {
-	def sesameVersion = '2.7.10'
-	compile project(':trainbenchmark-generator')
-	compile project(':trainbenchmark-format-rdf')
-	compile group: 'org.slf4j', name: 'slf4j-nop', version: slf4jVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-model', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-repository-sail', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-sail-memory', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-repository-contextaware', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-rio-rdfxml', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-rio-turtle', version: sesameVersion
-}
diff --git a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/RdfGeneratorMain.java b/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/RdfGeneratorMain.java
deleted file mode 100644
index dcf50f34ff619a73445eb53158a459bf5b87fd7c..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/RdfGeneratorMain.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.rdf;
-
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.rdf.config.RdfGeneratorConfig;
-
-public class RdfGeneratorMain {
-
-	public static void main(final String[] args) throws Exception {
-		final RdfGeneratorConfig gc = RdfGeneratorConfig.fromFile(args[0], RdfGeneratorConfig.class);
-		final RdfSerializer rdfSerializer = new RdfSerializer(gc);
-		final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(rdfSerializer, gc);
-		generator.generateModel();
-	}
-	
-}
diff --git a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/RdfSerializer.java b/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/RdfSerializer.java
deleted file mode 100644
index 9c38c396ee7521a24048a51a56b9dd6e58a79d1a..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/RdfSerializer.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.rdf;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
-import hu.bme.mit.trainbenchmark.generator.rdf.config.RdfGeneratorConfig;
-import hu.bme.mit.trainbenchmark.rdf.RdfHelper;
-
-public class RdfSerializer extends ModelSerializer<RdfGeneratorConfig> {
-
-	protected BufferedWriter file;
-	protected String RDF_METAMODEL_DIR = "/trainbenchmark-format-rdf/src/main/resources/metamodel/";
-
-	public RdfSerializer(final RdfGeneratorConfig generatorConfig) {
-		super(generatorConfig);
-	}
-
-	@Override
-	public String syntax() {
-		return "RDF" + gc.getModelFlavor();
-	}
-
-	@Override
-	public void initModel() throws IOException {
-		// source file
-		final String modelFlavor = gc.getModelFlavor();
-		final String extension = gc.getExtension();
-
-		final String postfix = modelFlavor + "." + extension;
-
-		final String srcFilePath = gc.getConfigBase().getWorkspaceDir() + RDF_METAMODEL_DIR
-				+ "railway" + postfix;
-
-		final File srcFile = new File(srcFilePath);
-
-		// destination file
-		final String destFilePath = gc.getConfigBase().getModelPathWithoutExtension()
-				+ postfix;
-		final File destFile = new File(destFilePath);
-
-		// this overwrites the destination file if it exists
-		FileUtils.copyFile(srcFile, destFile);
-
-		file = new BufferedWriter(new FileWriter(destFile, true));
-	}
-
-	@Override
-	public void persistModel() throws IOException {
-		file.close();
-	}
-
-	@Override
-	public Object createVertex(final int id, final String type, final Map<String, ? extends Object> attributes,
-			final Map<String, Object> outgoingEdges, final Map<String, Object> incomingEdges) throws IOException {
-
-		// vertex id and type
-		final String triple = String.format(":%s%d a :%s", ID_PREFIX, id, type);
-		final StringBuilder vertex = new StringBuilder(triple);
-
-		final String linePrefix;
-
-		switch (gc.getFormat()) {
-		case NTRIPLES:
-			linePrefix = String.format(" .\n:%s%d ", ID_PREFIX, id);
-			break;
-		case TURTLE:
-			linePrefix = " ;\n\t";
-			break;
-		default:
-			throw new UnsupportedOperationException(
-					"RDF format " + gc.getFormat() + " not supported");
-		}
-
-		// if the metamodel is not included, we manually insert the inferenced triples
-		if (gc.isInferred()) {
-			if (ModelConstants.SUPERTYPES.containsKey(type)) {
-				final String superType = ModelConstants.SUPERTYPES.get(type);
-
-				final String superTypeTriple = String.format("%sa :%s", linePrefix, superType);
-				vertex.append(superTypeTriple);
-			}
-		}
-
-		// (id)-[]->() attributes
-		for (final Entry<String, ? extends Object> attribute : attributes.entrySet()) {
-			final String attributeTriple = String.format("%s:%s %s", linePrefix, attribute.getKey(),
-					stringValue(attribute.getValue()));
-			vertex.append(attributeTriple);
-		}
-
-		// (id)-[]->() edges
-		for (final Entry<String, Object> outgoingEdge : outgoingEdges.entrySet()) {
-			if (outgoingEdge.getValue() == null) {
-				continue;
-			}
-
-			final String edgeTriple = String.format("%s:%s :%s%s", linePrefix, outgoingEdge.getKey(), ID_PREFIX,
-					outgoingEdge.getValue());
-			vertex.append(edgeTriple);
-		}
-
-		vertex.append(" .");
-		write(vertex.toString());
-
-		// ()-[]->(id) edges
-		for (final Entry<String, Object> incomingEdge : incomingEdges.entrySet()) {
-			createEdge(incomingEdge.getKey(), incomingEdge.getValue(), id);
-		}
-
-		return id;
-	}
-
-	@Override
-	public void createEdge(final String label, final Object from, final Object to) throws IOException {
-		if (from == null || to == null) {
-			return;
-		}
-		final String triple = String.format(":%s%s :%s :%s%s .", ID_PREFIX, from, label, ID_PREFIX, to);
-		write(triple);
-	}
-
-	@Override
-	public void setAttribute(final String type, final Object node, final String key, final Object value)
-			throws IOException {
-		final String triple = String.format(":%s%s :%s %s", ID_PREFIX, node, key, stringValue(value));
-		write(triple + " .");
-
-	}
-
-	protected void write(final String s) throws IOException {
-		switch (gc.getFormat()) {
-		case NTRIPLES:
-			file.write(s + "\n");
-			break;
-		case TURTLE:
-			file.write(s + "\n\n");
-			break;
-		default:
-			throw new UnsupportedOperationException(
-					"RDF format " + gc.getFormat() + " not supported");
-		}
-	}
-
-	protected String stringValue(final Object value) {
-		if (value instanceof Boolean) {
-			return Boolean.toString((Boolean) value);
-		}
-		if (value instanceof Integer) {
-			return String.format("\"%d\"^^xsd:int", value);
-		}
-		if (value instanceof Enum<?>) {
-			final Enum<?> e = (Enum<?>) value;
-			return String.format(":%s", RdfHelper.addEnumPrefix(e));
-		} else {
-			return value.toString();
-		}
-	}
-
-}
diff --git a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/config/RdfGeneratorConfig.java b/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/config/RdfGeneratorConfig.java
deleted file mode 100644
index 84c73b2e0be002902789bc222b71d7a66e80543f..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/config/RdfGeneratorConfig.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.rdf.config;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-import hu.bme.mit.trainbenchmark.rdf.RdfFormat;
-
-public class RdfGeneratorConfig extends GeneratorConfig {
-
-	protected boolean inferred;
-	protected RdfFormat format;
-
-	protected RdfGeneratorConfig(final GeneratorConfigBase configBase,
-			final boolean inferred, final RdfFormat format) {
-		super(configBase);
-		this.inferred = inferred;
-		this.format = format;
-	}
-
-	public boolean isInferred() {
-		return inferred;
-	}
-
-	public RdfFormat getFormat() {
-		return format;
-	}
-
-	public String getModelFlavor() {
-		return isInferred() ? "-inferred" : "-metamodel";
-	}
-
-	public String getExtension() {
-		return format.getExtension();
-	}
-
-	@Override
-	public String getProjectName() {
-		return "rdf";
-	}
-
-}
diff --git a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/config/RdfGeneratorConfigBuilder.java b/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/config/RdfGeneratorConfigBuilder.java
deleted file mode 100644
index 68b370ff3f0d9c957dcb0c56642ef38c786eb5e9..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/src/main/java/hu/bme/mit/trainbenchmark/generator/rdf/config/RdfGeneratorConfigBuilder.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package hu.bme.mit.trainbenchmark.generator.rdf.config;
-
-import com.google.common.base.Preconditions;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder;
-import hu.bme.mit.trainbenchmark.rdf.RdfFormat;
-
-public class RdfGeneratorConfigBuilder extends GeneratorConfigBuilder<RdfGeneratorConfig, RdfGeneratorConfigBuilder> {
-
-	protected Boolean inferred;
-	protected RdfFormat format;
-
-	public RdfGeneratorConfigBuilder setInferred(Boolean inferred) {
-		this.inferred = inferred;
-		return this;
-	}
-
-	public RdfGeneratorConfigBuilder setFormat(RdfFormat format) {
-		this.format = format;
-		return this;
-	}
-
-	@Override
-	public void checkNotNulls() {
-		super.checkNotNulls();
-		Preconditions.checkNotNull(inferred);
-		Preconditions.checkNotNull(format);
-	}
-
-	@Override
-	public RdfGeneratorConfig createConfig() {
-		checkNotNulls();
-		return new RdfGeneratorConfig(configBase, inferred, format);
-	}
-
-}
diff --git a/trainbenchmark-generator-rdf/src/main/resources/.gitignore b/trainbenchmark-generator-rdf/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-generator-rdf/src/test/java/hu/bme/mit/trainbenchmark/generator/rdf/test/RdfGeneratorTest.java b/trainbenchmark-generator-rdf/src/test/java/hu/bme/mit/trainbenchmark/generator/rdf/test/RdfGeneratorTest.java
deleted file mode 100644
index 13d74f6651dcee61ab5cc644af410958596ffa36..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-rdf/src/test/java/hu/bme/mit/trainbenchmark/generator/rdf/test/RdfGeneratorTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package hu.bme.mit.trainbenchmark.generator.rdf.test;
-
-import java.util.List;
-
-import com.google.common.collect.ImmutableList;
-
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-import hu.bme.mit.trainbenchmark.generator.rdf.RdfSerializer;
-import hu.bme.mit.trainbenchmark.generator.rdf.config.RdfGeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.rdf.config.RdfGeneratorConfigBuilder;
-import hu.bme.mit.trainbenchmark.generator.tests.GeneratorTest;
-import hu.bme.mit.trainbenchmark.rdf.RdfFormat;
-
-public class RdfGeneratorTest extends GeneratorTest {
-
-	@Override
-	public void generate(final GeneratorConfigBase gcb) throws Exception {
-		final RdfGeneratorConfigBuilder builder = new RdfGeneratorConfigBuilder().setConfigBase(gcb)
-				.setFormat(RdfFormat.TURTLE);
-
-		final List<Boolean> inferredConfigs = ImmutableList.of(true, false);
-		for (Boolean inferredConfig : inferredConfigs) {
-			final RdfGeneratorConfig gc = builder.setInferred(inferredConfig).createConfig();
-			final RdfSerializer serializer = new RdfSerializer(gc);
-			final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc);
-			generator.generateModel();
-		}
-	}
-
-}
diff --git a/trainbenchmark-generator-sql/build.gradle b/trainbenchmark-generator-sql/build.gradle
deleted file mode 100644
index 1588e5d7625e8f004a7070a4702b8c44b890072f..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-sql/build.gradle
+++ /dev/null
@@ -1,15 +0,0 @@
-plugins {
-	id "com.github.johnrengelman.shadow" version "1.2.3"
-}
-
-shadowJar {
-	classifier = 'fat'
-	manifest {
-		attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.generator.sql.SqlGeneratorMain'
-	}
-}
-
-dependencies {
-  compile project(':trainbenchmark-generator')
-  compile project(':trainbenchmark-format-sql')
-}
diff --git a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/SqlGeneratorMain.java b/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/SqlGeneratorMain.java
deleted file mode 100644
index 227348ca09f837ec84d653b9ae36bcfcfb527f32..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/SqlGeneratorMain.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.sql;
-
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.sql.config.SqlGeneratorConfig;
-
-public class SqlGeneratorMain {
-
-	public static void main(final String[] args) throws Exception {
-		final SqlGeneratorConfig gc = GeneratorConfig.fromFile(args[0], SqlGeneratorConfig.class);
-		final SqlSerializer sqlSerializer = new SqlSerializer(gc);
-		final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(sqlSerializer, gc);
-		generator.generateModel();
-	}
-
-}
diff --git a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/SqlSerializer.java b/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/SqlSerializer.java
deleted file mode 100644
index 03dc704839c62b7638bbf510f7f6a0e1f14d4daf..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/SqlSerializer.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.sql;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CONNECTS_TO;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ELEMENTS;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.FOLLOWS;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ID;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.REQUIRES;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SEMAPHORES;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SENSORS;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SUPERTYPES;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SWITCHPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.TRACKELEMENT;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.generator.ModelSerializer;
-import hu.bme.mit.trainbenchmark.generator.sql.config.SqlGeneratorConfig;
-import hu.bme.mit.trainbenchmark.sql.constants.SqlConstants;
-import hu.bme.mit.trainbenchmark.sql.process.MySqlProcess;
-
-public class SqlSerializer extends ModelSerializer<SqlGeneratorConfig> {
-
-	protected String sqlRawPath;
-	protected BufferedWriter writer;
-	protected String SQL_FORMAT_DIR = "trainbenchmark-format-sql/";
-	protected String SQL_METAMODEL_DIR = SQL_FORMAT_DIR + "src/main/resources/metamodel/";
-	protected String SQL_SCRIPT_DIR = SQL_FORMAT_DIR + "scripts/";
-
-	public SqlSerializer(final SqlGeneratorConfig gc) {
-		super(gc);
-	}
-
-	@Override
-	public String syntax() {
-		return "SQL";
-	}
-
-	public void write(final String s) throws IOException {
-		writer.write(s + "\n");
-	}
-
-	@Override
-	public void initModel() throws IOException {
-		// header file (DDL operations)
-		final String headerFilePath = gc.getConfigBase().getWorkspaceDir() + SQL_METAMODEL_DIR + "railway-header.sql";
-		final File headerFile = new File(headerFilePath);
-
-		// destination file
-		sqlRawPath = gc.getConfigBase().getModelPathWithoutExtension() + "-raw.sql";
-		final File sqlRawFile = new File(sqlRawPath);
-
-		// this overwrites the destination file if it exists
-		FileUtils.copyFile(headerFile, sqlRawFile);
-
-		writer = new BufferedWriter(new FileWriter(sqlRawFile, true));
-	}
-
-	@Override
-	public void persistModel() throws IOException, InterruptedException {
-		final String footerFilePath = gc.getConfigBase().getWorkspaceDir() + SQL_METAMODEL_DIR + "railway-footer.sql";
-		final File footerFile = new File(footerFilePath);
-
-		final List<String> lines = FileUtils.readLines(footerFile);
-		for (final String line : lines) {
-			write(line);
-		}
-
-		writer.close();
-
-		compact();
-	}
-
-	public void compact() throws IOException, InterruptedException {
-		log("Stopping server");
-		MySqlProcess.stopServer();
-
-		log("Cleaning data");
-		MySqlProcess.cleanServer();
-
-		log("Starting server");
-		MySqlProcess.startServer();
-
-		log("Loading the raw model");
-		MySqlProcess.runShell(String.format("mysql -u %s < %s", SqlConstants.USER, sqlRawPath));
-
-		final String mysqlDumpPath = gc.getConfigBase().getModelPathWithoutExtension() + "-mysql.sql";
-		final String commandDump = "mysqldump -u " + SqlConstants.USER + " --databases trainbenchmark --skip-dump-date --skip-comments > " + mysqlDumpPath;
-		MySqlProcess.runShell(commandDump);
-
-		final String sqliteDumpPath = gc.getConfigBase().getModelPathWithoutExtension() + "-sqlite.sql";
-		final String sqliteDump = gc.getConfigBase().getWorkspaceDir() + SQL_SCRIPT_DIR + "mysql2sqlite.sh " + mysqlDumpPath + " > " + sqliteDumpPath;
-		MySqlProcess.runShell(sqliteDump);
-	}
-
-	protected void log(final String message) {
-		//System.out.println(message);
-	}
-
-	@Override
-	public Object createVertex(final int id, final String type, final Map<String, ? extends Object> attributes, final Map<String, Object> outgoingEdges,
-			final Map<String, Object> incomingEdges) throws IOException {
-		final StringBuilder columns = new StringBuilder();
-		final StringBuilder values = new StringBuilder();
-
-		columns.append("\"" + ID + "\"");
-		values.append(id);
-
-		structuralFeaturesToSQL(attributes, columns, values);
-		structuralFeaturesToSQL(outgoingEdges, columns, values);
-		structuralFeaturesToSQL(incomingEdges, columns, values);
-
-		if (SUPERTYPES.containsKey(type)) {
-			final String ancestorType = SUPERTYPES.get(type);
-			write(String.format("INSERT INTO \"%s\" (\"%s\") VALUES (%s);", ancestorType, ID, id));
-			write(String.format("INSERT INTO \"%s\" (%s) VALUES (%s);", type, columns.toString(), values.toString()));
-		} else {
-			final String insertQuery = String.format("INSERT INTO \"%s\" (%s) VALUES (%s);", type, columns.toString(), values.toString());
-			write(insertQuery.toString());
-		}
-
-		return id;
-	}
-
-	@Override
-	public void createEdge(final String label, final Object from, final Object to) throws IOException {
-		if (from == null || to == null) {
-			return;
-		}
-
-		String insertQuery;
-		switch (label) {
-		// n:m edges
-		case MONITORED_BY:
-		case CONNECTS_TO:
-		case REQUIRES:
-			insertQuery = String.format("INSERT INTO \"%s\" VALUES (%s, %s);", label, from, to);
-			break;
-		// n:1 edges
-		case FOLLOWS:
-			insertQuery = String.format("UPDATE \"%s\" SET \"%s\" = %s WHERE \"%s\" = %s;", SWITCHPOSITION, "route", from, ID, to);
-			break;
-		case SENSORS:
-			insertQuery = String.format("UPDATE \"%s\" SET \"%s\" = %s WHERE \"%s\" = %s;", SENSOR, "region", from, ID, to);
-			break;
-		case ELEMENTS:
-			insertQuery = String.format("UPDATE \"%s\" SET \"%s\" = %s WHERE \"%s\" = %s;", TRACKELEMENT, "region", from, ID, to);
-			break;
-		case SEMAPHORES:
-			insertQuery = String.format("UPDATE \"%s\" SET \"%s\" = %s WHERE \"%s\" = %s;", SEMAPHORE, "segment", from, ID, to);
-			break;
-		default:
-			throw new UnsupportedOperationException("Label '" + label + "' not supported.");
-		}
-
-		write(insertQuery);
-	}
-
-	@Override
-	public void setAttribute(final String type, final Object node, final String key, final Object value) throws IOException {
-		final String stringValue = valueToString(value);
-		final String updateQuery = String.format("UPDATE \"%s\" SET \"%s\" = %s WHERE \"%s\" = %s;", type, key, stringValue, ID, node);
-		write(updateQuery);
-	}
-
-	protected void structuralFeaturesToSQL(final Map<String, ? extends Object> attributes, final StringBuilder columns, final StringBuilder values) {
-		for (final Entry<String, ? extends Object> entry : attributes.entrySet()) {
-			final String key = entry.getKey();
-			final Object value = entry.getValue();
-
-			columns.append(", \"" + key + "\"");
-			values.append(", ");
-
-			final String stringValue = (value == null ? "NULL" : valueToString(value));
-			values.append(stringValue);
-		}
-	}
-
-	private String valueToString(final Object value) {
-		String stringValue;
-		if (value instanceof Boolean) {
-			stringValue = (Boolean) value ? "1" : "0";
-		} else if (value instanceof String) {
-			// escape string
-			stringValue = "\"" + value + "\"";
-		} else if (value instanceof Enum) {
-			// change enum to ordinal value
-			final Enum<?> enumeration = (Enum<?>) value;
-			stringValue = Integer.toString(enumeration.ordinal());
-		} else {
-			stringValue = value.toString();
-		}
-		return stringValue;
-	}
-
-}
diff --git a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/config/SqlGeneratorConfig.java b/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/config/SqlGeneratorConfig.java
deleted file mode 100644
index 57f37c1e6a75f86443dd20505630e8e1315ffc7f..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/config/SqlGeneratorConfig.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.sql.config;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-
-public class SqlGeneratorConfig extends GeneratorConfig {
-
-	protected SqlGeneratorConfig(final GeneratorConfigBase configBase) {
-		super(configBase);
-	}
-
-	@Override
-	public String getProjectName() {
-		return "sql";
-	}
-
-}
diff --git a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/config/SqlGeneratorConfigBuilder.java b/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/config/SqlGeneratorConfigBuilder.java
deleted file mode 100644
index d5d4f81823ca95cd564c544a476f9fe560684e24..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-sql/src/main/java/hu/bme/mit/trainbenchmark/generator/sql/config/SqlGeneratorConfigBuilder.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.generator.sql.config;
-
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder;
-
-public class SqlGeneratorConfigBuilder extends GeneratorConfigBuilder<SqlGeneratorConfig, SqlGeneratorConfigBuilder> {
-
-	@Override
-	public SqlGeneratorConfig createConfig() {
-		checkNotNulls();
-		return new SqlGeneratorConfig(configBase);
-	}
-
-}
diff --git a/trainbenchmark-generator-sql/src/main/resources/.gitignore b/trainbenchmark-generator-sql/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-generator-sql/src/test/java/hu/bme/mit/trainbenchmark/generator/sql/SqlGeneratorTest.java b/trainbenchmark-generator-sql/src/test/java/hu/bme/mit/trainbenchmark/generator/sql/SqlGeneratorTest.java
deleted file mode 100644
index 4bd224eb04b9ffc83da3ea4115b4b9bf9f60d46a..0000000000000000000000000000000000000000
--- a/trainbenchmark-generator-sql/src/test/java/hu/bme/mit/trainbenchmark/generator/sql/SqlGeneratorTest.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package hu.bme.mit.trainbenchmark.generator.sql;
-
-import hu.bme.mit.trainbenchmark.generator.ModelGenerator;
-import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory;
-import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase;
-import hu.bme.mit.trainbenchmark.generator.sql.config.SqlGeneratorConfig;
-import hu.bme.mit.trainbenchmark.generator.sql.config.SqlGeneratorConfigBuilder;
-import hu.bme.mit.trainbenchmark.generator.tests.GeneratorTest;
-
-public class SqlGeneratorTest extends GeneratorTest {
-
-	@Override
-	public void generate(final GeneratorConfigBase gcb) throws Exception {
-		final SqlGeneratorConfig gc = new SqlGeneratorConfigBuilder().setConfigBase(gcb).createConfig();
-		final SqlSerializer serializer = new SqlSerializer(gc);
-		final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc);
-		generator.generateModel();
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/.gitignore b/trainbenchmark-tool-blazegraph/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-tool-blazegraph/build.gradle b/trainbenchmark-tool-blazegraph/build.gradle
deleted file mode 100644
index d68fc50a8373078b2bd5800e8d2d84d32b0e79c4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	mergeServiceFiles()
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.blazegraph.BlazegraphBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool-sesame')
-	compile group: 'com.blazegraph', name: 'bigdata-core', version: '2.1.2'
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/BlazegraphBenchmarkMain.java b/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/BlazegraphBenchmarkMain.java
deleted file mode 100644
index 071e8c727dbca6612bb68af522c55492578504e1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/BlazegraphBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph;
-
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.config.BlazegraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-
-public class BlazegraphBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final BlazegraphBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], BlazegraphBenchmarkConfig.class);
-		final BlazegraphBenchmarkScenario scenario = new BlazegraphBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/BlazegraphBenchmarkScenario.java b/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/BlazegraphBenchmarkScenario.java
deleted file mode 100644
index e70a9fe3501df3ec7411c64be93dd8b484fd4391..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/BlazegraphBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph;
-
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.config.BlazegraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.driver.BlazegraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.driver.BlazegraphDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.comparators.SesameMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.operations.SesameModelOperationFactory;
-
-public class BlazegraphBenchmarkScenario extends BenchmarkScenario<SesameMatch, BlazegraphDriver, BlazegraphBenchmarkConfig> {
-
-	public BlazegraphBenchmarkScenario(final BlazegraphBenchmarkConfig bc) throws Exception {
-		super(new BlazegraphDriverFactory(bc.isInferencing()), new SesameModelOperationFactory<BlazegraphDriver>(), new SesameMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/config/BlazegraphBenchmarkConfig.java b/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/config/BlazegraphBenchmarkConfig.java
deleted file mode 100644
index 9aeb52ee27808b8e3c272da12d63dc6893d69c92..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/config/BlazegraphBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfig;
-
-public class BlazegraphBenchmarkConfig extends RdfBenchmarkConfig {
-
-	protected BlazegraphBenchmarkConfig(final BenchmarkConfigBase configBase, final boolean inferencing) {
-		super(configBase, inferencing);
-	}
-
-	@Override
-	public String getToolName() {
-		return "Blazegraph" + getToolNamePostfix();
-	}
-
-	@Override
-	public String getProjectName() {
-		return "blazegraph";
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/config/BlazegraphBenchmarkConfigBuilder.java b/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/config/BlazegraphBenchmarkConfigBuilder.java
deleted file mode 100644
index fcbbfb0b168ea42e460ae3c89f2bbf8d990b3757..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/config/BlazegraphBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfigBuilder;
-
-public class BlazegraphBenchmarkConfigBuilder
-		extends RdfBenchmarkConfigBuilder<BlazegraphBenchmarkConfig, BlazegraphBenchmarkConfigBuilder> {
-
-	@Override
-	public BlazegraphBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new BlazegraphBenchmarkConfig(configBase, inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/driver/BlazegraphDriver.java b/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/driver/BlazegraphDriver.java
deleted file mode 100644
index fd0eafe0a77746be4708123355fdd3abff88af53..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/driver/BlazegraphDriver.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph.driver;
-
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.Properties;
-
-import org.apache.commons.io.FileUtils;
-import org.openrdf.repository.RepositoryException;
-
-import com.bigdata.rdf.sail.BigdataSail;
-import com.bigdata.rdf.sail.BigdataSailRepository;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-
-public class BlazegraphDriver extends SesameDriver {
-
-	protected final BigdataSail sail;
-
-	public BlazegraphDriver(final boolean inferencing) throws IOException, RepositoryException {
-		super(inferencing);
-
-		// remove Blazegraph banner text
-		System.getProperties().setProperty("com.bigdata.Banner.quiet", "true");
-		System.getProperties().setProperty("com.bigdata.util.config.LogUtil.quiet", "true");
-		
-		// load journal properties from resources
-		final Properties props = loadProperties("/blazegraph.properties");
-		// instantiate a sail
-		final String journalFile = (String) props.get("com.bigdata.journal.AbstractJournal.file");
-		FileUtils.deleteQuietly(new File(journalFile));
-
-		sail = new BigdataSail(props);
-		repository = new BigdataSailRepository(sail);
-		repository.initialize();
-	}
-
-	@Override
-	public void beginTransaction() {
-		vf = sail.getValueFactory();
-	}
-
-	@Override
-	public void destroy() throws Exception {
-		super.destroy();
-		repository.shutDown();
-	}
-
-	public Properties loadProperties(final String resource) throws IOException {
-		final Properties p = new Properties();
-		final InputStream is = this.getClass().getResourceAsStream(resource);
-		p.load(new InputStreamReader(new BufferedInputStream(is)));
-		return p;
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/driver/BlazegraphDriverFactory.java b/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/driver/BlazegraphDriverFactory.java
deleted file mode 100644
index 03229ae7b445c3406f1f67f736b68c53ec396699..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/driver/BlazegraphDriverFactory.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph.driver;
-
-import java.io.IOException;
-
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriverFactory;
-
-public class BlazegraphDriverFactory extends RdfDriverFactory<BlazegraphDriver> {
-
-	public BlazegraphDriverFactory(final boolean inferencing) {
-		super(inferencing);
-	}
-	
-	@Override
-	public BlazegraphDriver createInstance() throws RepositoryException, IOException {
-		return new BlazegraphDriver(inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-blazegraph/src/main/resources/blazegraph.properties b/trainbenchmark-tool-blazegraph/src/main/resources/blazegraph.properties
deleted file mode 100644
index fa411156e5e70bdaa57805631b1d323f3d3c455d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/resources/blazegraph.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-# For more configuration parameters see
-# http://www.blazegraph.com/docs/api/index.html?com/bigdata/journal/BufferMode.html
-com.bigdata.journal.AbstractJournal.bufferMode=DiskRW
-com.bigdata.journal.AbstractJournal.file=/tmp/blazegraph/test.jnl
diff --git a/trainbenchmark-tool-blazegraph/src/main/resources/log4j.properties b/trainbenchmark-tool-blazegraph/src/main/resources/log4j.properties
deleted file mode 100644
index 2546b7774ceb51e1e2d4e393b18a98ceccf26d40..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-log4j.rootCategory=OFF,dest1
-
-log4j.appender.dest1=org.apache.log4j.ConsoleAppender
-log4j.appender.dest1.layout=org.apache.log4j.PatternLayout
-log4j.appender.dest1.Threshold=OFF
diff --git a/trainbenchmark-tool-blazegraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/test/BlazegraphTest.java b/trainbenchmark-tool-blazegraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/test/BlazegraphTest.java
deleted file mode 100644
index 58d078fc8d0b2242ba7c8f17ec21a7312fef9434..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-blazegraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/blazegraph/test/BlazegraphTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.blazegraph.test;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.BlazegraphBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.config.BlazegraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.blazegraph.config.BlazegraphBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.tests.RdfTest;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-
-@RunWith(Parameterized.class)
-public class BlazegraphTest extends RdfTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final BlazegraphBenchmarkConfig bc = new BlazegraphBenchmarkConfigBuilder().setConfigBase(bcb).setInferencing(inferencing).createConfig();
-		final BlazegraphBenchmarkScenario scenario = new BlazegraphBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/build.gradle b/trainbenchmark-tool-drools/build.gradle
deleted file mode 100644
index f62f2bde2e802495a4df6ab4337bf5e437ad80b6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/build.gradle
+++ /dev/null
@@ -1,15 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.drools.DroolsBenchmarkMain' }
-}
-
-ext { droolsVersion = '6.5.0.Final' }
-
-dependencies {
-  compile project(':trainbenchmark-tool-emf')
-  compile group: 'org.drools', name: 'drools-core', version: droolsVersion
-  compile group: 'org.drools', name: 'drools-compiler', version: droolsVersion
-  compile group: 'org.slf4j', name: 'slf4j-nop', version: slf4jVersion
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/DroolsBenchmarkMain.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/DroolsBenchmarkMain.java
deleted file mode 100644
index d58341eb1345a126115791ee35adb59414306b40..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/DroolsBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.drools;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.drools.config.DroolsBenchmarkConfig;
-
-public class DroolsBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final DroolsBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], DroolsBenchmarkConfig.class);
-		final DroolsBenchmarkScenario scenario = new DroolsBenchmarkScenario(bc);
-		scenario.performBenchmark();	
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/DroolsBenchmarkScenario.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/DroolsBenchmarkScenario.java
deleted file mode 100644
index 531a827b8bfbf7a86dada9b3411587dce473c0e4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/DroolsBenchmarkScenario.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.drools;
-
-import hu.bme.mit.trainbenchmark.benchmark.drools.config.DroolsBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.drools.driver.DroolsDriver;
-import hu.bme.mit.trainbenchmark.benchmark.drools.driver.DroolsDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.drools.operations.DroolsModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.emf.comparators.EmfMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class DroolsBenchmarkScenario
-		extends BenchmarkScenario<EmfMatch, DroolsDriver, DroolsBenchmarkConfig> {
-
-	public DroolsBenchmarkScenario(final DroolsBenchmarkConfig bc) throws Exception {
-		super(new DroolsDriverFactory(), new DroolsModelOperationFactory(), new EmfMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/config/DroolsBenchmarkConfig.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/config/DroolsBenchmarkConfig.java
deleted file mode 100644
index f0d59b770afe86b9ae71c6b1d155e4de85285277..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/config/DroolsBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.drools.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class DroolsBenchmarkConfig extends BenchmarkConfig {
-
-	protected DroolsBenchmarkConfig(final BenchmarkConfigBase configBase) {
-		super(configBase);
-	}
-
-	@Override
-	public String getToolName() {
-		return "Drools";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "drools";
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/config/DroolsBenchmarkConfigBuilder.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/config/DroolsBenchmarkConfigBuilder.java
deleted file mode 100644
index 9b4ea883204bf91edc04a144dbc09b2320733e32..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/config/DroolsBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.drools.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class DroolsBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<DroolsBenchmarkConfig, DroolsBenchmarkConfigBuilder> {
-
-	@Override
-	public DroolsBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new DroolsBenchmarkConfig(configBase);
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/driver/DroolsDriver.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/driver/DroolsDriver.java
deleted file mode 100644
index 0130337cbc8b45cb70a04fa4e49df6680fad1f88..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/driver/DroolsDriver.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.driver;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.Notifier;
-import org.eclipse.emf.common.util.TreeIterator;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EContentAdapter;
-import org.kie.api.KieServices;
-import org.kie.api.builder.KieFileSystem;
-import org.kie.api.runtime.KieContainer;
-import org.kie.api.runtime.KieSession;
-import org.kie.api.runtime.rule.FactHandle;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-
-public class DroolsDriver extends EmfDriver {
-
-	protected final KieServices kServices = KieServices.Factory.get();
-	protected final KieFileSystem kfs = kServices.newKieFileSystem();
-	protected final KieContainer kContainer = kServices.getKieClasspathContainer();
-	protected final String kSessionName = "TrainBenchmarkKieSession";
-	protected final KieSession kSession = kContainer.newKieSession(kSessionName);
-
-	@Override
-	public void initialize() throws Exception {
-		super.initialize();
-	}
-
-	@Override
-	public void read(final String modelPathWithoutExtension) throws Exception {
-		super.read(modelPathWithoutExtension);
-
-		for (final TreeIterator<EObject> tIterator = resource.getAllContents(); tIterator.hasNext();) {
-			final EObject eObject = tIterator.next();
-			kSession.insert(eObject);
-		}
-
-		final EContentAdapter adapter = new EContentAdapter() {
-			@Override
-			public void notifyChanged(final Notification notification) {
-				super.notifyChanged(notification);
-				final EObject notifier = (EObject) notification.getNotifier();
-				final FactHandle notifierFH = kSession.getFactHandle(notifier);
-				final int event = notification.getEventType();
-
-				switch (event) {
-				case Notification.REMOVING_ADAPTER:
-					break;
-				case Notification.MOVE:
-					break; // currently no support for ordering
-				case Notification.ADD:
-				case Notification.ADD_MANY:
-				case Notification.REMOVE:
-				case Notification.REMOVE_MANY:
-				case Notification.RESOLVE:
-				case Notification.UNSET:
-				case Notification.SET:
-					kSession.update(notifierFH, notifier);
-					break;
-				}
-			}
-
-			@Override
-			protected void addAdapter(final Notifier notifier) {
-				super.addAdapter(notifier);
-
-				kSession.insert(notifier);
-			}
-
-			@Override
-			protected void removeAdapter(final Notifier notifier) {
-				super.removeAdapter(notifier);
-
-				final FactHandle changedFactHandle = kSession.getFactHandle(notifier);
-				kSession.delete(changedFactHandle);
-			}
-		};
-		resource.eAdapters().add(adapter);
-	}
-
-	public KieSession getKsession() {
-		return kSession;
-	}
-
-	public KieFileSystem getKfs() {
-		return kfs;
-	}
-
-	public KieServices getKieServices() {
-		return kServices;
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/driver/DroolsDriverFactory.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/driver/DroolsDriverFactory.java
deleted file mode 100644
index a9f1a4830032000a7a8e6aacbe3f272208107f5a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/driver/DroolsDriverFactory.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.drools.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public class DroolsDriverFactory extends DriverFactory<DroolsDriver> {
-
-	@Override
-	public DroolsDriver createInstance() throws Exception {
-		return new DroolsDriver();
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsConnectedSegmentsMatch.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsConnectedSegmentsMatch.java
deleted file mode 100644
index ac4d8435a990b47f221c2f135a1c7d74c1988929..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.matches;
-
-import org.kie.api.runtime.rule.Row;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-
-public class DroolsConnectedSegmentsMatch extends EmfConnectedSegmentsMatch {
-
-	public DroolsConnectedSegmentsMatch(final Row match) {
-		super((Sensor) match.get(QueryConstants.VAR_SENSOR), (Segment) match.get(QueryConstants.VAR_SEGMENT1), (Segment) match
-				.get(QueryConstants.VAR_SEGMENT2), (Segment) match.get(QueryConstants.VAR_SEGMENT3), (Segment) match
-				.get(QueryConstants.VAR_SEGMENT4), (Segment) match.get(QueryConstants.VAR_SEGMENT5), (Segment) match
-				.get(QueryConstants.VAR_SEGMENT6));
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsPosLengthMatch.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsPosLengthMatch.java
deleted file mode 100644
index 601cfe845356d6182cd0d72dbf7eea4b45089091..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsPosLengthMatch.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.kie.api.runtime.rule.Row;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthMatch;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-
-public class DroolsPosLengthMatch extends EmfPosLengthMatch {
-
-	public DroolsPosLengthMatch(final Row match) {
-		super((Segment) match.get(VAR_SEGMENT));
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsRouteSensorMatch.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsRouteSensorMatch.java
deleted file mode 100644
index fe007e68999b6a0bf217e3a1a9e402fbed5487af..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsRouteSensorMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.kie.api.runtime.rule.Row;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.SwitchPosition;
-
-public class DroolsRouteSensorMatch extends EmfRouteSensorMatch {
-
-	public DroolsRouteSensorMatch(final Row match) {
-		super((Route) match.get(VAR_ROUTE), (Sensor) match.get(VAR_SENSOR), (SwitchPosition) match.get(VAR_SWP), (Switch) match.get(VAR_SW));
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSemaphoreNeighborMatch.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSemaphoreNeighborMatch.java
deleted file mode 100644
index 4f1644a4005dc98228e2ee6854d58c67abe7b3f4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import org.kie.api.runtime.rule.Row;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Semaphore;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class DroolsSemaphoreNeighborMatch extends EmfSemaphoreNeighborMatch {
-
-	public DroolsSemaphoreNeighborMatch(final Row match) {
-		super((Semaphore) match.get(VAR_SEMAPHORE), (Route) match.get(VAR_ROUTE1), (Route) match.get(VAR_ROUTE2), (Sensor) match
-				.get(VAR_SENSOR1), (Sensor) match.get(VAR_SENSOR2), (TrackElement) match.get(VAR_TE1), (TrackElement) match.get(VAR_TE2));
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSwitchMonitoredMatch.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSwitchMonitoredMatch.java
deleted file mode 100644
index 02eb67cf1d169d4d37647a0969c99905b1eeb3d9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.kie.api.runtime.rule.Row;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-
-public class DroolsSwitchMonitoredMatch extends EmfSwitchMonitoredMatch {
-
-	public DroolsSwitchMonitoredMatch(final Row match) {
-		super((Switch) match.get(VAR_SW));
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSwitchSetMatch.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSwitchSetMatch.java
deleted file mode 100644
index d0c6d9f5457fe3ca757773377345e4e87cc11220..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/matches/DroolsSwitchSetMatch.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.kie.api.runtime.rule.Row;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Semaphore;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.SwitchPosition;
-
-public class DroolsSwitchSetMatch extends EmfSwitchSetMatch {
-
-	public DroolsSwitchSetMatch(final Row match) {
-		super((Semaphore) match.get(VAR_SEMAPHORE), (Route) match.get(VAR_ROUTE), (SwitchPosition) match.get(VAR_SWP), (Switch) match
-				.get(VAR_SW));
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/operations/DroolsModelOperationFactory.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/operations/DroolsModelOperationFactory.java
deleted file mode 100644
index c51dea5dadfc2ed2ff5a8e528a72885681f0fce4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/operations/DroolsModelOperationFactory.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.drools.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.drools.driver.DroolsDriver;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.queries.DroolsQuery;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.EmfTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryConnectedSegmentsInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryPosLengthInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryRouteSensorInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySemaphoreNeighborInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySwitchMonitoredInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySwitchSetInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class DroolsModelOperationFactory extends ModelOperationFactory<EmfMatch, DroolsDriver> {
-
-	@Override
-	public ModelOperation<? extends EmfMatch, DroolsDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final DroolsDriver driver) throws Exception {
-
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final DroolsQuery<DroolsConnectedSegmentsMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final ModelOperation<DroolsConnectedSegmentsMatch, DroolsDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final EmfApiQuery<EmfConnectedSegmentsInjectMatch, DroolsDriver> query = new EmfApiQueryConnectedSegmentsInject<>(driver);
-			final EmfTransformation<EmfConnectedSegmentsInjectMatch, DroolsDriver> transformation = new EmfTransformationInjectConnectedSegments<>(driver);
-			final ModelOperation<EmfConnectedSegmentsInjectMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final DroolsQuery<DroolsConnectedSegmentsMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final EmfTransformationRepairConnectedSegments<DroolsDriver, DroolsConnectedSegmentsMatch> transformation = new EmfTransformationRepairConnectedSegments<>(
-					driver);
-			final ModelOperation<DroolsConnectedSegmentsMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final DroolsQuery<DroolsPosLengthMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final ModelOperation<DroolsPosLengthMatch, DroolsDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final EmfApiQuery<EmfPosLengthInjectMatch, DroolsDriver> query = new EmfApiQueryPosLengthInject<>(driver);
-			final EmfTransformation<EmfPosLengthInjectMatch, DroolsDriver> transformation = new EmfTransformationInjectPosLength<>(driver);
-			final ModelOperation<EmfPosLengthInjectMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final DroolsQuery<DroolsPosLengthMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final EmfTransformation<DroolsPosLengthMatch, DroolsDriver> transformation = new EmfTransformationRepairPosLength<>(driver);
-			final ModelOperation<DroolsPosLengthMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final DroolsQuery<DroolsRouteSensorMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final ModelOperation<DroolsRouteSensorMatch, DroolsDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final EmfApiQuery<EmfRouteSensorInjectMatch, DroolsDriver> query = new EmfApiQueryRouteSensorInject<>(driver);
-			final EmfTransformation<EmfRouteSensorInjectMatch, DroolsDriver> transformation = new EmfTransformationInjectRouteSensor<>(driver);
-			final ModelOperation<EmfRouteSensorInjectMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final DroolsQuery<DroolsRouteSensorMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final EmfTransformationRepairRouteSensor<DroolsDriver, DroolsRouteSensorMatch> transformation = new EmfTransformationRepairRouteSensor<>(driver);
-			final ModelOperation<DroolsRouteSensorMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final DroolsQuery<DroolsSemaphoreNeighborMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final ModelOperation<DroolsSemaphoreNeighborMatch, DroolsDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final EmfApiQuery<EmfSemaphoreNeighborInjectMatch, DroolsDriver> query = new EmfApiQuerySemaphoreNeighborInject<>(driver);
-			final EmfTransformation<EmfSemaphoreNeighborInjectMatch, DroolsDriver> transformation = new EmfTransformationInjectSemaphoreNeighbor<>(driver);
-			final ModelOperation<EmfSemaphoreNeighborInjectMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final DroolsQuery<DroolsSemaphoreNeighborMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final EmfTransformationRepairSemaphoreNeighbor<DroolsDriver, DroolsSemaphoreNeighborMatch> transformation = new EmfTransformationRepairSemaphoreNeighbor<>(
-					driver);
-			final ModelOperation<DroolsSemaphoreNeighborMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final DroolsQuery<DroolsSwitchMonitoredMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final ModelOperation<DroolsSwitchMonitoredMatch, DroolsDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final EmfApiQuery<EmfSwitchMonitoredInjectMatch, DroolsDriver> query = new EmfApiQuerySwitchMonitoredInject<>(driver);
-			final EmfTransformation<EmfSwitchMonitoredInjectMatch, DroolsDriver> transformation = new EmfTransformationInjectSwitchMonitored<>(driver);
-			final ModelOperation<EmfSwitchMonitoredInjectMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final DroolsQuery<DroolsSwitchMonitoredMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final EmfTransformationRepairSwitchMonitored<DroolsDriver, DroolsSwitchMonitoredMatch> transformation = new EmfTransformationRepairSwitchMonitored<>(
-					driver);
-			final ModelOperation<DroolsSwitchMonitoredMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final DroolsQuery<DroolsSwitchSetMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final ModelOperation<DroolsSwitchSetMatch, DroolsDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final EmfApiQuery<EmfSwitchSetInjectMatch, DroolsDriver> query = new EmfApiQuerySwitchSetInject<>(driver);
-			final EmfTransformation<EmfSwitchSetInjectMatch, DroolsDriver> transformation = new EmfTransformationInjectSwitchSet<>(driver);
-			final ModelOperation<EmfSwitchSetInjectMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final DroolsQuery<DroolsSwitchSetMatch> query = DroolsQuery.create(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final EmfTransformation<DroolsSwitchSetMatch, DroolsDriver> transformation = new EmfTransformationRepairSwitchSet<>(driver);
-			final ModelOperation<DroolsSwitchSetMatch, DroolsDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		default:
-			break;
-		}
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/queries/DroolsQuery.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/queries/DroolsQuery.java
deleted file mode 100644
index 5c368490cab91a439485f8531f78abba0016ae65..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/queries/DroolsQuery.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.drools.queries;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.kie.api.io.ResourceType;
-import org.kie.api.runtime.rule.LiveQuery;
-import org.kie.internal.builder.KnowledgeBuilder;
-import org.kie.internal.builder.KnowledgeBuilderFactory;
-import org.kie.internal.io.ResourceFactory;
-
-import hu.bme.mit.trainbenchmark.benchmark.drools.driver.DroolsDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class DroolsQuery<TMatch extends EmfMatch> extends ModelQuery<TMatch, DroolsDriver> {
-
-	protected Collection<TMatch> matches;
-	protected DroolsResultListener listener;
-	protected LiveQuery liveQuery;
-
-	protected DroolsQuery(final DroolsDriver driver, final String workspaceDir, final RailwayQuery query)
-			throws IOException {
-		super(query, driver);
-
-		final String queryFile = query + ".drl";
-		final KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-		kbuilder.add(ResourceFactory.newClassPathResource(queryFile, DroolsQuery.class), ResourceType.DRL);
-	}
-
-	public static <TMatch extends EmfMatch> DroolsQuery<TMatch> create(final DroolsDriver driver,
-			final String workspaceDir, final RailwayQuery query) throws IOException {
-		return new DroolsQuery<TMatch>(driver, workspaceDir, query);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TMatch> evaluate() throws IOException {
-		if (liveQuery == null) {
-			listener = new DroolsResultListener(query);
-			liveQuery = driver.getKsession().openLiveQuery(query.toString(), new Object[] {}, listener);
-		} else {
-			driver.getKsession().fireAllRules();
-		}
-		matches = (Collection<TMatch>) listener.getMatches();
-		return matches;
-	}
-
-	@Override
-	public void close() {
-		if (liveQuery != null) {
-			liveQuery.close();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/queries/DroolsResultListener.java b/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/queries/DroolsResultListener.java
deleted file mode 100644
index a7ad058f837e6480ff4261ffcd6698457bbd59e4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/java/hu/bme/mit/trainbenchmark/benchmark/drools/queries/DroolsResultListener.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.drools.queries;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.kie.api.runtime.rule.Row;
-import org.kie.api.runtime.rule.ViewChangedEventListener;
-
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.drools.matches.DroolsSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class DroolsResultListener implements ViewChangedEventListener {
-
-	protected RailwayQuery query;
-	protected final Set<EmfMatch> matches = new HashSet<>();
-
-	public DroolsResultListener(final RailwayQuery query) {
-		this.query = query;
-	}
-
-	@Override
-	public void rowInserted(final Row row) {
-		matches.add(createMatch(query, row));
-	}
-
-	@Override
-	public void rowDeleted(final Row row) {
-		matches.remove(createMatch(query, row));
-	}
-
-	@Override
-	public void rowUpdated(final Row row) {
-		matches.add(createMatch(query, row));
-	}
-
-	public Set<EmfMatch> getMatches() {
-		return matches;
-	}
-
-	private EmfMatch createMatch(final RailwayQuery query, final Row row) {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new DroolsConnectedSegmentsMatch(row);
-		case POSLENGTH:
-			return new DroolsPosLengthMatch(row);
-		case ROUTESENSOR:
-			return new DroolsRouteSensorMatch(row);
-		case SEMAPHORENEIGHBOR:
-			return new DroolsSemaphoreNeighborMatch(row);
-		case SWITCHMONITORED:
-			return new DroolsSwitchMonitoredMatch(row);
-		case SWITCHSET:
-			return new DroolsSwitchSetMatch(row);
-		default:
-			throw new UnsupportedOperationException("Query not supported: " + query);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-drools/src/main/resources/META-INF/kmodule.xml b/trainbenchmark-tool-drools/src/main/resources/META-INF/kmodule.xml
deleted file mode 100644
index 59e76e4877b7c0fe93783cddf6b77b627aed6d4b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/META-INF/kmodule.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<kmodule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xmlns="http://jboss.org/kie/6.0.0/kmodule">
-
-    <kbase name="TrainBenchmarkKB" packages="hu.bme.mit.trainbenchmark.benchmark.drools.queries">
-        <ksession name="TrainBenchmarkKieSession"/>
-    </kbase>
-
-</kmodule>
\ No newline at end of file
diff --git a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/ConnectedSegments.drl b/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/ConnectedSegments.drl
deleted file mode 100644
index 549f8c0c7b89211a1454d53a4e2ea49fa013325c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/ConnectedSegments.drl
+++ /dev/null
@@ -1,18 +0,0 @@
-package hu.bme.mit.trainbenchmark.railway
-
-query "ConnectedSegments"
-    segment1 : Segment( )
-    segment2 : Segment( this memberOf segment1.connectsTo )
-    segment3 : Segment( this memberOf segment2.connectsTo )
-    segment4 : Segment( this memberOf segment3.connectsTo )
-    segment5 : Segment( this memberOf segment4.connectsTo )
-    segment6 : Segment( this memberOf segment5.connectsTo )
-    sensor : Sensor( 
-    	this memberOf segment1.monitoredBy, 
-    	this memberOf segment2.monitoredBy, 
-    	this memberOf segment3.monitoredBy, 
-    	this memberOf segment4.monitoredBy, 
-    	this memberOf segment5.monitoredBy, 
-    	this memberOf segment6.monitoredBy 
-	)
-end
diff --git a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/PosLength.drl b/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/PosLength.drl
deleted file mode 100644
index c91a5677e46bfc335b58c6ad3827d844ce6af42d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/PosLength.drl
+++ /dev/null
@@ -1,5 +0,0 @@
-package hu.bme.mit.trainbenchmark.railway
-
-query "PosLength"
-   segment : Segment( length <= 0 )
-end
diff --git a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/RouteSensor.drl b/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/RouteSensor.drl
deleted file mode 100644
index ec31d2a08a5d8c9ec3d11aeaa792f09063b44e50..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/RouteSensor.drl
+++ /dev/null
@@ -1,9 +0,0 @@
-package hu.bme.mit.trainbenchmark.railway
-
-query "RouteSensor"
-    route : Route()
-    swP : SwitchPosition( ) from route.follows
-    sw : Switch( this == swP.target )
-    sensor : Sensor( ) from sw.monitoredBy
-    not Sensor( this == sensor, this memberOf route.requires )
-end
diff --git a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SemaphoreNeighbor.drl b/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SemaphoreNeighbor.drl
deleted file mode 100644
index 1ab54471a8d28398ad2a7c232967f11991db80d3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SemaphoreNeighbor.drl
+++ /dev/null
@@ -1,12 +0,0 @@
-package hu.bme.mit.trainbenchmark.railway
-
-query "SemaphoreNeighbor"
-    route1 : Route( )
-    sensor1 : Sensor( ) from route1.requires
-    te1 : TrackElement( ) from sensor1.monitors
-    te2 : TrackElement( ) from te1.connectsTo
-    sensor2 : Sensor( ) from te2.monitoredBy
-    semaphore : Semaphore( this == route1.exit )
-    route2 : Route( requires contains sensor2, this != route1 )
-    not Route( entry == semaphore, requires contains sensor2 )
-end
diff --git a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SwitchMonitored.drl b/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SwitchMonitored.drl
deleted file mode 100644
index ab3d7c6ccf4a55268b7dca2c2cfb97d76f0a6da3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SwitchMonitored.drl
+++ /dev/null
@@ -1,5 +0,0 @@
-package hu.bme.mit.trainbenchmark.railway
-
-query "SwitchMonitored" 
-    sw : Switch( monitoredBy.isEmpty() )
-end
diff --git a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SwitchSet.drl b/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SwitchSet.drl
deleted file mode 100644
index 2eb39667809ae1ba33fe10e4cb695b18cc1e12b3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/main/resources/hu/bme/mit/trainbenchmark/benchmark/drools/queries/SwitchSet.drl
+++ /dev/null
@@ -1,8 +0,0 @@
-package hu.bme.mit.trainbenchmark.railway
-
-query "SwitchSet"
-    route : Route( active, $follows : follows )
-    semaphore : Semaphore( this == route.entry )
-    swP : SwitchPosition( this memberOf $follows )
-    sw: Switch( this == swP.target, currentPosition.value != swP.position.value )
-end
diff --git a/trainbenchmark-tool-drools/src/test/java/hu/bme/mit/trainbenchmark/benchmark/drools/test/DroolsTest.java b/trainbenchmark-tool-drools/src/test/java/hu/bme/mit/trainbenchmark/benchmark/drools/test/DroolsTest.java
deleted file mode 100644
index e13fa5b1312962a035a010d87448b759a2d24e5a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-drools/src/test/java/hu/bme/mit/trainbenchmark/benchmark/drools/test/DroolsTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.drools.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.drools.DroolsBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.drools.config.DroolsBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.drools.config.DroolsBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-public class DroolsTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final DroolsBenchmarkConfig bc = new DroolsBenchmarkConfigBuilder().setConfigBase(bcb).createConfig();
-		final DroolsBenchmarkScenario scenario = new DroolsBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/.gitignore b/trainbenchmark-tool-eclipseocl/.gitignore
deleted file mode 100644
index 19f2e002ce4b64ea5d8ee046e9587984ed33e630..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/target
-/target
diff --git a/trainbenchmark-tool-eclipseocl/build.gradle b/trainbenchmark-tool-eclipseocl/build.gradle
deleted file mode 100644
index ce268cb13f1d55cffb5cb4a4488fb9e946eead17..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/build.gradle
+++ /dev/null
@@ -1,14 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.eclipseocl.EclipseOclBenchmarkMain' }
-}
-
-dependencies {
-  compile project(':trainbenchmark-tool-emf')
-  compile group: 'org.eclipse.ocl', name: 'org.eclipse.ocl', version:'3.3.0.v20140120-1508'
-  compile group: 'org.eclipse.ocl', name: 'org.eclipse.ocl.ecore', version:'3.3.0.v20130520-1222'
-  compile group: 'org.eclipse.ocl', name: 'org.eclipse.ocl.common', version:'1.2.0.v20140610-0641'
-  compile group: 'lpg.runtime', name: 'java', version:'2.0.17-v201004271640'
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/EclipseOclBenchmarkMain.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/EclipseOclBenchmarkMain.java
deleted file mode 100644
index 556ae39f7e806f8f47fd432a2621bb63dd219a04..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/EclipseOclBenchmarkMain.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config.EclipseOclBenchmarkConfig;
-
-public class EclipseOclBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final EclipseOclBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], EclipseOclBenchmarkConfig.class);
-		final EclipseOclBenchmarkScenario scenario = new EclipseOclBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/EclipseOclBenchmarkScenario.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/EclipseOclBenchmarkScenario.java
deleted file mode 100644
index a932d19c2e75aae947cd59915f3e076020d6214d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/EclipseOclBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl;
-
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config.EclipseOclBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.operations.EclipseOclModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.emf.comparators.EmfMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class EclipseOclBenchmarkScenario extends BenchmarkScenario<EmfMatch, EmfDriver, EclipseOclBenchmarkConfig> {
-
-	public EclipseOclBenchmarkScenario(final EclipseOclBenchmarkConfig bc) throws Exception {
-		super(new EmfDriverFactory(), new EclipseOclModelOperationFactory(), new EmfMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/config/EclipseOclBenchmarkConfig.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/config/EclipseOclBenchmarkConfig.java
deleted file mode 100644
index 346b3f870e3c8b39f8051167677441857ea50b49..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/config/EclipseOclBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class EclipseOclBenchmarkConfig extends BenchmarkConfig {
-
-	protected EclipseOclBenchmarkConfig(final BenchmarkConfigBase configBase) {
-		super(configBase);
-	}
-
-	@Override
-	public String getToolName() {
-		return "Eclipse OCL";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "eclipseocl";
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/config/EclipseOclBenchmarkConfigBuilder.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/config/EclipseOclBenchmarkConfigBuilder.java
deleted file mode 100644
index 135fcd277b773fde5a59a09f1ac94e6254ae2c91..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/config/EclipseOclBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class EclipseOclBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<EclipseOclBenchmarkConfig, EclipseOclBenchmarkConfigBuilder> {
-
-	@Override
-	public EclipseOclBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new EclipseOclBenchmarkConfig(configBase);
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/operations/EclipseOclModelOperationFactory.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/operations/EclipseOclModelOperationFactory.java
deleted file mode 100644
index f09229c18769e41ab423b4f804d5723471baaf4c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/operations/EclipseOclModelOperationFactory.java
+++ /dev/null
@@ -1,175 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQuery;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQueryConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQueryPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQueryRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQuerySemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQuerySwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries.EclipseOclQuerySwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.EmfTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryConnectedSegmentsInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryPosLengthInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryRouteSensorInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySemaphoreNeighborInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySwitchMonitoredInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySwitchSetInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class EclipseOclModelOperationFactory extends ModelOperationFactory<EmfMatch, EmfDriver> {
-
-	@Override
-	public ModelOperation<? extends EmfMatch, EmfDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final EmfDriver driver) throws Exception {
-
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final EclipseOclQueryConnectedSegments query = new EclipseOclQueryConnectedSegments(driver, workspaceDir);
-			final ModelOperation<EmfConnectedSegmentsMatch, EmfDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final EmfApiQuery<EmfConnectedSegmentsInjectMatch, EmfDriver> query = new EmfApiQueryConnectedSegmentsInject<>(driver);
-			final EmfTransformation<EmfConnectedSegmentsInjectMatch, EmfDriver> transformation = new EmfTransformationInjectConnectedSegments<>(driver);
-			final ModelOperation<EmfConnectedSegmentsInjectMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final EclipseOclQuery<EmfConnectedSegmentsMatch> query = new EclipseOclQueryConnectedSegments(driver, workspaceDir);
-			final EmfTransformation<EmfConnectedSegmentsMatch, EmfDriver> transformation = new EmfTransformationRepairConnectedSegments<>(driver);
-			final ModelOperation<EmfConnectedSegmentsMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final EclipseOclQuery<EmfPosLengthMatch> query = new EclipseOclQueryPosLength(driver, workspaceDir);
-			final ModelOperation<EmfPosLengthMatch, EmfDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final EmfApiQuery<EmfPosLengthInjectMatch, EmfDriver> query = new EmfApiQueryPosLengthInject<>(driver);
-			final EmfTransformation<EmfPosLengthInjectMatch, EmfDriver> transformation = new EmfTransformationInjectPosLength<>(driver);
-			final ModelOperation<EmfPosLengthInjectMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final EclipseOclQuery<EmfPosLengthMatch> query = new EclipseOclQueryPosLength(driver, workspaceDir);
-			final EmfTransformation<EmfPosLengthMatch, EmfDriver> transformation = new EmfTransformationRepairPosLength<>(driver);
-			final ModelOperation<EmfPosLengthMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final EclipseOclQuery<EmfRouteSensorMatch> query = new EclipseOclQueryRouteSensor(driver, workspaceDir);
-			final ModelOperation<EmfRouteSensorMatch, EmfDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final EmfApiQuery<EmfRouteSensorInjectMatch, EmfDriver> query = new EmfApiQueryRouteSensorInject<>(driver);
-			final EmfTransformation<EmfRouteSensorInjectMatch, EmfDriver> transformation = new EmfTransformationInjectRouteSensor<>(driver);
-			final ModelOperation<EmfRouteSensorInjectMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final EclipseOclQuery<EmfRouteSensorMatch> query = new EclipseOclQueryRouteSensor(driver, workspaceDir);
-			final EmfTransformation<EmfRouteSensorMatch, EmfDriver> transformation = new EmfTransformationRepairRouteSensor<>(driver);
-			final ModelOperation<EmfRouteSensorMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final EclipseOclQuery<EmfSemaphoreNeighborMatch> query = new EclipseOclQuerySemaphoreNeighbor(driver, workspaceDir);
-			final ModelOperation<EmfSemaphoreNeighborMatch, EmfDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final EmfApiQuery<EmfSemaphoreNeighborInjectMatch, EmfDriver> query = new EmfApiQuerySemaphoreNeighborInject<>(driver);
-			final EmfTransformation<EmfSemaphoreNeighborInjectMatch, EmfDriver> transformation = new EmfTransformationInjectSemaphoreNeighbor<>(driver);
-			final ModelOperation<EmfSemaphoreNeighborInjectMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final EclipseOclQuery<EmfSemaphoreNeighborMatch> query = new EclipseOclQuerySemaphoreNeighbor(driver, workspaceDir);
-			final EmfTransformation<EmfSemaphoreNeighborMatch, EmfDriver> transformation = new EmfTransformationRepairSemaphoreNeighbor<>(driver);
-			final ModelOperation<EmfSemaphoreNeighborMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final EclipseOclQuery<EmfSwitchMonitoredMatch> query = new EclipseOclQuerySwitchMonitored(driver, workspaceDir);
-			final ModelOperation<EmfSwitchMonitoredMatch, EmfDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final EmfApiQuery<EmfSwitchMonitoredInjectMatch, EmfDriver> query = new EmfApiQuerySwitchMonitoredInject<>(driver);
-			final EmfTransformation<EmfSwitchMonitoredInjectMatch, EmfDriver> transformation = new EmfTransformationInjectSwitchMonitored<>(driver);
-			final ModelOperation<EmfSwitchMonitoredInjectMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final EclipseOclQuery<EmfSwitchMonitoredMatch> query = new EclipseOclQuerySwitchMonitored(driver, workspaceDir);
-			final EmfTransformation<EmfSwitchMonitoredMatch, EmfDriver> transformation = new EmfTransformationRepairSwitchMonitored<>(driver);
-			final ModelOperation<EmfSwitchMonitoredMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final EclipseOclQuery<EmfSwitchSetMatch> query = new EclipseOclQuerySwitchSet(driver, workspaceDir);
-			final ModelOperation<EmfSwitchSetMatch, EmfDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final EmfApiQuery<EmfSwitchSetInjectMatch, EmfDriver> query = new EmfApiQuerySwitchSetInject<>(driver);
-			final EmfTransformation<EmfSwitchSetInjectMatch, EmfDriver> transformation = new EmfTransformationInjectSwitchSet<>(driver);
-			final ModelOperation<EmfSwitchSetInjectMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final EclipseOclQuery<EmfSwitchSetMatch> query = new EclipseOclQuerySwitchSet(driver, workspaceDir);
-			final EmfTransformation<EmfSwitchSetMatch, EmfDriver> transformation = new EmfTransformationRepairSwitchSet<>(driver);
-			final ModelOperation<EmfSwitchSetMatch, EmfDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-		default:
-			break;
-		}
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuery.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuery.java
deleted file mode 100644
index 1f4a746765127f5d5f6e9ef62e9f70eae6e5b3b7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuery.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.commons.io.FileUtils;
-import org.eclipse.ocl.ParserException;
-import org.eclipse.ocl.ecore.OCL;
-import org.eclipse.ocl.ecore.OCL.Helper;
-import org.eclipse.ocl.ecore.OCL.Query;
-import org.eclipse.ocl.ecore.OCLExpression;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.RailwayContainer;
-import hu.bme.mit.trainbenchmark.railway.RailwayPackage;
-
-public abstract class EclipseOclQuery<TMatch extends EmfMatch> extends ModelQuery<TMatch, EmfDriver> {
-
-	protected Collection<TMatch> matches;
-	protected OCL ocl;
-	protected Query queryEvaluator;
-	protected RailwayContainer container;
-
-	public EclipseOclQuery(final EmfDriver driver, final String workspaceDir, final RailwayQuery query) throws IOException, ParserException {
-		super(query, driver);
-
-		final String oclQueryDefinition = FileUtils
-				.readFileToString(new File(workspaceDir + "/trainbenchmark-tool-eclipseocl/src/main/resources/queries/" + query + ".ocl"));
-
-		ocl = OCL.newInstance();
-		final Helper helper = ocl.createOCLHelper();
-		helper.setContext(RailwayPackage.eINSTANCE.getRailwayContainer());
-		final OCLExpression expression = helper.createQuery(oclQueryDefinition);
-		queryEvaluator = ocl.createQuery(expression);
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryConnectedSegments.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryConnectedSegments.java
deleted file mode 100644
index b3dc207afcd28b4215af7b6c281fcdb8b7fdcc5d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryConnectedSegments.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.ocl.util.Bag;
-import org.eclipse.ocl.util.Tuple;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-
-public class EclipseOclQueryConnectedSegments extends EclipseOclQuery<EmfConnectedSegmentsMatch> {
-
-	public EclipseOclQueryConnectedSegments(final EmfDriver driver, final String workspaceDir) throws Exception {
-		super(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-	}
-
-	@Override
-	public Collection<EmfConnectedSegmentsMatch> evaluate() {
-		matches = new ArrayList<>();
-
-		@SuppressWarnings("unchecked")
-		final Bag<Tuple<?, ?>> bag = (Bag<Tuple<?, ?>>) queryEvaluator.evaluate(driver.getContainer());
-		for (final Tuple<?, ?> tuple : bag) {
-			final Sensor sensor = (Sensor) tuple.getValue("sensor");
-			final Segment segment1 = (Segment) tuple.getValue("segment1");
-			final Segment segment2 = (Segment) tuple.getValue("segment2");
-			final Segment segment3 = (Segment) tuple.getValue("segment3");
-			final Segment segment4 = (Segment) tuple.getValue("segment4");
-			final Segment segment5 = (Segment) tuple.getValue("segment5");
-			final Segment segment6 = (Segment) tuple.getValue("segment6");
-			final EmfConnectedSegmentsMatch match = new EmfConnectedSegmentsMatch(sensor, segment1, segment2, segment3, segment4, segment5,
-					segment6);
-			matches.add(match);
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryPosLength.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryPosLength.java
deleted file mode 100644
index 7bfd55cf94f8a079abb028c1d3daf63f66e04e89..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryPosLength.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.ocl.util.Bag;
-import org.eclipse.ocl.util.Tuple;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-
-public class EclipseOclQueryPosLength extends EclipseOclQuery<EmfPosLengthMatch> {
-
-	public EclipseOclQueryPosLength(final EmfDriver driver, final String workspaceDir) throws Exception {
-		super(driver, workspaceDir, RailwayQuery.POSLENGTH);
-	}
-
-	@Override
-	public Collection<EmfPosLengthMatch> evaluate() {
-		matches = new ArrayList<>();
-
-		@SuppressWarnings("unchecked")
-		final Bag<Tuple<?, ?>> bag = (Bag<Tuple<?, ?>>) queryEvaluator.evaluate(driver.getContainer());
-		for (final Tuple<?, ?> tuple : bag) {
-			final Segment segment = (Segment) tuple.getValue("segment");
-			matches.add(new EmfPosLengthMatch(segment));
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryRouteSensor.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryRouteSensor.java
deleted file mode 100644
index ab9c660e8420821f46c10c9e45a7a9be25f97149..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQueryRouteSensor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.ocl.util.Bag;
-import org.eclipse.ocl.util.Tuple;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.SwitchPosition;
-
-public class EclipseOclQueryRouteSensor extends EclipseOclQuery<EmfRouteSensorMatch> {
-
-	public EclipseOclQueryRouteSensor(final EmfDriver driver, final String workspaceDir) throws Exception {
-		super(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-	}
-
-	@Override
-	public Collection<EmfRouteSensorMatch> evaluate() {
-		matches = new ArrayList<>();
-
-		@SuppressWarnings("unchecked")
-		final Bag<Tuple<?, ?>> bag = (Bag<Tuple<?, ?>>) queryEvaluator.evaluate(driver.getContainer());
-		for (final Tuple<?, ?> tuple : bag) {
-			final Route route = (Route) tuple.getValue("route");
-			final Sensor sensor = (Sensor) tuple.getValue("sensor");
-			final SwitchPosition swP = (SwitchPosition) tuple.getValue("swP");
-			final Switch sw = (Switch) tuple.getValue("sw");
-			matches.add(new EmfRouteSensorMatch(route, sensor, swP, sw));
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySemaphoreNeighbor.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySemaphoreNeighbor.java
deleted file mode 100644
index 06cecfa8b9c76572029a57d79451ba80a6ddb198..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySemaphoreNeighbor.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.ocl.util.Bag;
-import org.eclipse.ocl.util.Tuple;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Semaphore;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class EclipseOclQuerySemaphoreNeighbor extends EclipseOclQuery<EmfSemaphoreNeighborMatch> {
-
-	public EclipseOclQuerySemaphoreNeighbor(final EmfDriver driver, final String workspaceDir) throws Exception {
-		super(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-	}
-
-	@Override
-	public Collection<EmfSemaphoreNeighborMatch> evaluate() {
-		matches = new ArrayList<>();
-
-		@SuppressWarnings("unchecked")
-		final Bag<Tuple<?, ?>> bag = (Bag<Tuple<?, ?>>) queryEvaluator.evaluate(driver.getContainer());
-		for (final Tuple<?, ?> tuple : bag) {
-			final Semaphore semaphore = (Semaphore) tuple.getValue("semaphore");
-			final Route route1 = (Route) tuple.getValue("route1");
-			final Route route2 = (Route) tuple.getValue("route2");
-			final Sensor sensor1 = (Sensor) tuple.getValue("sensor1");
-			final Sensor sensor2 = (Sensor) tuple.getValue("sensor2");
-			final TrackElement te1 = (TrackElement) tuple.getValue("te1");
-			final TrackElement te2 = (TrackElement) tuple.getValue("te2");
-			matches.add(new EmfSemaphoreNeighborMatch(semaphore, route1, route2, sensor1, sensor2, te1, te2));
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySwitchMonitored.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySwitchMonitored.java
deleted file mode 100644
index c6ae3379972890ee4b4eb552c7400608b692031f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySwitchMonitored.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.ocl.util.Bag;
-import org.eclipse.ocl.util.Tuple;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-
-public class EclipseOclQuerySwitchMonitored extends EclipseOclQuery<EmfSwitchMonitoredMatch> {
-
-	public EclipseOclQuerySwitchMonitored(final EmfDriver driver, final String workspaceDir) throws Exception {
-		super(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<EmfSwitchMonitoredMatch> evaluate() {
-		matches = new ArrayList<>();
-
-		final Bag<Tuple<?, ?>> bag = (Bag<Tuple<?, ?>>) queryEvaluator.evaluate(driver.getContainer());
-		for (final Tuple<?, ?> tuple : bag) {
-			final Switch sw = (Switch) tuple.getValue("sw");
-			matches.add(new EmfSwitchMonitoredMatch(sw));
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySwitchSet.java b/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySwitchSet.java
deleted file mode 100644
index 283a9ec6dea95727a28576b24b2a42c103756c96..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/queries/EclipseOclQuerySwitchSet.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.ocl.util.Bag;
-import org.eclipse.ocl.util.Tuple;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Semaphore;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.SwitchPosition;
-
-public class EclipseOclQuerySwitchSet extends EclipseOclQuery<EmfSwitchSetMatch> {
-
-	public EclipseOclQuerySwitchSet(final EmfDriver driver, final String workspaceDir) throws Exception {
-		super(driver, workspaceDir, RailwayQuery.SWITCHSET);
-	}
-
-	@Override
-	public Collection<EmfSwitchSetMatch> evaluate() {
-		matches = new ArrayList<>();
-
-		@SuppressWarnings("unchecked")
-		final Bag<Tuple<?, ?>> bag = (Bag<Tuple<?, ?>>) queryEvaluator.evaluate(driver.getContainer());
-		for (final Tuple<?, ?> tuple : bag) {
-			final Semaphore semaphore = (Semaphore) tuple.getValue("semaphore");
-			final Route route = (Route) tuple.getValue("route");
-			final SwitchPosition swP = (SwitchPosition) tuple.getValue("swP");
-			final Switch sw = (Switch) tuple.getValue("sw");
-			matches.add(new EmfSwitchSetMatch(semaphore, route, swP, sw));
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/ConnectedSegments.ocl b/trainbenchmark-tool-eclipseocl/src/main/resources/queries/ConnectedSegments.ocl
deleted file mode 100644
index 550532ef719d65f989e4c4d2450dd1525175d741..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/ConnectedSegments.ocl
+++ /dev/null
@@ -1,20 +0,0 @@
-Sensor.allInstances()->collect(
-	sensor | sensor.monitors->select(oclIsKindOf(Segment))->
-		collect(segment1 | segment1.connectsTo->select(oclIsKindOf(Segment))->
-			select(segment2 | segment2.monitoredBy->includes(sensor))->
-			collect(segment2 | segment2.connectsTo->select(oclIsKindOf(Segment))->
-				select(segment3 | segment3.monitoredBy->includes(sensor))->
-				collect(segment3 | segment3.connectsTo->select(oclIsKindOf(Segment))->
-					select(segment4 | segment4.monitoredBy->includes(sensor))->
-					collect(segment4 | segment4.connectsTo->select(oclIsKindOf(Segment))->
-						select(segment5 | segment5.monitoredBy->includes(sensor))->
-						collect(segment5 | segment5.connectsTo->select(oclIsKindOf(Segment))->
-						select(segment6 | segment6.monitoredBy->includes(sensor))->collect(
-							segment6 | Tuple{sensor = sensor, segment1 = segment1, segment2 = segment2, segment3 = segment3, segment4 = segment4, segment5 = segment5, segment6 = segment6}
-						)
-					)
-				)
-			)
-		)
-	)
-)
diff --git a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/PosLength.ocl b/trainbenchmark-tool-eclipseocl/src/main/resources/queries/PosLength.ocl
deleted file mode 100644
index a1ca1434476ad8bc1eb451d95d33378a47618eaa..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/PosLength.ocl
+++ /dev/null
@@ -1,5 +0,0 @@
-Segment.allInstances()->select(
-	segment | segment.length <= 0
-)->collect(
-	segment | Tuple{segment = segment}
-)
diff --git a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/RouteSensor.ocl b/trainbenchmark-tool-eclipseocl/src/main/resources/queries/RouteSensor.ocl
deleted file mode 100644
index 3772cfa4e843fb263ea0ef2d464d23b1e9d0ce65..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/RouteSensor.ocl
+++ /dev/null
@@ -1,11 +0,0 @@
-Route.allInstances()->collect(
-	route | route.follows->collect(
-		swP | swP.target->collect(
-			sw | sw.monitoredBy->select(
-				sensor | route.requires->excludes(sensor)
-			)->collect(
-				sensor | Tuple{route = route, sensor = sensor, swP = swP, sw = sw}
-			)
-		)
-	)
-)
diff --git a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SemaphoreNeighbor.ocl b/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SemaphoreNeighbor.ocl
deleted file mode 100644
index 47d5d4182db6764714070ffafbd3b9bb78da978a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SemaphoreNeighbor.ocl
+++ /dev/null
@@ -1,16 +0,0 @@
-Route.allInstances()->collect(
-	route1 | route1.exit->collect(
-		semaphore | route1.requires->collect(
-			sensor1 | sensor1.monitors->collect(
-				te1 | te1.connectsTo->collect(
-					te2 | te2.monitoredBy->collect(
-						sensor2 | Route.allInstances()->select(route2 | route2.requires->includes(sensor2) and route2.entry->excludes(semaphore) and route1 <> route2)->collect(
-							route2 | Tuple{semaphore = semaphore, route1 = route1, route2 = route2, sensor1 = sensor1, sensor2 = sensor2, te1 = te1, te2 = te2}
-						)
-					)
-				)
-			)
-		)
-	)
-)
-
diff --git a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SwitchMonitored.ocl b/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SwitchMonitored.ocl
deleted file mode 100644
index 6b3d08b8607317cdcbb03809d04f75db8dc5075f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SwitchMonitored.ocl
+++ /dev/null
@@ -1,5 +0,0 @@
-Switch.allInstances()->select(
-	sw | sw.monitoredBy->isEmpty()
-)->collect(
-	sw | Tuple{sw = sw}
-)
diff --git a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SwitchSet.ocl b/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SwitchSet.ocl
deleted file mode 100644
index 2992e7613ec15d3f761b7577b8b319d8cddeb9cc..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/main/resources/queries/SwitchSet.ocl
+++ /dev/null
@@ -1,9 +0,0 @@
-Route.allInstances()->select(active = true)->collect(
-	route | route.entry->select(signal = Signal::GO)->collect(
-		semaphore | route.follows->collect(
-			swP | swP.target->select(currentPosition <> swP.position)->collect(
-				sw | Tuple{route = route, semaphore = semaphore, swP = swP, sw = sw}
-			)
-		)
-	)
-)
diff --git a/trainbenchmark-tool-eclipseocl/src/test/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/test/EclipseOclTest.java b/trainbenchmark-tool-eclipseocl/src/test/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/test/EclipseOclTest.java
deleted file mode 100644
index b94095bd886b1163151d5e6ce5d0625b46a570af..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-eclipseocl/src/test/java/hu/bme/mit/trainbenchmark/benchmark/eclipseocl/test/EclipseOclTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.eclipseocl.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.EclipseOclBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config.EclipseOclBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config.EclipseOclBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-public class EclipseOclTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final EclipseOclBenchmarkConfig bc = new EclipseOclBenchmarkConfigBuilder().setConfigBase(bcb).createConfig();
-		final EclipseOclBenchmarkScenario scenario = new EclipseOclBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-eclipseocl/src/test/resources/.gitignore b/trainbenchmark-tool-eclipseocl/src/test/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-emfapi/build.gradle b/trainbenchmark-tool-emfapi/build.gradle
deleted file mode 100644
index 996b34a90d14847a6b4caa23262e1b286dc89649..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/build.gradle
+++ /dev/null
@@ -1,8 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.emfapi.EmfApiBenchmarkMain' }
-}
-
-dependencies { compile project(':trainbenchmark-tool-emf') }
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/EmfApiBenchmarkMain.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/EmfApiBenchmarkMain.java
deleted file mode 100644
index 1805c8986149c685b9053d31bf15884fc2fda5ed..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/EmfApiBenchmarkMain.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.emfapi;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.config.EmfApiBenchmarkConfig;
-
-public class EmfApiBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final EmfApiBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], EmfApiBenchmarkConfig.class);
-		final EmfApiBenchmarkScenario scenario = new EmfApiBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/EmfApiBenchmarkScenario.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/EmfApiBenchmarkScenario.java
deleted file mode 100644
index 8cf79652ce51312bc9949ef7fb357a871aaab61b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/EmfApiBenchmarkScenario.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.emfapi;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.comparators.EmfMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.config.EmfApiBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.operations.EmfApiModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class EmfApiBenchmarkScenario
-		extends BenchmarkScenario<EmfMatch, EmfDriver, EmfApiBenchmarkConfig> {
-
-	public EmfApiBenchmarkScenario(final EmfApiBenchmarkConfig bc) throws Exception {
-		super(new EmfDriverFactory(), new EmfApiModelOperationFactory<EmfDriver>(), new EmfMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/config/EmfApiBenchmarkConfig.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/config/EmfApiBenchmarkConfig.java
deleted file mode 100644
index a5ceafd26864094aae54a0b02d0b7d08aa1e55e5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/config/EmfApiBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class EmfApiBenchmarkConfig extends BenchmarkConfig {
-
-	protected EmfApiBenchmarkConfig(final BenchmarkConfigBase configBase) {
-		super(configBase);
-	}
-
-	@Override
-	public String getToolName() {
-		return "EMF API";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "emfapi";
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/config/EmfApiBenchmarkConfigBuilder.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/config/EmfApiBenchmarkConfigBuilder.java
deleted file mode 100644
index 843f3d417cad5dcaa38bba169ed4ef60b289c505..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/config/EmfApiBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class EmfApiBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<EmfApiBenchmarkConfig, EmfApiBenchmarkConfigBuilder> {
-
-	@Override
-	public EmfApiBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new EmfApiBenchmarkConfig(configBase);
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/operations/EmfApiModelOperationFactory.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/operations/EmfApiModelOperationFactory.java
deleted file mode 100644
index 1fcddb59d24f42deb0d5cf363ab76c4e1d617dee..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/operations/EmfApiModelOperationFactory.java
+++ /dev/null
@@ -1,174 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.EmfTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.inject.EmfTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryConnectedSegmentsInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryPosLengthInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQueryRouteSensorInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySemaphoreNeighborInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySwitchMonitoredInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuerySwitchSetInject;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.repair.EmfTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.queries.EmfApiQueryConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.queries.EmfApiQueryPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.queries.EmfApiQueryRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.queries.EmfApiQuerySemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.queries.EmfApiQuerySwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.queries.EmfApiQuerySwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class EmfApiModelOperationFactory<TDriver extends EmfDriver> extends ModelOperationFactory<EmfMatch, TDriver> {
-
-	@Override
-	public ModelOperation<? extends EmfMatch, TDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final TDriver driver) throws Exception {
-
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final EmfApiQuery<EmfConnectedSegmentsMatch, TDriver> query = new EmfApiQueryConnectedSegments<>(driver);
-			final ModelOperation<EmfConnectedSegmentsMatch, TDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final EmfApiQuery<EmfConnectedSegmentsInjectMatch, TDriver> query = new EmfApiQueryConnectedSegmentsInject<>(driver);
-			final EmfTransformation<EmfConnectedSegmentsInjectMatch, TDriver> transformation = new EmfTransformationInjectConnectedSegments<>(driver);
-			final ModelOperation<EmfConnectedSegmentsInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final EmfApiQuery<EmfConnectedSegmentsMatch, TDriver> query = new EmfApiQueryConnectedSegments<>(driver);
-			final EmfTransformation<EmfConnectedSegmentsMatch, TDriver> transformation = new EmfTransformationRepairConnectedSegments<>(driver);
-			final ModelOperation<EmfConnectedSegmentsMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final EmfApiQuery<EmfPosLengthMatch, TDriver> query = new EmfApiQueryPosLength<>(driver);
-			final ModelOperation<EmfPosLengthMatch, TDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final EmfApiQuery<EmfPosLengthInjectMatch, TDriver> query = new EmfApiQueryPosLengthInject<>(driver);
-			final EmfTransformation<EmfPosLengthInjectMatch, TDriver> transformation = new EmfTransformationInjectPosLength<>(driver);
-			final ModelOperation<EmfPosLengthInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final EmfApiQuery<EmfPosLengthMatch, TDriver> query = new EmfApiQueryPosLength<>(driver);
-			final EmfTransformation<EmfPosLengthMatch, TDriver> transformation = new EmfTransformationRepairPosLength<>(driver);
-			final ModelOperation<EmfPosLengthMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final EmfApiQuery<EmfRouteSensorMatch, TDriver> query = new EmfApiQueryRouteSensor<>(driver);
-			final ModelOperation<EmfRouteSensorMatch, TDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final EmfApiQuery<EmfRouteSensorInjectMatch, TDriver> query = new EmfApiQueryRouteSensorInject<>(driver);
-			final EmfTransformation<EmfRouteSensorInjectMatch, TDriver> transformation = new EmfTransformationInjectRouteSensor<>(driver);
-			final ModelOperation<EmfRouteSensorInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final EmfApiQuery<EmfRouteSensorMatch, TDriver> query = new EmfApiQueryRouteSensor<>(driver);
-			final EmfTransformation<EmfRouteSensorMatch, TDriver> transformation = new EmfTransformationRepairRouteSensor<>(driver);
-			final ModelOperation<EmfRouteSensorMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final EmfApiQuery<EmfSemaphoreNeighborMatch, TDriver> query = new EmfApiQuerySemaphoreNeighbor<>(driver);
-			final ModelOperation<EmfSemaphoreNeighborMatch, TDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final EmfApiQuery<EmfSemaphoreNeighborInjectMatch, TDriver> query = new EmfApiQuerySemaphoreNeighborInject<>(driver);
-			final EmfTransformation<EmfSemaphoreNeighborInjectMatch, TDriver> transformation = new EmfTransformationInjectSemaphoreNeighbor<>(driver);
-			final ModelOperation<EmfSemaphoreNeighborInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final EmfApiQuery<EmfSemaphoreNeighborMatch, TDriver> query = new EmfApiQuerySemaphoreNeighbor<>(driver);
-			final EmfTransformation<EmfSemaphoreNeighborMatch, TDriver> transformation = new EmfTransformationRepairSemaphoreNeighbor<>(driver);
-			final ModelOperation<EmfSemaphoreNeighborMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final EmfApiQuery<EmfSwitchMonitoredMatch, TDriver> query = new EmfApiQuerySwitchMonitored<>(driver);
-			final ModelOperation<EmfSwitchMonitoredMatch, TDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final EmfApiQuery<EmfSwitchMonitoredInjectMatch, TDriver> query = new EmfApiQuerySwitchMonitoredInject<>(driver);
-			final EmfTransformation<EmfSwitchMonitoredInjectMatch, TDriver> transformation = new EmfTransformationInjectSwitchMonitored<>(driver);
-			final ModelOperation<EmfSwitchMonitoredInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final EmfApiQuery<EmfSwitchMonitoredMatch, TDriver> query = new EmfApiQuerySwitchMonitored<>(driver);
-			final EmfTransformation<EmfSwitchMonitoredMatch, TDriver> transformation = new EmfTransformationRepairSwitchMonitored<>(driver);
-			final ModelOperation<EmfSwitchMonitoredMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final EmfApiQuery<EmfSwitchSetMatch, TDriver> query = new EmfApiQuerySwitchSet<>(driver);
-			final ModelOperation<EmfSwitchSetMatch, TDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final EmfApiQuery<EmfSwitchSetInjectMatch, TDriver> query = new EmfApiQuerySwitchSetInject<>(driver);
-			final EmfTransformation<EmfSwitchSetInjectMatch, TDriver> transformation = new EmfTransformationInjectSwitchSet<>(driver);
-			final ModelOperation<EmfSwitchSetInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final EmfApiQuery<EmfSwitchSetMatch, TDriver> query = new EmfApiQuerySwitchSet<>(driver);
-			final EmfTransformation<EmfSwitchSetMatch, TDriver> transformation = new EmfTransformationRepairSwitchSet<>(driver);
-			final ModelOperation<EmfSwitchSetMatch, TDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		default:
-			break;
-		}
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryConnectedSegments.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryConnectedSegments.java
deleted file mode 100644
index 3d8c65bc71f05226651e36256f281ebb85538e07..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryConnectedSegments.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.RailwayPackage;
-import hu.bme.mit.trainbenchmark.railway.Region;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class EmfApiQueryConnectedSegments<TDriver extends EmfDriver> extends EmfApiQuery<EmfConnectedSegmentsMatch, TDriver> {
-
-	public EmfApiQueryConnectedSegments(final TDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS, driver);
-	}
-
-	@Override
-	public Collection<EmfConnectedSegmentsMatch> evaluate() {
-		final List<EmfConnectedSegmentsMatch> matches = new ArrayList<>();
-
-		final EList<Region> regions = driver.getContainer().getRegions();
-		for (final Region region : regions) {
-			for (final Sensor sensor : region.getSensors()) {
-				// (sensor)-[:monitors]->(segment1:Segment)
-				for (final TrackElement element1 : sensor.getMonitors()) {
-					if (!RailwayPackage.eINSTANCE.getSegment().isInstance(element1)) {
-						continue;
-					}
-					final Segment segment1 = (Segment) element1;
-
-					// (segment1)-[:connectsTo]->(segment2:Segment)
-					for (final TrackElement element2 : segment1.getConnectsTo()) {
-						if (!RailwayPackage.eINSTANCE.getSegment().isInstance(element2)) {
-							continue;
-						}
-						final Segment segment2 = (Segment) element2;
-
-						// (segment2:Segment)-[:monitoredBy]->(sensor)
-						if (!segment2.getMonitoredBy().contains(sensor)) {
-							continue;
-						}
-
-						// (segment2)-[:connectsTo]->(segment3:Segment)
-						for (final TrackElement element3 : segment2.getConnectsTo()) {
-							if (!RailwayPackage.eINSTANCE.getSegment().isInstance(element3)) {
-								continue;
-							}
-							final Segment segment3 = (Segment) element3;
-
-							// (segment3:Segment)-[:monitoredBy]->(sensor)
-							if (!segment3.getMonitoredBy().contains(sensor)) {
-								continue;
-							}
-
-							// (segment3)-[:connectsTo]->(segment4:Segment)
-							for (final TrackElement element4 : segment3.getConnectsTo()) {
-								if (!RailwayPackage.eINSTANCE.getSegment().isInstance(element4)) {
-									continue;
-								}
-								final Segment segment4 = (Segment) element4;
-
-								// (segment4:Segment)-[:monitoredBy]->(sensor)
-								if (!segment4.getMonitoredBy().contains(sensor)) {
-									continue;
-								}
-
-								// (segment4)-[:connectsTo]->(segment5:Segment)
-								for (final TrackElement element5 : segment4.getConnectsTo()) {
-									if (!RailwayPackage.eINSTANCE.getSegment().isInstance(element5)) {
-										continue;
-									}
-									final Segment segment5 = (Segment) element5;
-
-									// (segment5:Segment)-[:monitoredBy]->(sensor)
-									if (!segment5.getMonitoredBy().contains(sensor)) {
-										continue;
-									}
-
-									// (segment5)-[:connectsTo]->(segment6:Segment)
-									for (final TrackElement element6 : segment5.getConnectsTo()) {
-										if (!RailwayPackage.eINSTANCE.getSegment().isInstance(element6)) {
-											continue;
-										}
-										final Segment segment6 = (Segment) element6;
-
-										// (segment6:Segment)-[:monitoredBy]->(sensor)
-										if (!segment6.getMonitoredBy().contains(sensor)) {
-											continue;
-										}
-
-										final EmfConnectedSegmentsMatch csm = new EmfConnectedSegmentsMatch(sensor, segment1, segment2,
-												segment3, segment4, segment5, segment6);
-										matches.add(csm);
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryPosLength.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryPosLength.java
deleted file mode 100644
index 4f8644d5717ea4b410cdc5cecf3f9bc08b65109e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryPosLength.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.RailwayPackage;
-import hu.bme.mit.trainbenchmark.railway.Region;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class EmfApiQueryPosLength<TDriver extends EmfDriver> extends EmfApiQuery<EmfPosLengthMatch, TDriver> {
-
-	public EmfApiQueryPosLength(final TDriver driver) {
-		super(RailwayQuery.POSLENGTH, driver);
-	}
-
-	@Override
-	public Collection<EmfPosLengthMatch> evaluate() {
-		final List<EmfPosLengthMatch> matches = new ArrayList<>();
-
-		final EList<Region> regions = driver.getContainer().getRegions();
-		for (final Region region : regions) {
-			for (final TrackElement element : region.getElements()) {
-
-				// (segment:Segment)
-				if (RailwayPackage.eINSTANCE.getSegment().isInstance(element)) {
-					final Segment segment = (Segment) element;
-
-					// segment.length <= 0
-					if (segment.getLength() <= 0) {
-						matches.add(new EmfPosLengthMatch(segment));
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryRouteSensor.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryRouteSensor.java
deleted file mode 100644
index c9ffc7afcb33ec56d83a02dd7a08f07825cb446e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQueryRouteSensor.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.SwitchPosition;
-
-public class EmfApiQueryRouteSensor<TDriver extends EmfDriver> extends EmfApiQuery<EmfRouteSensorMatch, TDriver> {
-
-	public EmfApiQueryRouteSensor(final TDriver driver) {
-		super(RailwayQuery.ROUTESENSOR, driver);
-	}
-
-	@Override
-	public Collection<EmfRouteSensorMatch> evaluate() {
-		final List<EmfRouteSensorMatch> matches = new ArrayList<>();
-
-		final EList<Route> routes = driver.getContainer().getRoutes();
-		// (route:Route)
-		for (final Route route : routes) {
-			// (route)-[:follows]->(swP:SwitchPosition)
-			for (final SwitchPosition swP : route.getFollows()) {
-				// (swP:switchPosition)-[:target]->(sw:Switch)
-				final Switch sw = swP.getTarget();
-				if (sw == null) {
-					continue;
-				}
-
-				// (switch:Switch)-[:monitoredBy]->(sensor:Sensor)
-				final List<Sensor> sensors = sw.getMonitoredBy();
-
-				// TODO check n-m edge
-				for (final Sensor sensor2 : sensors) {
-					// (route)-[:requires]->(sensor) NAC
-					if (!route.getRequires().contains(sensor2)) {
-						final EmfRouteSensorMatch match = new EmfRouteSensorMatch(route, sensor2, swP, sw);
-						matches.add(match);
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySemaphoreNeighbor.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySemaphoreNeighbor.java
deleted file mode 100644
index 45a6a6b01c07557bf33e52b53bfba4dabe938158..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySemaphoreNeighbor.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Semaphore;
-import hu.bme.mit.trainbenchmark.railway.Sensor;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class EmfApiQuerySemaphoreNeighbor<TDriver extends EmfDriver> extends EmfApiQuery<EmfSemaphoreNeighborMatch, TDriver> {
-
-	public EmfApiQuerySemaphoreNeighbor(final TDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR, driver);
-	}
-
-	@Override
-	public Collection<EmfSemaphoreNeighborMatch> evaluate() {
-		final List<EmfSemaphoreNeighborMatch> matches = new ArrayList<>();
-
-		final EList<Route> routes = driver.getContainer().getRoutes();
-		for (final Route route1 : routes) {
-			// (route1:Route)-[:exit]->(semaphore:Semaphore)
-			final Semaphore semaphore = route1.getExit();
-			if (semaphore == null) {
-				continue;
-			}
-
-			// (route1:Route)-[:requires]->(sensor1:Sensor)
-			for (final Sensor sensor1 : route1.getRequires()) {
-				// (sensor1:Sensor)<-[:monitoredBy]-(te1:TrackElement)
-				for (final TrackElement te1 : sensor1.getMonitors()) {
-					// (te1:TrackElement)-[:connectsTo]->(te2:TrackElement)
-					for (final TrackElement te2 : te1.getConnectsTo()) {
-						// (te2:TrackElement)<-[:monitoredBy]-(sensor2:Sensor)
-						for (final Sensor sensor2 : te2.getMonitoredBy()) {
-							// (route2:Route)-[:requires]->(sensor2:Sensor)
-							for (final Route route2 : routes) {
-								if (!route2.getRequires().contains(sensor2)) {
-									continue;
-								}
-								
-								// route1 != route2
-								if (route1.equals(route2)) {
-									continue;
-								}
-								
-								// (route2:Route)-[:entry]->(semaphore:Semaphore) NAC
-								if (!semaphore.equals(route2.getEntry())) {
-									matches.add(new EmfSemaphoreNeighborMatch(semaphore, route1, route2, sensor1, sensor2, te1, te2));
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySwitchMonitored.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySwitchMonitored.java
deleted file mode 100644
index 4a7125e24939a55450514c0bc9f47471749ed956..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySwitchMonitored.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.RailwayPackage;
-import hu.bme.mit.trainbenchmark.railway.Region;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class EmfApiQuerySwitchMonitored<TDriver extends EmfDriver> extends EmfApiQuery<EmfSwitchMonitoredMatch, TDriver> {
-
-	public EmfApiQuerySwitchMonitored(final TDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED, driver);
-	}
-
-	@Override
-	public Collection<EmfSwitchMonitoredMatch> evaluate() {
-		final List<EmfSwitchMonitoredMatch> matches = new ArrayList<>();
-
-		final EList<Region> regions = driver.getContainer().getRegions();
-		for (final Region region : regions) {
-			for (final TrackElement element : region.getElements()) {
-				if (!RailwayPackage.eINSTANCE.getSwitch().isInstance(element)) {
-					continue;
-				}
-
-				// (sw:Switch)
-				final Switch sw = (Switch) element;
-
-				// (sw)-[:monitoredBy]->() NAC
-				if (sw.getMonitoredBy().isEmpty()) {
-					matches.add(new EmfSwitchMonitoredMatch(sw));
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySwitchSet.java b/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySwitchSet.java
deleted file mode 100644
index daa9b8276c0ac4582dfdbd0f69855b7d7f1da7db..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/main/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/queries/EmfApiQuerySwitchSet.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.Route;
-import hu.bme.mit.trainbenchmark.railway.Semaphore;
-import hu.bme.mit.trainbenchmark.railway.Signal;
-import hu.bme.mit.trainbenchmark.railway.Switch;
-import hu.bme.mit.trainbenchmark.railway.SwitchPosition;
-
-public class EmfApiQuerySwitchSet<TDriver extends EmfDriver> extends EmfApiQuery<EmfSwitchSetMatch, TDriver> {
-
-	public EmfApiQuerySwitchSet(final TDriver driver) {
-		super(RailwayQuery.SWITCHSET, driver);
-	}
-
-	@Override
-	public Collection<EmfSwitchSetMatch> evaluate() {
-		final List<EmfSwitchSetMatch> matches = new ArrayList<>();
-
-		final EList<Route> routes = driver.getContainer().getRoutes();
-		for (final Route route : routes) {
-			if (!route.isActive()) {
-				continue;
-			}
-
-			// (route:Route)-[:entry]->(semaphore:Semaphore)
-			final Semaphore semaphore = route.getEntry();
-			if (semaphore == null) {
-				continue;
-			}
-			// semaphore.signal == GO
-			if (semaphore.getSignal() == Signal.GO) {
-				// (route:Route)-[:follows]->(swP:SwitchPosition)
-				for (final SwitchPosition switchPosition : route.getFollows()) {
-					// (swP:SwitchPosition)-[:target]->(sw:Switch)
-					final Switch sw = switchPosition.getTarget();
-					// sw.currentPosition != swP.position
-					if (sw.getCurrentPosition() != switchPosition.getPosition()) {
-						matches.add(new EmfSwitchSetMatch(semaphore, route, switchPosition, sw));
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-emfapi/src/main/resources/.gitignore b/trainbenchmark-tool-emfapi/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-emfapi/src/test/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/test/EmfApiTest.java b/trainbenchmark-tool-emfapi/src/test/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/test/EmfApiTest.java
deleted file mode 100644
index 84e75e74e9636ea9607c2364bb58599d1242288d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-emfapi/src/test/java/hu/bme/mit/trainbenchmark/benchmark/emfapi/test/EmfApiTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.emfapi.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.EmfApiBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.config.EmfApiBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.emfapi.config.EmfApiBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-public class EmfApiTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final EmfApiBenchmarkConfig bc = new EmfApiBenchmarkConfigBuilder().setConfigBase(bcb).createConfig();
-		final EmfApiBenchmarkScenario scenario = new EmfApiBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-epsilon/build.gradle b/trainbenchmark-tool-epsilon/build.gradle
deleted file mode 100644
index 1f0ca6c2c043c6e9436188104f7a6f1c254b15b9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/build.gradle
+++ /dev/null
@@ -1,11 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.epsilon.EpsilonBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool-emf')
-	compile group: 'org.eclipse.epsilon', name: 'epsilon-core', version:'1.4.0-SNAPSHOT'
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/EpsilonBenchmarkMain.java b/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/EpsilonBenchmarkMain.java
deleted file mode 100644
index 4b02f92b5d709d947630d0f73a81def53631525f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/EpsilonBenchmarkMain.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.epsilon;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.epsilon.config.EpsilonBenchmarkConfig;
-
-public class EpsilonBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final EpsilonBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], EpsilonBenchmarkConfig.class);
-		final EpsilonBenchmarkScenario scenario = new EpsilonBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/EpsilonBenchmarkScenario.java b/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/EpsilonBenchmarkScenario.java
deleted file mode 100644
index b3e576e8dcd3ffa555227816b19a8d9d31c9ae77..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/EpsilonBenchmarkScenario.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.epsilon;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.comparators.EmfMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.epsilon.config.EpsilonBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.epsilon.operations.EpsilonModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class EpsilonBenchmarkScenario
-		extends BenchmarkScenario<EmfMatch, EmfDriver, EpsilonBenchmarkConfig> {
-
-	public EpsilonBenchmarkScenario(final EpsilonBenchmarkConfig bc) throws Exception {
-		super(new EmfDriverFactory(), new EpsilonModelOperationFactory<EmfDriver>(), new EmfMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/config/EpsilonBenchmarkConfig.java b/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/config/EpsilonBenchmarkConfig.java
deleted file mode 100644
index 53a7db1d300dc0027ab9cd8865df4537258a152d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/config/EpsilonBenchmarkConfig.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.epsilon.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class EpsilonBenchmarkConfig extends BenchmarkConfig {
-
-	protected EpsilonBenchmarkConfig() {
-	}
-	
-	public EpsilonBenchmarkConfig(final BenchmarkConfigBase bcb) {
-		super(bcb);
-	}
-	
-	@Override
-	public String getToolName() {
-		return "Epsilon";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "epsilon";
-	}
-	
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/operations/EpsilonModelOperationFactory.java b/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/operations/EpsilonModelOperationFactory.java
deleted file mode 100644
index baa8595605ad8e6548805f276ed8d2c0b56af48f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/operations/EpsilonModelOperationFactory.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.epsilon.operations;
-
-import org.eclipse.epsilon.etl.EtlModule;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class EpsilonModelOperationFactory<TDriver extends EmfDriver> extends ModelOperationFactory<EmfMatch, TDriver> {
-
-	@Override
-	public ModelOperation<? extends EmfMatch, TDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir, final TDriver driver)
-			throws Exception {
-		final EtlModule etl = new EtlModule();
-
-		// switch (operationEnum) {
-		// // ConnectedSegments
-		// case CONNECTEDSEGMENTS: {
-		// final EpsilonQuery<EmfConnectedSegmentsMatch, TDriver> query = new EpsilonQueryConnectedSegments<>(driver);
-		// final ModelOperation<EmfConnectedSegmentsMatch, TDriver> operation = ModelOperation.of(query);
-		// return operation;
-		// }
-		// case CONNECTEDSEGMENTS_INJECT: {
-		// final EpsilonQuery<EmfConnectedSegmentsInjectMatch, TDriver> query = new
-		// EpsilonQueryConnectedSegmentsInject<>(driver);
-		// final EmfTransformation<EmfConnectedSegmentsInjectMatch, TDriver> transformation = new
-		// EmfTransformationInjectConnectedSegments<>(driver);
-		// final ModelOperation<EmfConnectedSegmentsInjectMatch, TDriver> operation = ModelOperation.of(query,
-		// transformation);
-		// return operation;
-		//
-		// }
-		// case CONNECTEDSEGMENTS_REPAIR: {
-		// final EpsilonQuery<EmfConnectedSegmentsMatch, TDriver> query = new EpsilonQueryConnectedSegments<>(driver);
-		// final EmfTransformation<EmfConnectedSegmentsMatch, TDriver> transformation = new
-		// EmfTransformationRepairConnectedSegments<>(driver);
-		// final ModelOperation<EmfConnectedSegmentsMatch, TDriver> operation = ModelOperation.of(query,
-		// transformation);
-		// return operation;
-		// }
-		//
-		// // PosLength
-		// case POSLENGTH: {
-		// final EpsilonQuery<EmfPosLengthMatch, TDriver> query = new EpsilonQueryPosLength<>(driver);
-		// final ModelOperation<EmfPosLengthMatch, TDriver> operation = ModelOperation.of(query);
-		// return operation;
-		// }
-		// case POSLENGTH_INJECT: {
-		// final EpsilonQuery<EmfPosLengthInjectMatch, TDriver> query = new EpsilonQueryPosLengthInject<>(driver);
-		// final EmfTransformation<EmfPosLengthInjectMatch, TDriver> transformation = new
-		// EmfTransformationInjectPosLength<>(driver);
-		// final ModelOperation<EmfPosLengthInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-		// return operation;
-		// }
-		// case POSLENGTH_REPAIR: {
-		// final EpsilonQuery<EmfPosLengthMatch, TDriver> query = new EpsilonQueryPosLength<>(driver);
-		// final EmfTransformation<EmfPosLengthMatch, TDriver> transformation = new
-		// EmfTransformationRepairPosLength<>(driver);
-		// final ModelOperation<EmfPosLengthMatch, TDriver> operation = ModelOperation.of(query, transformation);
-		// return operation;
-		// }
-		//
-		// // RouteSensor
-		// case ROUTESENSOR: {
-		// final EpsilonQuery<EmfRouteSensorMatch, TDriver> query = new EpsilonQueryRouteSensor<>(driver);
-		// final ModelOperation<EmfRouteSensorMatch, TDriver> operation = ModelOperation.of(query);
-		// return operation;
-		// }
-		// case ROUTESENSOR_INJECT: {
-		// final EpsilonQuery<EmfRouteSensorInjectMatch, TDriver> query = new EpsilonQueryRouteSensorInject<>(driver);
-		// final EmfTransformation<EmfRouteSensorInjectMatch, TDriver> transformation = new
-		// EmfTransformationInjectRouteSensor<>(driver);
-		// final ModelOperation<EmfRouteSensorInjectMatch, TDriver> operation = ModelOperation.of(query,
-		// transformation);
-		// return operation;
-		// }
-		// case ROUTESENSOR_REPAIR: {
-		// final EpsilonQuery<EmfRouteSensorMatch, TDriver> query = new EpsilonQueryRouteSensor<>(driver);
-		// final EmfTransformation<EmfRouteSensorMatch, TDriver> transformation = new
-		// EmfTransformationRepairRouteSensor<>(driver);
-		// final ModelOperation<EmfRouteSensorMatch, TDriver> operation = ModelOperation.of(query, transformation);
-		// return operation;
-		// }
-		//
-		// // SemaphoreNeighbor
-		// case SEMAPHORENEIGHBOR: {
-		// final EpsilonQuery<EmfSemaphoreNeighborMatch, TDriver> query = new EpsilonQuerySemaphoreNeighbor<>(driver);
-		// final ModelOperation<EmfSemaphoreNeighborMatch, TDriver> operation = ModelOperation.of(query);
-		// return operation;
-		// }
-		// case SEMAPHORENEIGHBOR_INJECT: {
-		// final EpsilonQuery<EmfSemaphoreNeighborInjectMatch, TDriver> query = new
-		// EpsilonQuerySemaphoreNeighborInject<>(driver);
-		// final EmfTransformation<EmfSemaphoreNeighborInjectMatch, TDriver> transformation = new
-		// EmfTransformationInjectSemaphoreNeighbor<>(driver);
-		// final ModelOperation<EmfSemaphoreNeighborInjectMatch, TDriver> operation = ModelOperation.of(query,
-		// transformation);
-		// return operation;
-		// }
-		// case SEMAPHORENEIGHBOR_REPAIR: {
-		// final EpsilonQuery<EmfSemaphoreNeighborMatch, TDriver> query = new EpsilonQuerySemaphoreNeighbor<>(driver);
-		// final EmfTransformation<EmfSemaphoreNeighborMatch, TDriver> transformation = new
-		// EmfTransformationRepairSemaphoreNeighbor<>(driver);
-		// final ModelOperation<EmfSemaphoreNeighborMatch, TDriver> operation = ModelOperation.of(query,
-		// transformation);
-		// return operation;
-		// }
-		//
-		// // SwitchMonitored
-		// case SWITCHMONITORED: {
-		// final EpsilonQuery<EmfSwitchMonitoredMatch, TDriver> query = new EpsilonQuerySwitchMonitored<>(driver);
-		// final ModelOperation<EmfSwitchMonitoredMatch, TDriver> operation = ModelOperation.of(query);
-		// return operation;
-		// }
-		// case SWITCHMONITORED_INJECT: {
-		// final EpsilonQuery<EmfSwitchMonitoredInjectMatch, TDriver> query = new
-		// EpsilonQuerySwitchMonitoredInject<>(driver);
-		// final EmfTransformation<EmfSwitchMonitoredInjectMatch, TDriver> transformation = new
-		// EmfTransformationInjectSwitchMonitored<>(driver);
-		// final ModelOperation<EmfSwitchMonitoredInjectMatch, TDriver> operation = ModelOperation.of(query,
-		// transformation);
-		// return operation;
-		// }
-		// case SWITCHMONITORED_REPAIR: {
-		// final EpsilonQuery<EmfSwitchMonitoredMatch, TDriver> query = new EpsilonQuerySwitchMonitored<>(driver);
-		// final EmfTransformation<EmfSwitchMonitoredMatch, TDriver> transformation = new
-		// EmfTransformationRepairSwitchMonitored<>(driver);
-		// final ModelOperation<EmfSwitchMonitoredMatch, TDriver> operation = ModelOperation.of(query, transformation);
-		// return operation;
-		// }
-		//
-		// // SwitchSet
-		// case SWITCHSET: {
-		// final EpsilonQuery<EmfSwitchSetMatch, TDriver> query = new EpsilonQuerySwitchSet<>(driver);
-		// final ModelOperation<EmfSwitchSetMatch, TDriver> operation = ModelOperation.of(query);
-		// return operation;
-		// }
-		// case SWITCHSET_INJECT: {
-		// final EpsilonQuery<EmfSwitchSetInjectMatch, TDriver> query = new EpsilonQuerySwitchSetInject<>(driver);
-		// final EmfTransformation<EmfSwitchSetInjectMatch, TDriver> transformation = new
-		// EmfTransformationInjectSwitchSet<>(driver);
-		// final ModelOperation<EmfSwitchSetInjectMatch, TDriver> operation = ModelOperation.of(query, transformation);
-		// return operation;
-		// }
-		// case SWITCHSET_REPAIR: {
-		// final EpsilonQuery<EmfSwitchSetMatch, TDriver> query = new EpsilonQuerySwitchSet<>(driver);
-		// final EmfTransformation<EmfSwitchSetMatch, TDriver> transformation = new
-		// EmfTransformationRepairSwitchSet<>(driver);
-		// final ModelOperation<EmfSwitchSetMatch, TDriver> operation = ModelOperation.of(query, transformation);
-		// return operation;
-		// }
-		// default:
-		// break;
-		// }
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/queries/EpsilonQuery.java b/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/queries/EpsilonQuery.java
deleted file mode 100644
index 1cc6d88cb6d96079d7f96a06437fac232f4eb4c5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/queries/EpsilonQuery.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.epsilon.queries;
-
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class EpsilonQuery<TMatch extends EmfMatch> extends ModelQuery<TMatch, EmfDriver> {
-
-	public EpsilonQuery(RailwayQuery query, EmfDriver driver) {
-		super(query, driver);
-	}
-
-	@Override
-	public Collection<TMatch> evaluate() throws Exception {
-		return null;
-	}
-
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/queries/EpsilonQueryPosLength.java b/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/queries/EpsilonQueryPosLength.java
deleted file mode 100644
index 3b0292b4640feff8f14e198956c5c52b4ee8ef9b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/main/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/queries/EpsilonQueryPosLength.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.epsilon.queries;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-
-import hu.bme.mit.trainbenchmark.benchmark.emf.driver.EmfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.emf.matches.EmfPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.emf.transformation.query.EmfApiQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.railway.RailwayPackage;
-import hu.bme.mit.trainbenchmark.railway.Region;
-import hu.bme.mit.trainbenchmark.railway.Segment;
-import hu.bme.mit.trainbenchmark.railway.TrackElement;
-
-public class EpsilonQueryPosLength<TDriver extends EmfDriver> extends EmfApiQuery<EmfPosLengthMatch, TDriver> {
-
-	public EpsilonQueryPosLength(final TDriver driver) {
-		super(RailwayQuery.POSLENGTH, driver);
-	}
-
-	@Override
-	public Collection<EmfPosLengthMatch> evaluate() {
-		final List<EmfPosLengthMatch> matches = new ArrayList<>();
-
-		final EList<Region> regions = driver.getContainer().getRegions();
-		for (final Region region : regions) {
-			for (final TrackElement element : region.getElements()) {
-
-				// (segment:Segment)
-				if (RailwayPackage.eINSTANCE.getSegment().isInstance(element)) {
-					final Segment segment = (Segment) element;
-
-					// segment.length <= 0
-					if (segment.getLength() <= 0) {
-						matches.add(new EmfPosLengthMatch(segment));
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-epsilon/src/main/resources/.gitignore b/trainbenchmark-tool-epsilon/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-epsilon/src/test/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/test/EpsilonTest.java b/trainbenchmark-tool-epsilon/src/test/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/test/EpsilonTest.java
deleted file mode 100644
index 7d0e1651e7350f9b0669defff91150ec1c5f1c48..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-epsilon/src/test/java/hu/bme/mit/trainbenchmark/benchmark/epsilon/test/EpsilonTest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.epsilon.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.epsilon.EpsilonBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.epsilon.config.EpsilonBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-public class EpsilonTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(BenchmarkConfigBase bcb) throws Exception {
-		final EpsilonBenchmarkConfig bc = new EpsilonBenchmarkConfig(bcb);
-		final EpsilonBenchmarkScenario scenario = new EpsilonBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/build.gradle b/trainbenchmark-tool-ingraph-query-plans/build.gradle
deleted file mode 100644
index 0cd3b92457718e5709f95bf48e2df17c0503ee1e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/build.gradle
+++ /dev/null
@@ -1,25 +0,0 @@
-apply plugin: 'org.xtext.xtend'
-apply from: "${rootDir}/gradle/source-layout-xtext.gradle"
-apply plugin: 'eclipse'
-apply plugin: 'idea'
-
-buildscript {
-	repositories {
-		jcenter()
-		maven { url "https://plugins.gradle.org/m2/" }
-	}
-	dependencies { classpath 'org.xtext:xtext-gradle-plugin:1.0.12' }
-}
-
-ext {
-	xtendVersion = '2.10.0'
-}
-
-dependencies {
-	compile group: 'ingraph', name: 'ingraph-optimization-transformations', version: ingraphVersion
-	compile group: 'ingraph', name: 'ingraph-cypher2relalg', version: ingraphVersion
-	compile group: 'ingraph', name: 'ingraph-relalg2tex', version: ingraphVersion
-	compile group: 'org.eclipse.xtend', name: 'org.eclipse.xtend.lib', version: xtendVersion
-	compile group: 'org.eclipse.xtext', name: 'org.eclipse.xtext.xbase.lib', version: xtendVersion
-	compile group: 'junit', name: 'junit', version: junitVersion
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/QueryPlanFactory.xtend b/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/QueryPlanFactory.xtend
deleted file mode 100644
index edd66a3263b797e0897b04dae334f97c16320730..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/QueryPlanFactory.xtend
+++ /dev/null
@@ -1,14 +0,0 @@
-package ingraph.trainbenchmark
-
-import ingraph.relalg.util.SchemaInferencer
-import relalg.RelalgFactory
-
-/**
- * Query plan factory for generating query plans used in our Periodica Polytechnica submission.
- */
-class QueryPlanFactory {
-
-	protected val extension RelalgFactory factory = RelalgFactory.eINSTANCE
-	protected val extension SchemaInferencer schemaInferencer = new SchemaInferencer
-
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/RouteSensorQueryPlanFactory.xtend b/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/RouteSensorQueryPlanFactory.xtend
deleted file mode 100644
index a9a26ad5f290162570faa9a30d32c5f593703e6a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/RouteSensorQueryPlanFactory.xtend
+++ /dev/null
@@ -1,178 +0,0 @@
-package ingraph.trainbenchmark
-
-import relalg.Direction
-
-class RouteSensorQueryPlanFactory extends QueryPlanFactory {
-
-	// container
-	val routeSensor = createRelalgContainer
-
-	// vertex labels
-	val routeLabel = createVertexLabel => [name = "Route"]
-	val sensorLabel = createVertexLabel => [name = "Sensor"]
-	val switchLabel = createVertexLabel => [name = "Switch"]
-	val switchPositionLabel = createVertexLabel => [name = "SwitchPosition"]
-
-	// edge labels
-	val followsLabel = createEdgeLabel => [name = "follows"]
-	val requiresLabel = createEdgeLabel => [name = "requires"]
-	val monitoredByLabel = createEdgeLabel => [name = "monitoredBy"]
-	val targetLabel = createEdgeLabel => [name = "target"]
-
-	// vertex variables
-	val route = createVertexVariable => [name = "route"; vertexLabels.add(routeLabel)]
-	val sw = createVertexVariable => [name = "sw"; vertexLabels.add(switchLabel)]
-	val swP = createVertexVariable => [name = "swP"; vertexLabels.add(switchPositionLabel)]
-	val sensor = createVertexVariable => [name = "sensor"; vertexLabels.add(sensorLabel)]
-
-	// edge variables
-	val target = createEdgeVariable => [name = "_e1"; edgeLabels.add(targetLabel)]
-	val monitoredBy = createEdgeVariable => [name = "_e2"; edgeLabels.add(monitoredByLabel)]
-	val follows = createEdgeVariable => [name = "_e3"; edgeLabels.add(followsLabel)]
-	val requires = createEdgeVariable => [name = "_e4"; edgeLabels.add(requiresLabel)]
-
-	// inputs
-	val getRoutes = createGetVerticesOperator => [vertexVariable = route]
-	val getRoutesA = createGetVerticesOperator => [vertexVariable = route]
-	val getRoutesB = createGetVerticesOperator => [vertexVariable = route]
-	val getSws = createGetVerticesOperator => [vertexVariable = sw]
-	val getSwPs = createGetVerticesOperator => [vertexVariable = swP]
-
-	def routeSensorA() {
-		routeSensor.name = "RouteSensorA"
-		val expand1 = createExpandOperator => [
-			input = getRoutesA
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = swP
-			edgeVariable = follows
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = swP
-			targetVertexVariable = sw
-			edgeVariable = target
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.OUT
-			sourceVertexVariable = sw
-			targetVertexVariable = sensor
-			edgeVariable = monitoredBy
-		]
-		val expand4 = createExpandOperator => [
-			input = getRoutesB
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = sensor
-			edgeVariable = requires
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = expand3
-			rightInput = expand4
-		]
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-
-		routeSensor.rootExpression = production
-		return routeSensor
-	}
-
-	def routeSensorB() {
-		routeSensor.name = "RouteSensorB"
-		val expand1 = createExpandOperator => [
-			input = getSwPs
-			direction = Direction.OUT
-			sourceVertexVariable = swP
-			targetVertexVariable = sw
-			edgeVariable = target
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = sw
-			targetVertexVariable = sensor
-			edgeVariable = monitoredBy
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.IN
-			sourceVertexVariable = swP
-			targetVertexVariable = route
-			edgeVariable = follows
-		]
-		val expand4 = createExpandOperator => [
-			input = getRoutes
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = sensor
-			edgeVariable = requires
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = expand3
-			rightInput = expand4
-		]
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-
-		routeSensor.rootExpression = production
-		return routeSensor
-	}
-
-	def routeSensorC() {
-		routeSensor.name = "RouteSensorC"
-		val expand1 = createExpandOperator => [
-			input = getRoutesA
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = swP
-			edgeVariable = follows
-		]
-		val expand2 = createExpandOperator => [
-			input = getSws
-			direction = Direction.OUT
-			sourceVertexVariable = sw
-			targetVertexVariable = sensor
-			edgeVariable = monitoredBy
-		]
-		val expand3 = createExpandOperator => [
-			input = getRoutesB
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = sensor
-			edgeVariable = requires
-		]
-		val expand4 = createExpandOperator => [
-			input = getSwPs
-			direction = Direction.OUT
-			sourceVertexVariable = swP
-			targetVertexVariable = sw
-			edgeVariable = target
-		]
-
-		val join1 = createJoinOperator => [
-			leftInput = expand1
-			rightInput = expand2
-		]
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = join1
-			rightInput = expand3
-		]
-		val join2 = createJoinOperator => [
-			leftInput = antiJoin
-			rightInput = expand4
-		]
-		val production = createProductionOperator => [
-			input = join2
-		]
-
-		routeSensor.rootExpression = production
-		return routeSensor
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/SemaphoreNeighborQueryPlanFactory.xtend b/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/SemaphoreNeighborQueryPlanFactory.xtend
deleted file mode 100644
index 560cd8232566bbc6b62fdec6e6ff5b79db3599c3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/SemaphoreNeighborQueryPlanFactory.xtend
+++ /dev/null
@@ -1,638 +0,0 @@
-package ingraph.trainbenchmark
-
-import relalg.ArithmeticComparisonOperator
-import relalg.Direction
-
-class SemaphoreNeighborQueryPlanFactory extends QueryPlanFactory {
-
-	// container
-	val semaphoreNeighbor = createRelalgContainer
-
-	// vertex labels
-	val routeLabel = createVertexLabel => [name = "Route"]
-	val semaphoreLabel = createVertexLabel => [name = "Semaphore"]
-	val sensorLabel = createVertexLabel => [name = "Sensor"]
-	val teLabel = createVertexLabel => [name = "TrackElement"]
-
-	// edge labels
-	val connectsToLabel = createEdgeLabel => [name = "connectsTo"]
-	val entryLabel = createEdgeLabel => [name = "entry"]
-	val exitLabel = createEdgeLabel => [name = "exit"]
-	val requiresLabel = createEdgeLabel => [name = "requires"]
-	val monitoredByLabel = createEdgeLabel => [name = "monitoredBy"]
-
-	// vertex variables
-	val route1 = createVertexVariable => [name = "route1"; vertexLabels.add(routeLabel)]
-	val route2 = createVertexVariable => [name = "route2"; vertexLabels.add(routeLabel)]
-	val semaphore = createVertexVariable => [
-		name = "semaphore"
-		vertexLabels.add(semaphoreLabel)
-		container = semaphoreNeighbor
-	]
-	val sensor1 = createVertexVariable => [
-		name = "sensor1"
-		vertexLabels.add(sensorLabel)
-		container = semaphoreNeighbor
-	]
-	val sensor2 = createVertexVariable => [
-		name = "sensor2"
-		vertexLabels.add(sensorLabel)
-		container = semaphoreNeighbor
-	]
-	val te1 = createVertexVariable => [name = "te1"; vertexLabels.add(teLabel)]
-	val te2 = createVertexVariable => [name = "te2"; vertexLabels.add(teLabel)]
-
-	// edge variables
-	val requires1 = createEdgeVariable => [name = "g1"; edgeLabels.add(requiresLabel)]
-	val requires2 = createEdgeVariable => [name = "g2"; edgeLabels.add(requiresLabel)]
-	val monitoredBy1 = createEdgeVariable => [
-		name = "mb1"
-		edgeLabels.add(monitoredByLabel)
-		container = semaphoreNeighbor
-	]
-	val monitoredBy2 = createEdgeVariable => [
-		name = "mb2"
-		edgeLabels.add(monitoredByLabel)
-		container = semaphoreNeighbor
-	]
-	val connectsTo = createEdgeVariable => [name = "ct"; edgeLabels.add(connectsToLabel)]
-	val entry = createEdgeVariable => [name = "entry"; edgeLabels.add(entryLabel)]
-	val exit = createEdgeVariable => [name = "exit"; edgeLabels.add(exitLabel)]
-
-	// inputs
-	val route1s = createGetVerticesOperator => [vertexVariable = route1]
-	val route1sA = createGetVerticesOperator => [vertexVariable = route1]
-	val route1sB = createGetVerticesOperator => [vertexVariable = route1]
-	val route2sA = createGetVerticesOperator => [vertexVariable = route2]
-	val route2sB = createGetVerticesOperator => [vertexVariable = route2]
-	val route2sC = createGetVerticesOperator => [vertexVariable = route2]
-	val te1s = createGetVerticesOperator => [vertexVariable = te1]
-	val te1sA = createGetVerticesOperator => [vertexVariable = te1]
-	val te1sB = createGetVerticesOperator => [vertexVariable = te1]
-	val te2s = createGetVerticesOperator => [vertexVariable = te2]
-
-	// conditions
-	val filterCondition = createArithmeticComparisonExpression => [
-		operator = ArithmeticComparisonOperator.NOT_EQUAL_TO
-		leftOperand = route1
-		rightOperand = route2
-	]
-	
-	// //////////////////////////////////////////////////////////////////////////////////////////////////
-	def semaphoreNeighborA() {
-		semaphoreNeighbor.name = "SemaphoreNeighborA"
-		// (sensor1:Sensor)<-[:MONITORED_BY]-(te1:TrackElement)-[:CONNECTS_TO]->(te2:TrackElement)-[:MONITORED_BY]->(sensor2:Sensor)
-		val expand1 = createExpandOperator => [
-			input = te1s
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = connectsTo
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = sensor1
-			edgeVariable = monitoredBy1
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = monitoredBy2
-		]
-
-		val expand4 = createExpandOperator => [
-			input = route1s
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = semaphore
-			edgeVariable = exit
-		]
-		val expand5 = createExpandOperator => [
-			input = expand4
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = sensor1
-			edgeVariable = requires1
-		]
-
-		val expand6 = createExpandOperator => [
-			input = route2sA
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = sensor2
-			edgeVariable = requires2
-		]
-
-		val expand7 = createExpandOperator => [
-			input = route2sB
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = semaphore
-			edgeVariable = entry
-		]
-
-		val join1 = createJoinOperator => [
-			leftInput = expand3
-			rightInput = expand5
-		]
-		val join2 = createJoinOperator => [
-			leftInput = join1
-			rightInput = expand6
-		]
-
-		val filter = createSelectionOperator => [
-			input = join2
-			condition = filterCondition
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = filter
-			rightInput = expand7
-		]
-
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-		semaphoreNeighbor.rootExpression = production
-		return semaphoreNeighbor
-	}
-
-	// //////////////////////////////////////////////////////////////////////////////////////////////////
-	def semaphoreNeighborB() {
-		semaphoreNeighbor.name = "SemaphoreNeighborB"
-		// (te1:TrackElement)-[:CONNECTS_TO]->(te2:TrackElement)
-		val expand1 = createExpandOperator => [
-			input = te1sA
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = connectsTo
-		]
-
-		// (te1:TrackElement)-[:MONITORED_BY]->(sensor1:Sensor)<-[:REQUIRES]-(route1:Route)
-		val expand2 = createExpandOperator => [
-			input = te1sB
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = sensor1
-			edgeVariable = monitoredBy1
-		]
-		val expand3 = createExpandOperator => [
-			input = route1sA
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = sensor1
-			edgeVariable = requires1
-		]
-		val join1 = createJoinOperator => [
-			leftInput = expand2
-			rightInput = expand3
-		]
-
-		// (te2:TrackElement)-[:MONITORED_BY]->(sensor2:Sensor)<-[:REQUIRES]-(route2:Route)
-		val expand4 = createExpandOperator => [
-			input = te2s
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = monitoredBy2
-		]
-		val expand5 = createExpandOperator => [
-			input = route2sA
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = sensor2
-			edgeVariable = requires2
-		]
-		val join2 = createJoinOperator => [
-			leftInput = expand4
-			rightInput = expand5
-		]
-
-		// (route2:Route)-[:REQUIRES]->(sensor2:Sensor)<-[:MONITORED_BY]-(te1:TrackElement)
-		// -[:CONNECTS_TO]->
-		// (te2:TrackElement)-[:MONITORED_BY]->(sensor2:Sensor)<-[:REQUIRES]-(route2:Route)
-		val join3 = createJoinOperator => [leftInput = expand1 rightInput = join1]
-
-		// (route1:Route)-[:EXIT]->(semaphore:Semaphore)
-		val expand6 = createExpandOperator => [
-			input = route1sB
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = semaphore
-			edgeVariable = exit
-		]
-
-		// (route2:Route)-[:EXIT]->(semaphore:Semaphore)
-		val expand7 = createExpandOperator => [
-			input = route2sB
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = semaphore
-			edgeVariable = entry
-		]
-
-		val join4 = createJoinOperator => [
-			leftInput = join3
-			rightInput = join2
-		]
-
-		val filter = createSelectionOperator => [
-			input = join4
-			condition = filterCondition
-		]
-
-		val join5 = createJoinOperator => [
-			leftInput = filter
-			rightInput = expand6
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = join5
-			rightInput = expand7
-		]
-
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-		semaphoreNeighbor.rootExpression = production
-		return semaphoreNeighbor
-	}
-
-	// //////////////////////////////////////////////////////////////////////////////////////////////////
-	def semaphoreNeighborC() {
-		semaphoreNeighbor.name = "SemaphoreNeighborC"
-		// (sensor1:Sensor)<-[:MONITORED_BY]-(te1:TrackElement)-[:CONNECTS_TO]->(te2:TrackElement)-[:MONITORED_BY]->(sensor2:Sensors)
-		val expand1 = createExpandOperator => [
-			input = te1s
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = connectsTo
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = sensor1
-			edgeVariable = monitoredBy1
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = monitoredBy2
-		]
-
-		// (semaphore:Semaphore)<-[:EXIT]-(route1:Route)-[:REQUIRES]->(sensor1:Sensor)
-		val expand4 = createExpandOperator => [
-			input = route1s
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = sensor1
-			edgeVariable = requires1
-		]
-		val expand5 = createExpandOperator => [
-			input = expand4
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = semaphore
-			edgeVariable = exit
-		]
-
-		val join1 = createJoinOperator => [
-			leftInput = expand3
-			rightInput = expand5
-		]
-
-		// (route2:Route)-[:REQUIRES]->(sensor2:Sensor)
-		val expand6 = createExpandOperator => [
-			input = route2sA
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = sensor2
-			edgeVariable = requires2
-		]
-
-		val join2 = createJoinOperator => [
-			leftInput = join1
-			rightInput = expand6
-		]
-
-		// (route2:Route)-[:EXIT]->(semaphore:Semaphore)
-		val expand7 = createExpandOperator => [
-			input = route2sB
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = semaphore
-			edgeVariable = entry
-		]
-
-		val filter = createSelectionOperator => [
-			input = join2
-			condition = filterCondition
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = filter
-			rightInput = expand7
-		]
-
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-		semaphoreNeighbor.rootExpression = production
-		return semaphoreNeighbor
-	}
-
-	// //////////////////////////////////////////////////////////////////////////////////////////////////
-	def semaphoreNeighborD() {
-		semaphoreNeighbor.name = "SemaphoreNeighborD"
-		// (te1:TrackElement)-[:CONNECTS_TO]->(te2:TrackElement)
-		val expand1 = createExpandOperator => [
-			input = te1s
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = connectsTo
-		]
-
-		// (semaphore:Semaphore)<-[:EXIT]-(route1:Route)-[:REQUIRES]->(sensor1:Sensor)<-[:MONITORED_BY]-(te1:TrackElement)
-		val expand2 = createExpandOperator => [
-			input = route1s
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = semaphore
-			edgeVariable = exit
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = sensor1
-			edgeVariable = requires1
-		]
-		val expand4 = createExpandOperator => [
-			input = expand3
-			direction = Direction.IN
-			sourceVertexVariable = sensor1
-			targetVertexVariable = te1
-			edgeVariable = monitoredBy1
-		]
-
-		// (semaphore:Semaphore)<-[:EXIT]-(route1:Route)-[:REQUIRES]->(sensor1:Sensor)
-		val expand5 = createExpandOperator => [
-			input = te2s
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = monitoredBy2
-		]
-
-		// (route2:Route)-[:REQUIRES]->(sensor2:Sensor)
-		val expand6 = createExpandOperator => [
-			input = route2sA
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = sensor2
-			edgeVariable = requires2
-		]
-
-		val join1 = createJoinOperator => [
-			leftInput = expand1
-			rightInput = expand4
-		]
-
-		val join2 = createJoinOperator => [
-			leftInput = join1
-			rightInput = expand5
-		]
-
-		val join3 = createJoinOperator => [
-			leftInput = join2
-			rightInput = expand6
-		]
-
-		val filter = createSelectionOperator => [
-			input = join3
-			condition = filterCondition
-		]
-
-		// (route2:Route)-[:EXIT]->(semaphore:Semaphore)
-		val expand7 = createExpandOperator => [
-			input = route2sB
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = semaphore
-			edgeVariable = entry
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = filter
-			rightInput = expand7
-		]
-
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-		semaphoreNeighbor.rootExpression = production
-		return semaphoreNeighbor
-	}
-
-	// //////////////////////////////////////////////////////////////////////////////////////////////////
-	def semaphoreNeighborE() {
-		semaphoreNeighbor.name = "SemaphoreNeighborE"
-		// (route1:Route)-[:EXIT]->(semaphore:Semaphore)
-		val expand1 = createExpandOperator => [
-			input = route1sA
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = semaphore
-			edgeVariable = exit
-		]
-
-		// (route1:Route)-[:REQUIRES]->(sensor1:Sensor)
-		val expand2 = createExpandOperator => [
-			input = route2sA
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = sensor2
-			edgeVariable = requires2
-		]
-
-		val join1 = createJoinOperator => [
-			leftInput = expand1
-			rightInput = expand2
-		]
-
-		val filter = createSelectionOperator => [
-			input = join1
-			condition = filterCondition
-		]
-
-		// (route2:Route)-[:ENTRY]->(semaphore:Semaphore)
-		val expand3 = createExpandOperator => [
-			input = route2sB
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = semaphore
-			edgeVariable = entry
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = filter
-			rightInput = expand3
-		]
-
-		val expand4 = createExpandOperator => [
-			input = route1sB
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = sensor1
-			edgeVariable = requires1
-		]
-
-		val join2 = createJoinOperator => [
-			leftInput = antiJoin
-			rightInput = expand4
-		]
-
-		// (te1:TrackElement)-[:MONITORED_BY]->(sensor1:Sensor)
-		val expand5 = createExpandOperator => [
-			input = te1sA
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = sensor1
-			edgeVariable = monitoredBy1
-		]
-
-		val join3 = createJoinOperator => [
-			leftInput = join2
-			rightInput = expand5
-		]
-
-		// (te1:TrackElement)-[:CONNECTS_TO]->(te2:TrackElement)
-		val expand6 = createExpandOperator => [
-			input = te1sB
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = connectsTo
-		]
-
-		val join4 = createJoinOperator => [
-			leftInput = join3
-			rightInput = expand6
-		]
-
-		// (te2:TrackElement)-[:MONITORED_BY]->(sensor2:Sensor)
-		val expand7 = createExpandOperator => [
-			input = route2sC
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = monitoredBy2
-		]
-
-		val join5 = createJoinOperator => [
-			leftInput = join4
-			rightInput = expand7
-		]
-
-		val production = createProductionOperator => [
-			input = join5
-		]
-		semaphoreNeighbor.rootExpression = production
-		return semaphoreNeighbor
-	}
-
-	// //////////////////////////////////////////////////////////////////////////////////////////////////
-	def semaphoreNeighborF() {
-		semaphoreNeighbor.name = "SemaphoreNeighborF"
-		val expand1 = createExpandOperator => [
-			input = te1sA
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = sensor1
-			edgeVariable = monitoredBy1
-		]
-		val expand2 = createExpandOperator => [
-			input = te2s
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = monitoredBy2
-		]
-
-		val join1 = createJoinOperator => [
-			leftInput = expand1
-			rightInput = expand2
-		]
-
-		val expand3 = createExpandOperator => [
-			input = join1
-			direction = Direction.IN
-			sourceVertexVariable = sensor1
-			targetVertexVariable = route1
-			edgeVariable = requires1
-		]
-		val expand4 = createExpandOperator => [
-			input = expand3
-			direction = Direction.IN
-			sourceVertexVariable = sensor2
-			targetVertexVariable = route2
-			edgeVariable = requires2
-		]
-
-		val filter = createSelectionOperator => [
-			input = expand4
-			condition = filterCondition
-		]
-
-		val expand5 = createExpandOperator => [
-			input = filter
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = semaphore
-			edgeVariable = exit
-		]
-
-		val expand6 = createExpandOperator => [
-			input = te1sB
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = connectsTo
-		]
-
-		val join2 = createJoinOperator => [
-			leftInput = expand5
-			rightInput = expand6
-		]
-
-		val expand7 = createExpandOperator => [
-			input = route2sA
-			direction = Direction.OUT
-			sourceVertexVariable = route2
-			targetVertexVariable = semaphore
-			edgeVariable = entry
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = join2
-			rightInput = expand7
-		]
-
-		val production = createProductionOperator => [
-			input = antiJoin
-		]
-		semaphoreNeighbor.rootExpression = production
-		return semaphoreNeighbor
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/TrainBenchmarkUtil.xtend b/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/TrainBenchmarkUtil.xtend
deleted file mode 100644
index cbc2fa95d0afe83467b767a291f5c86bdf34f12f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/main/java/ingraph/trainbenchmark/TrainBenchmarkUtil.xtend
+++ /dev/null
@@ -1,466 +0,0 @@
-package ingraph.trainbenchmark
-
-import java.util.Arrays
-import relalg.ArithmeticComparisonOperator
-import relalg.Direction
-import relalg.RelalgFactory
-
-class TrainBenchmarkUtil {
-
-	static val extension RelalgFactory factory = RelalgFactory.eINSTANCE
-
-	def static posLength() {
-		val posLength = createRelalgContainer
-
-		val segmentLabel = createVertexLabel => [name = "Segment"]
-		val segment = createVertexVariable => [
-			name = "segment"
-			vertexLabels.add(segmentLabel)
-		]
-		val length = createAttributeVariable => [name = "length"; element = segment]
-
-		val getVertices = createGetVerticesOperator => [vertexVariable = segment]
-
-		val integerLiteral0 = createIntegerLiteral => [value = 0]
-		val condition = createArithmeticComparisonExpression => [
-			leftOperand = length
-			rightOperand = integerLiteral0
-			operator = ArithmeticComparisonOperator.LESS_THAN_OR_EQUAL
-		]
-		val filter1 = createSelectionOperator => [
-			input = getVertices
-			conditionString = "segment.length <= 0"
-			it.condition = condition
-		]
-		val projection = createProjectionOperator => [
-			input = filter1
-			variables.addAll(#[segment, length])
-		]
-		val de = createDuplicateEliminationOperator => [input = projection]
-		val production = createProductionOperator => [input = de]
-		posLength.rootExpression = production
-		posLength
-	}
-
-	def static routeSensor() {
-		val routeSensor = createRelalgContainer
-
-		val routeLabel = createVertexLabel => [name = "Route"]
-		val sensorLabel = createVertexLabel => [name = "Sensor"]
-		val switchLabel = createVertexLabel => [name = "Switch"]
-		val switchPositionLabel = createVertexLabel => [name = "SwitchPosition"]
-
-		val followsLabel = createEdgeLabel => [name = "follows"]
-		val requiresLabel = createEdgeLabel => [name = "requires"]
-		val monitoredByLabel = createEdgeLabel => [name = "monitoredBy"]
-		val targetLabel = createEdgeLabel => [name = "target"]
-
-		val route = createVertexVariable => [name = "route"; vertexLabels.add(routeLabel)]
-		val sw = createVertexVariable => [name = "sw"; vertexLabels.add(switchLabel)]
-		val swP = createVertexVariable => [name = "swP"; vertexLabels.add(switchPositionLabel)]
-		val sensor = createVertexVariable => [name = "sensor"; vertexLabels.add(sensorLabel)]
-
-		val _e1 = createEdgeVariable => [
-			name = "_e1"
-			edgeLabels.add(followsLabel)
-			dontCare = true
-		]
-		val _e2 = createEdgeVariable => [
-			name = "_e2"
-			edgeLabels.add(targetLabel)
-			dontCare = true
-		]
-		val _e3 = createEdgeVariable => [
-			name = "_e3"
-			edgeLabels.add(monitoredByLabel)
-			dontCare = true
-		]
-		val _e4 = createEdgeVariable => [
-			name = "_e4"
-			edgeLabels.add(requiresLabel)
-			dontCare = true
-		]
-
-		val getVerticesRoute1 = createGetVerticesOperator => [vertexVariable = route]
-		val getVerticesRoute2 = createGetVerticesOperator => [vertexVariable = route]
-
-		val expand1 = createExpandOperator => [
-			input = getVerticesRoute1
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = swP
-			edgeVariable = _e1
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = swP
-			targetVertexVariable = sw
-			edgeVariable = _e2
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.OUT
-			sourceVertexVariable = sw
-			targetVertexVariable = sensor
-			edgeVariable = _e3
-		]
-
-		val allDifferent = createAllDifferentOperator => [
-			input = expand3
-			edgeVariables.addAll(#[_e1, _e2, _e3])
-		]
-
-		val expand4 = createExpandOperator => [
-			input = getVerticesRoute2
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = sensor
-			edgeVariable = _e4
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = allDifferent
-			rightInput = expand4
-		]
-		val projection = createProjectionOperator => [
-			input = antiJoin
-			variables.addAll(Arrays.asList(route, sensor, swP, sw))
-		]
-		val de = createDuplicateEliminationOperator => [
-			input = projection
-		]
-		val production = createProductionOperator => [
-			input = de
-		]
-		routeSensor.rootExpression = production
-		routeSensor
-	}
-
-	def static semaphoreNeighbor() {
-		val semaphoreNeighbor = createRelalgContainer
-
-		val routeLabel = createVertexLabel => [name = "Route"; container = semaphoreNeighbor]
-		val semaphoreLabel = createVertexLabel => [name = "Semaphore"; container = semaphoreNeighbor]
-		val sensorLabel = createVertexLabel => [name = "Sensor"; container = semaphoreNeighbor]
-
-		val connectsToLabel = createEdgeLabel => [name = "connectsTo"; container = semaphoreNeighbor]
-		val entryLabel = createEdgeLabel => [name = "entry"; container = semaphoreNeighbor]
-		val exitLabel = createEdgeLabel => [name = "exit"; container = semaphoreNeighbor]
-		val requiresLabel = createEdgeLabel => [name = "requires"; container = semaphoreNeighbor]
-		val monitoredByLabel = createEdgeLabel => [name = "monitoredBy"; container = semaphoreNeighbor]
-
-		val route1 = createVertexVariable => [
-			name = "route1";
-			vertexLabels.add(routeLabel);
-		]
-		val route2 = createVertexVariable => [
-			name = "route2";
-			vertexLabels.add(routeLabel);
-		]
-		val semaphore = createVertexVariable => [
-			name = "semaphore"
-			vertexLabels.add(semaphoreLabel)
-		]
-		val sensor1 = createVertexVariable => [
-			name = "sensor1";
-			vertexLabels.add(sensorLabel);
-		]
-		val sensor2 = createVertexVariable => [
-			name = "sensor";
-			vertexLabels.add(sensorLabel);
-		]
-		val te1 = createVertexVariable => [name = "te1"; container = semaphoreNeighbor]
-		val te2 = createVertexVariable => [name = "te2"; container = semaphoreNeighbor]
-
-		val _e1 = createEdgeVariable => [
-			name = "_e1"
-			edgeLabels.add(exitLabel)
-			dontCare = true
-		]
-		val _e2 = createEdgeVariable => [
-			name = "_e2"
-			edgeLabels.add(requiresLabel)
-			dontCare = true
-		]
-		val _e3 = createEdgeVariable => [
-			name = "_e3"
-			edgeLabels.add(monitoredByLabel)
-			dontCare = true
-		]
-		val _e4 = createEdgeVariable => [
-			name = "_e4"
-			edgeLabels.add(connectsToLabel)
-			dontCare = true
-		]
-		val _e5 = createEdgeVariable => [
-			name = "_e5"
-			edgeLabels.add(monitoredByLabel)
-			dontCare = true
-		]
-		val _e6 = createEdgeVariable => [
-			name = "_e6"
-			edgeLabels.add(requiresLabel)
-			dontCare = true
-		]
-		val _e7 = createEdgeVariable => [
-			name = "_e7"
-			edgeLabels.add(entryLabel)
-			dontCare = true
-		]
-
-		val getVertices1 = createGetVerticesOperator => [
-			vertexVariable = semaphore
-		]
-		val getVertices2 = createGetVerticesOperator => [
-			vertexVariable = semaphore
-		]
-
-		val expand1 = createExpandOperator => [
-			input = getVertices1
-			direction = Direction.IN
-			sourceVertexVariable = semaphore
-			targetVertexVariable = route1
-			edgeVariable = _e1
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = route1
-			targetVertexVariable = sensor1
-			edgeVariable = _e2
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.IN
-			sourceVertexVariable = sensor1
-			targetVertexVariable = te1
-			edgeVariable = _e3
-		]
-		val expand4 = createExpandOperator => [
-			input = expand3
-			direction = Direction.OUT
-			sourceVertexVariable = te1
-			targetVertexVariable = te2
-			edgeVariable = _e4
-		]
-		val expand5 = createExpandOperator => [
-			input = expand4
-			direction = Direction.OUT
-			sourceVertexVariable = te2
-			targetVertexVariable = sensor2
-			edgeVariable = _e5
-		]
-		val expand6 = createExpandOperator => [
-			input = expand5
-			direction = Direction.IN
-			sourceVertexVariable = sensor2
-			targetVertexVariable = route2
-			edgeVariable = _e6
-		]
-
-		val allDifferent = createAllDifferentOperator => [
-			input = expand6
-			edgeVariables.addAll(Arrays.asList(_e1, _e2, _e3, _e4, _e5, _e6))
-		]
-
-		val expand7 = createExpandOperator => [
-			input = getVertices2
-			direction = Direction.IN
-			sourceVertexVariable = semaphore
-			targetVertexVariable = route2
-			edgeVariable = _e7
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = allDifferent
-			rightInput = expand7
-		]
-		val condition = createArithmeticComparisonExpression => [
-			leftOperand = route1
-			rightOperand = route2
-			operator = ArithmeticComparisonOperator.NOT_EQUAL_TO
-		]
-		val filter = createSelectionOperator => [
-			input = antiJoin
-			conditionString = "route1 != route2"
-			it.condition = condition
-		]
-		val projection = createProjectionOperator => [
-			input = filter
-			variables.addAll(Arrays.asList(semaphore, route1, route2, sensor1, sensor2, te1, te2))
-		]
-		val de = createDuplicateEliminationOperator => [
-			input = projection
-		]
-		val production = createProductionOperator => [
-			input = de
-		]
-		semaphoreNeighbor.rootExpression = production
-		semaphoreNeighbor
-	}
-
-	def static switchMonitored() {
-		val switchMonitored = createRelalgContainer
-
-		val sensorLabel = createVertexLabel => [name = "Sensor"; container = switchMonitored]
-		val switchLabel = createVertexLabel => [name = "Switch"; container = switchMonitored]
-
-		val monitoredByLabel = createEdgeLabel => [name = "monitoredBy"; container = switchMonitored]
-
-		val sw = createVertexVariable => [name = "sw"; vertexLabels.add(switchLabel); container = switchMonitored]
-		val _sensor = createVertexVariable => [
-			name = "_sensor"
-			vertexLabels.add(sensorLabel)
-			dontCare = true
-		]
-
-		val _e1 = createEdgeVariable => [
-			name = "_e1"
-			edgeLabels.add(monitoredByLabel)
-			dontCare = true
-		]
-
-		val getVertices1 = createGetVerticesOperator => [
-			vertexVariable = sw
-		]
-		val getVertices2 = createGetVerticesOperator => [
-			vertexVariable = sw
-		]
-
-		val expand1 = createExpandOperator => [
-			input = getVertices2
-			direction = Direction.OUT
-			sourceVertexVariable = sw
-			targetVertexVariable = _sensor
-			edgeVariable = _e1
-		]
-
-		val antiJoin = createAntiJoinOperator => [
-			leftInput = getVertices1
-			rightInput = expand1
-		]
-		val de = createDuplicateEliminationOperator => [
-			input = antiJoin
-		]
-		val production = createProductionOperator => [
-			input = de
-		]
-		switchMonitored.rootExpression = production
-		switchMonitored
-	}
-
-	def static switchSet() {
-		val switchSet = createRelalgContainer
-
-		val routeLabel = createVertexLabel => [name = "Route"; container = switchSet]
-		val semaphoreLabel = createVertexLabel => [name = "Semaphore"; container = switchSet]
-		val switchLabel = createVertexLabel => [name = "Switch"; container = switchSet]
-		val switchPositionLabel = createVertexLabel => [name = "SwitchPosition"; container = switchSet]
-
-		val entryLabel = createEdgeLabel => [name = "entry"; container = switchSet]
-		val followsLabel = createEdgeLabel => [name = "follows"; container = switchSet]
-		val targetLabel = createEdgeLabel => [name = "target"; container = switchSet]
-
-		val route = createVertexVariable => [name = "route"; vertexLabels.add(routeLabel); container = switchSet]
-		val sw = createVertexVariable => [
-			name = "sw"
-			vertexLabels.add(switchLabel)
-		]
-		val swP = createVertexVariable => [
-			name = "swP"
-			vertexLabels.add(switchPositionLabel)
-		]
-		val semaphore = createVertexVariable => [
-			name = "semaphore"
-			vertexLabels.add(semaphoreLabel)
-		]
-
-		val currentPosition = createAttributeVariable => [name = "currentPosition"; element = sw; container = switchSet]
-		val position = createAttributeVariable => [name = "position"; element = swP; container = switchSet]
-		val signal = createAttributeVariable => [name = "signal"; element = semaphore; container = switchSet]
-
-		val _e1 = createEdgeVariable => [
-			name = "_e1"
-			edgeLabels.add(entryLabel)
-			dontCare = true
-		]
-		val _e2 = createEdgeVariable => [
-			name = "_e2"
-			edgeLabels.add(followsLabel)
-			dontCare = true
-		]
-		val _e3 = createEdgeVariable => [
-			name = "_e3"
-			edgeLabels.add(targetLabel)
-			dontCare = true
-		]
-
-		val getVertices = createGetVerticesOperator => [
-			vertexVariable = semaphore
-		]
-
-		val expand1 = createExpandOperator => [
-			input = getVertices
-			direction = Direction.IN
-			sourceVertexVariable = semaphore
-			targetVertexVariable = route
-			edgeVariable = _e1
-		]
-		val expand2 = createExpandOperator => [
-			input = expand1
-			direction = Direction.OUT
-			sourceVertexVariable = route
-			targetVertexVariable = swP
-			edgeVariable = _e2
-		]
-		val expand3 = createExpandOperator => [
-			input = expand2
-			direction = Direction.OUT
-			sourceVertexVariable = swP
-			targetVertexVariable = sw
-			edgeVariable = _e3
-		]
-
-		val allDifferent = createAllDifferentOperator => [
-			input = expand3
-			edgeVariables.addAll(Arrays.asList(_e1, _e2, _e3))
-		]
-
-		val stringLiteralGO = createStringLiteral => [value = "GO"]
-		val condition1 = createArithmeticComparisonExpression => [
-			leftOperand = signal
-			rightOperand = stringLiteralGO
-			operator = ArithmeticComparisonOperator.EQUAL_TO
-		]
-		val filter1 = createSelectionOperator => [
-			input = allDifferent
-			conditionString = "semaphore.signal = 'GO'"
-			it.condition = condition1
-		]
-
-		val condition2 = createArithmeticComparisonExpression => [
-			leftOperand = currentPosition
-			rightOperand = position
-			operator = ArithmeticComparisonOperator.NOT_EQUAL_TO
-		]
-		val filter2 = createSelectionOperator => [
-			input = filter1
-			conditionString = "sw.currentPosition != swP.position"
-			it.condition = condition2
-		]
-		val projection = createProjectionOperator => [
-			input = filter2
-			variables.addAll(Arrays.asList(semaphore, route, swP, sw, currentPosition, position))
-		]
-		val de = createDuplicateEliminationOperator => [
-			input = projection
-		]
-		val production = createProductionOperator => [
-			input = de
-		]
-		switchSet.rootExpression = production
-		switchSet
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/QueryPlanVisualizationTest.xtend b/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/QueryPlanVisualizationTest.xtend
deleted file mode 100644
index 49f1715c6addb32b06bd6090cfc43559097084b8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/QueryPlanVisualizationTest.xtend
+++ /dev/null
@@ -1,56 +0,0 @@
-package ingraph.trainbenchmark
-
-import ingraph.optimization.transformations.relalg2rete.Relalg2ReteTransformation
-import ingraph.relalg2tex.RelalgExpressionSerializer
-import ingraph.relalg2tex.RelalgSerializerConfig
-import ingraph.relalg2tex.RelalgTreeSerializer
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.junit.runners.Parameterized
-import org.junit.runners.Parameterized.Parameter
-import org.junit.runners.Parameterized.Parameters
-import relalg.RelalgContainer
-
-@RunWith(Parameterized)
-class QueryPlanVisualizationTest {
-
-	@Parameters(name="plan={0}")
-	static def Iterable<? extends Object> data() {
-		#[
-			new RouteSensorQueryPlanFactory().routeSensorA,
-			new RouteSensorQueryPlanFactory().routeSensorB,
-			new RouteSensorQueryPlanFactory().routeSensorC,
-			new SemaphoreNeighborQueryPlanFactory().semaphoreNeighborA,
-			new SemaphoreNeighborQueryPlanFactory().semaphoreNeighborB,
-			new SemaphoreNeighborQueryPlanFactory().semaphoreNeighborC,
-			new SemaphoreNeighborQueryPlanFactory().semaphoreNeighborD,
-			new SemaphoreNeighborQueryPlanFactory().semaphoreNeighborE,
-			new SemaphoreNeighborQueryPlanFactory().semaphoreNeighborF
-		];
-	}
-
-	@Parameter
-	public RelalgContainer plan
-
-	val treeConfig = new RelalgSerializerConfig => [standaloneDocument = true]
-	val expressionConfig = new RelalgSerializerConfig => [standaloneDocument = false]
-
-	val extension RelalgTreeSerializer treeSerializer = new RelalgTreeSerializer(treeConfig)
-	val extension RelalgExpressionSerializer expressionSerializer = new RelalgExpressionSerializer(expressionConfig)
-
-	val extension Relalg2ReteTransformation transformation = new Relalg2ReteTransformation
-
-	@Test
-	def void serialize() {
-		val name = plan.name
-		treeSerializer.serialize(plan, '''query-plans/«name»-Relalg''')
-		treeSerializer.serialize(plan.transformToRete, '''query-plans/«name»-Rete''')
-		println('''
-			\begin{align*}
-			\uline{«name.substring(name.length - 1)»:}
-			«expressionSerializer.serialize(plan.transformToRete, '''query-plans/«name»-ReteExpression''')»
-			\end{align*}
-		''')
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/RelalgBuilderTest.xtend b/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/RelalgBuilderTest.xtend
deleted file mode 100644
index 478e0b3b8612340b87bf22bd5e015a7645d5c424..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/RelalgBuilderTest.xtend
+++ /dev/null
@@ -1,51 +0,0 @@
-package ingraph.trainbenchmark
-
-import ingraph.cypher2relalg.Cypher2Relalg
-import ingraph.cypherparser.CypherParser
-import ingraph.relalg2tex.RelalgTreeSerializer
-import java.io.IOException
-import org.junit.Test
-import org.junit.Ignore
-
-@Ignore
-class RelalgBuilderTest {
-	
-	val static RelalgTreeSerializer drawer = new RelalgTreeSerializer
-	
-	def process(String query) {
-		val cypher = CypherParser.parseFile("trainbenchmark/" + query)
-		val expression = Cypher2Relalg.processCypher(cypher)
-		drawer.serialize(expression, "queries/" + query)
-	}
-	
-	@Test
-	def void testConnectedSegments() throws IOException {
-		process("ConnectedSegments")
-	}
-
-	@Test
-	def void testPosLength() throws IOException {
-		process("PosLength")
-	}
-
-	@Test
-	def void testRouteSensor() throws IOException {
-		process("RouteSensor")
-	}
-
-	@Test
-	def void testSwitchMonitored() throws IOException {
-		process("SwitchMonitored")
-	}
-
-	@Test
-	def void testSwitchSet() throws IOException {
-		process("SwitchSet")
-	}
-
-	@Test
-	def void testSemaphoreNeighbor() throws IOException {
-		process("SemaphoreNeighbor")
-	}
-	
-}
diff --git a/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/cost/CostTest.xtend b/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/cost/CostTest.xtend
deleted file mode 100644
index c305d76bcfef202e6f1edd37e05c117a06cc9934..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph-query-plans/src/test/java/ingraph/trainbenchmark/cost/CostTest.xtend
+++ /dev/null
@@ -1,28 +0,0 @@
-package ingraph.trainbenchmark.cost
-
-import ingraph.optimization.transformations.cost.ReteCostFunction
-import ingraph.optimization.transformations.relalg2rete.Relalg2ReteTransformation
-import ingraph.relalg2tex.RelalgTreeSerializer
-import ingraph.trainbenchmark.RouteSensorQueryPlanFactory
-import ingraph.trainbenchmark.SemaphoreNeighborQueryPlanFactory
-import org.junit.Test
-
-class CostTest {
-	
-	val extension RelalgTreeSerializer drawer = new RelalgTreeSerializer
-	val extension ReteCostFunction function = new ReteCostFunction
-	val extension RouteSensorQueryPlanFactory routesensorFactory = new RouteSensorQueryPlanFactory
-	val extension SemaphoreNeighborQueryPlanFactory semaphoreNeighborFactory = new SemaphoreNeighborQueryPlanFactory
-	val extension Relalg2ReteTransformation transformation = new Relalg2ReteTransformation
-	
-	@Test
-	def void costRouteSensorA() {
-		drawer.serialize(routeSensorA.transformToRete.estimateCost, "query-plans/RouteSensorA-Rete-cost")
-	}
-	
-	@Test
-	def void costSemaphoreNeighborA() {
-		drawer.serialize(semaphoreNeighborA.transformToRete.estimateCost, "query-plans/SemaphoreNeighborA-Rete-cost")
-	}
-	
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-ingraph/.gitignore b/trainbenchmark-tool-ingraph/.gitignore
deleted file mode 100644
index 5e02679b0073fe37b94bedebe2d20be0f39c7035..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/target
-/native
-results/
diff --git a/trainbenchmark-tool-ingraph/build.gradle b/trainbenchmark-tool-ingraph/build.gradle
deleted file mode 100644
index f0961b5b28bd31324ed19b24403f5f372d766977..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/build.gradle
+++ /dev/null
@@ -1,18 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.ingraph.IngraphBenchmarkMain' }
-}
-
-repositories {
-	mavenLocal()
-	maven { url "https://dl.bintray.com/ftsrg/maven" }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-ingraph-query-plans')
-	compile group: 'ingraph', name: 'ingraph-ire', version: ingraphVersion
-	compile 'com.github.jbellis:jamm:0.3.1'
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphBenchmarkMain.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphBenchmarkMain.java
deleted file mode 100644
index fded3b46a944626e665df01fc773cf6cde21dcaf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphBenchmarkMain.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.ingraph;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-
-public class IngraphBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final IngraphBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], IngraphBenchmarkConfig.class);
-		final IngraphBenchmarkScenario scenario = IngraphBenchmarkScenario.create(bc);
-		scenario.performBenchmark();
-		System.exit(0);
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphBenchmarkScenario.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphBenchmarkScenario.java
deleted file mode 100644
index aebc71bf5e2265d1ecc81abdbb08250febf1f58e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphBenchmarkScenario.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph;
-
-import java.util.Comparator;
-
-import hu.bme.mit.ire.TransactionFactory;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.operations.IngraphModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class IngraphBenchmarkScenario extends BenchmarkScenario<IngraphMatch, IngraphDriver, IngraphBenchmarkConfig> {
-
-	protected IngraphBenchmarkScenario(final IngraphDriverFactory driverFactory,
-			final ModelOperationFactory<IngraphMatch, IngraphDriver> modelOperationFactory,
-			final Comparator<IngraphMatch> comparator, final IngraphBenchmarkConfig bc) throws Exception {
-		super(driverFactory, modelOperationFactory, comparator, bc);
-	}
-
-	public static IngraphBenchmarkScenario create(final IngraphBenchmarkConfig bc) throws Exception {
-		final TransactionFactory transactionFactory = new TransactionFactory(bc.getMessageSize());
-		final IngraphDriverFactory driverFactory = new IngraphDriverFactory(bc, transactionFactory);
-		final IngraphModelOperationFactory modelOperationFactory = new IngraphModelOperationFactory(transactionFactory);
-		return new IngraphBenchmarkScenario(driverFactory, modelOperationFactory, new IngraphMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphUtils.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphUtils.java
deleted file mode 100644
index d77b9232dde754b6495a56df5a3200bfc84eda00..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/IngraphUtils.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph;
-
-import java.lang.reflect.Method;
-
-import relalg.RelalgContainer;
-
-public class IngraphUtils {
-    public static RelalgContainer getQueryPlan(final String name, final String variant) throws
-            Exception {    	
-        final String prefix = "ingraph.trainbenchmark.";
-        final Class<?> factoryClass = Class.forName(prefix + name + "QueryPlanFactory");
-        final Method declaredMethod = factoryClass.getDeclaredMethod(decapitalize(name) + variant);
-        final Object factory = factoryClass.getConstructor().newInstance();
-        return (RelalgContainer) declaredMethod.invoke(factory);
-    }
-
-    private static String decapitalize(final String string) {
-        return Character.toLowerCase(string.charAt(0)) + string.substring(1);
-    }
-
-//    static Map<Object, Object> createIreTuple(Object pred, Object subj, Object obj) {
-//        Map<Object, Object>.Map1()
-//        return new Map<Object, Object>(1, 2, 3);
-//    }
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/config/IngraphBenchmarkConfig.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/config/IngraphBenchmarkConfig.java
deleted file mode 100644
index dd55cf3df3b996082482853c1ed47b8e283a2cba..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/config/IngraphBenchmarkConfig.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class IngraphBenchmarkConfig extends BenchmarkConfig {
-
-	protected final int messageSize;
-	protected final String queryVariant;
-	protected final String memoryMeasurementPath;
-
-	protected IngraphBenchmarkConfig(final BenchmarkConfigBase bcb, final int messageSize, final String queryVariant,
-			final String memoryMeasurementPath) {
-		super(bcb);
-		this.messageSize = messageSize;
-		this.queryVariant = queryVariant;
-		this.memoryMeasurementPath = memoryMeasurementPath;
-	}
-
-	public String getFileName() {
-		return getConfigBase().getModelFilename();
-	}
-
-	public int getMessageSize() {
-		return messageSize;
-	}
-
-	@Override
-	public String getToolName() {
-		return "Ingraph";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "ingraph";
-	}
-
-	public String getQueryVariant() {
-		return queryVariant;
-	}
-
-	public String getMemoryMeasurementPath() {
-		return memoryMeasurementPath;
-	}
-
-	@Override
-	public String getDescription() {
-		return queryVariant;
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/config/IngraphBenchmarkConfigBuilder.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/config/IngraphBenchmarkConfigBuilder.java
deleted file mode 100644
index 9ebe19bda32c35a6d7c04433eb92f1073849884d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/config/IngraphBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.config;
-
-import com.google.common.base.Preconditions;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class IngraphBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<IngraphBenchmarkConfig, IngraphBenchmarkConfigBuilder> {
-
-	protected Integer messageSize;
-	protected String queryVariant;
-
-	@Override
-	public void checkNotNulls() {
-		super.checkNotNulls();
-		Preconditions.checkNotNull(messageSize);
-	}
-
-	public IngraphBenchmarkConfigBuilder setMessageSize(Integer messageSize) {
-		this.messageSize = messageSize;
-		return this;
-	}
-
-	public IngraphBenchmarkConfigBuilder setQueryVariant(String queryVariant) {
-		this.queryVariant = queryVariant;
-		return this;
-	}
-
-	@Override
-	public IngraphBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new IngraphBenchmarkConfig(configBase, messageSize, queryVariant, null);
-	}
-
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/driver/IngraphDriver.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/driver/IngraphDriver.java
deleted file mode 100644
index 542a0ca1d29621b5fa413744ad9b88128f836370..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/driver/IngraphDriver.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.driver;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.Arrays;
-
-import org.apache.commons.io.FileUtils;
-import org.github.jamm.MemoryMeter;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.ire.TransactionFactory;
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-import ingraph.ire.IngraphAdapter;
-
-public class IngraphDriver extends Driver {
-
-	protected final IngraphBenchmarkConfig bc;
-	protected final TransactionFactory transactionFactory;
-	protected Transaction tx;
-	protected IngraphAdapter adapter;
-
-	public IngraphDriver(final IngraphBenchmarkConfig bc, final TransactionFactory transactionFactory) {
-		super();
-		this.bc = bc;
-		this.transactionFactory = transactionFactory;
-	}
-
-	@Override
-	public void read(final String modelPath) throws Exception {
-		beginTransaction();
-		adapter.readGraph(modelPath, tx);
-		finishTransaction();
-	}
-
-	@Override
-	public String getPostfix() {
-		return "-tinkerpop.graphml";
-	}
-
-
-	@Override
-	public void destroy() {
-		if (adapter != null) {
-			adapter.engine().shutdown();
-		}
-	}
-
-	public Transaction newTransaction() {
-		tx = transactionFactory.newBatchTransaction();
-		return tx;
-	}
-
-	@Override
-	public void beginTransaction() {
-		newTransaction();
-	}
-
-	@Override
-	public void finishTransaction() throws Exception {
-		if (tx != null) {
-			tx.close();
-			tx = null;
-			adapter.engine().getResults();
-		}
-	}
-
-	public long newKey() {
-		return transactionFactory.newKey();
-	}
-
-	public String getQueryVariant() {
-		return bc.getQueryVariant();
-	}
-
-	public void maybeMeasureMemory() throws IOException {
-		final String memPath = bc.getMemoryMeasurementPath();
-		if (memPath != null) {
-			final MemoryMeter meter = new MemoryMeter();
-			final long memoryB = meter.measureDeep(adapter.engine());
-			final double memoryMB = memoryB / Math.pow(10, 6);
-			final String line = String.join(",",
-					Arrays.asList(bc.getToolName(), bc.getQueryVariant(), bc.getFileName(), String.format("%.02f", memoryMB))) + "\n";
-
-			FileUtils.write(new File(memPath), line, Charset.defaultCharset(), true);
-		}
-	}
-
-	public void setAdapter(final IngraphAdapter adapter) {
-		this.adapter = adapter;
-	}
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/driver/IngraphDriverFactory.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/driver/IngraphDriverFactory.java
deleted file mode 100644
index 3dd0b7d5486f7d0ccb335bdea78a496f1fc7f514..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/driver/IngraphDriverFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.driver;
-
-import hu.bme.mit.ire.TransactionFactory;
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-
-public class IngraphDriverFactory extends DriverFactory<IngraphDriver> {
-
-	protected IngraphBenchmarkConfig bc;
-	protected TransactionFactory transactionFactory;
-
-	public IngraphDriverFactory(final IngraphBenchmarkConfig bc, final TransactionFactory transactionFactory) {
-		this.bc = bc;
-		this.transactionFactory = transactionFactory;
-	}
-	
-	@Override
-	public IngraphDriver createInstance() throws Exception {
-		return new IngraphDriver(bc, transactionFactory);
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphConnectedSegmentsInjectMatch.java
deleted file mode 100644
index 07514b3edad4b9ee9d8c0775cc0f3564f041fa6b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-import scala.collection.immutable.Map;
-
-// The code of the match classes is correct, but it does not compile in Eclipse. See
-// http://stackoverflow.com/questions/10852923/method-is-ambiguous-for-the-type-but-the-types-are-not-ambiguous-and-the-erro
-public class IngraphConnectedSegmentsInjectMatch extends IngraphMatch implements ConnectedSegmentsInjectMatch {
-
-	public IngraphConnectedSegmentsInjectMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSensor() {
-		return (Long) qs.get(0).get();
-	}
-
-	@Override
-	public Long getSegment1() {
-		return (Long) qs.get(1).get();
-	}
-
-	@Override
-	public Long getSegment3() {
-		return (Long) qs.get(2).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphConnectedSegmentsMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphConnectedSegmentsMatch.java
deleted file mode 100644
index b9ee9cf6ddb5c12912614522fe120ba3f13885e0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphConnectedSegmentsMatch extends IngraphMatch implements ConnectedSegmentsMatch {
-
-	public IngraphConnectedSegmentsMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSegment1() {
-		return (Long) qs.get(0).get();
-	}
-
-	@Override
-	public Long getSegment2() {
-		return (Long) qs.get(1).get();
-	}
-
-	@Override
-	public Long getSegment3() {
-		return (Long) qs.get(2).get();
-	}
-
-	@Override
-	public Long getSegment4() {
-		return (Long) qs.get(3).get();
-	}
-
-	@Override
-	public Long getSegment5() {
-		return (Long) qs.get(4).get();
-	}
-
-	@Override
-	public Long getSegment6() {
-		return (Long) qs.get(5).get();
-	}
-
-	@Override
-	public Long getSensor() {
-		return (Long) qs.get(6).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphMatch.java
deleted file mode 100644
index 9496bd745acb5868ba5eded54e2d59fafcc5b45c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphMatch.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import com.google.common.base.Joiner;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.BaseMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import scala.collection.immutable.Map;
-
-public abstract class IngraphMatch extends BaseMatch {
-
-	protected Map<Object, Object> qs;
-
-	public IngraphMatch(final Map<Object, Object> qs) {
-		this.qs = qs;
-	}
-
-	public static IngraphMatch createMatch(final RailwayQuery query, final Map<Object, Object> qs) {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new IngraphConnectedSegmentsMatch(qs);
-		case CONNECTEDSEGMENTS_INJECT:
-			return new IngraphConnectedSegmentsInjectMatch(qs);
-		case POSLENGTH:
-			return new IngraphPosLengthMatch(qs);
-		case POSLENGTH_INJECT:
-			return new IngraphPosLengthInjectMatch(qs);
-		case ROUTESENSOR:
-			return new IngraphRouteSensorMatch(qs);
-		case ROUTESENSOR_INJECT:
-			return new IngraphRouteSensorInjectMatch(qs);
-		case SEMAPHORENEIGHBOR:
-			return new IngraphSemaphoreNeighborMatch(qs);
-		case SEMAPHORENEIGHBOR_INJECT:
-			return new IngraphSemaphoreNeighborInjectMatch(qs);
-		case SWITCHMONITORED:
-			return new IngraphSwitchMonitoredMatch(qs);
-		case SWITCHMONITORED_INJECT:
-			return new IngraphSwitchMonitoredInjectMatch(qs);
-		case SWITCHSET:
-			return new IngraphSwitchSetMatch(qs);
-		case SWITCHSET_INJECT:
-			return new IngraphSwitchSetInjectMatch(qs);
-		default:
-			throw new UnsupportedOperationException("Pattern not supported: " + query);
-		}
-	}
-
-	@Override
-	public String toString() {
-		final Joiner joiner = Joiner.on(", ");
-		return "<" + joiner.join(toArray()) + ">";
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphMatchComparator.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphMatchComparator.java
deleted file mode 100644
index 53b8b4e7dc9fa4ef2f3b2c65bcee9134464480e6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphMatchComparator.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.comparators.LongComparator;
-import hu.bme.mit.trainbenchmark.benchmark.matches.comparators.BaseMatchComparator;
-
-public class IngraphMatchComparator extends BaseMatchComparator<IngraphMatch, Long> {
-
-	public IngraphMatchComparator() {
-		super(new LongComparator());
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphPosLengthInjectMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphPosLengthInjectMatch.java
deleted file mode 100644
index 791d39f795b481fa5b1ba88fdd0c226358ff06f4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphPosLengthInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthInjectMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphPosLengthInjectMatch extends IngraphMatch implements PosLengthInjectMatch {
-
-	public IngraphPosLengthInjectMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSegment() {
-		return (Long) qs.get(0).get();
-	}
-
-	public Integer getLength() {
-		return (Integer) qs.get(1).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphPosLengthMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphPosLengthMatch.java
deleted file mode 100644
index 99937456149b3d961268ff65b54cc99b11721aa2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphPosLengthMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphPosLengthMatch extends IngraphMatch implements PosLengthMatch {
-
-	public IngraphPosLengthMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSegment() {
-		return (Long) qs.get(0).get();
-	}
-
-	public Integer getLength() {
-		return (Integer) qs.get(1).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphRouteSensorInjectMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphRouteSensorInjectMatch.java
deleted file mode 100644
index d30682b85e42e204519fe00792933ef495bca8d9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphRouteSensorInjectMatch extends IngraphMatch implements RouteSensorInjectMatch {
-
-	public IngraphRouteSensorInjectMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getRoute() {
-		return (Long) qs.get(0).get();
-	}
-
-	@Override
-	public Long getSensor() {
-		return (Long) qs.get(1).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphRouteSensorMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphRouteSensorMatch.java
deleted file mode 100644
index 04ccc8442e0a90f94655224594fb9f47499f59fb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphRouteSensorMatch.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphRouteSensorMatch extends IngraphMatch implements RouteSensorMatch {
-
-	public IngraphRouteSensorMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getRoute() {
-		return (Long) qs.get("route").get();
-	}
-
-	@Override
-	public Long getSensor() {
-		return (Long) qs.get("sensor").get();
-	}
-
-	@Override
-	public Long getSwP() {
-		return (Long) qs.get("swP").get();
-	}
-
-	@Override
-	public Long getSw() {
-		return (Long) qs.get("sw").get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 503833d8d44f0786e4e8344a2a3c2a1365dcfcd0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphSemaphoreNeighborInjectMatch extends IngraphMatch implements SemaphoreNeighborInjectMatch {
-
-	public IngraphSemaphoreNeighborInjectMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getRoute() {
-		return (Long) qs.get("route").get();
-	}
-
-	@Override
-	public Object getSemaphore() {
-		return (Long) qs.get("semaphore").get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSemaphoreNeighborMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSemaphoreNeighborMatch.java
deleted file mode 100644
index 76193585a4e0f259ce77207442ebd80cf45cadc8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphSemaphoreNeighborMatch extends IngraphMatch implements SemaphoreNeighborMatch {
-
-	public IngraphSemaphoreNeighborMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return (Long) qs.get("semaphore").get();
-	}
-
-	@Override
-	public Long getRoute1() {
-		return (Long) qs.get("route1").get();
-	}
-
-	@Override
-	public Long getRoute2() {
-		return (Long) qs.get("route2").get();
-	}
-
-	@Override
-	public Long getSensor1() {
-		return (Long) qs.get("sensor1").get();
-	}
-
-	@Override
-	public Long getSensor2() {
-		return (Long) qs.get("sensor2").get();
-	}
-
-	@Override
-	public Long getTe1() {
-		return (Long) qs.get("te1").get();
-	}
-
-	@Override
-	public Long getTe2() {
-		return (Long) qs.get("te2").get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchMonitoredInjectMatch.java
deleted file mode 100644
index f2ddfe3930dd16be3e75bd8cb28692b722694436..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphSwitchMonitoredInjectMatch extends IngraphMatch implements SwitchMonitoredInjectMatch {
-
-	public IngraphSwitchMonitoredInjectMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSw() {
-		return (Long) qs.get(0).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchMonitoredMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchMonitoredMatch.java
deleted file mode 100644
index 38b8c150d8ad4cea49c5a51979cac80688e0a58e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphSwitchMonitoredMatch extends IngraphMatch implements SwitchMonitoredMatch {
-
-	public IngraphSwitchMonitoredMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSw() {
-		return (Long) qs.get(0).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchSetInjectMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchSetInjectMatch.java
deleted file mode 100644
index f0c49a5f6944c62f62fe4ba2b75d38d9411b6fb4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphSwitchSetInjectMatch extends IngraphMatch implements SwitchSetInjectMatch {
-
-	public IngraphSwitchSetInjectMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSw() {
-		return (Long) qs.get(0).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchSetMatch.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchSetMatch.java
deleted file mode 100644
index 45e45ca1de9c54dc78eea5af023c66a58df8f361..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/match/IngraphSwitchSetMatch.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.match;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-import scala.collection.immutable.Map;
-
-public class IngraphSwitchSetMatch extends IngraphMatch implements SwitchSetMatch {
-
-	public IngraphSwitchSetMatch(final Map<Object, Object> qs) {
-		super(qs);
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return (Long) qs.get(0).get();
-	}
-
-	@Override
-	public Long getRoute() {
-		return (Long) qs.get(1).get();
-	}
-
-	@Override
-	public Long getSwP() {
-		return (Long) qs.get(2).get();
-	}
-
-	@Override
-	public Long getSw() {
-		return (Long) qs.get(3).get();
-	}
-
-	public String getPosition() {
-		return (String) qs.get(4).get();
-	}
-
-	public String getCurrentPosition() {
-		return (String) qs.get(5).get();
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/operations/IngraphModelOperationFactory.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/operations/IngraphModelOperationFactory.java
deleted file mode 100644
index 9af913fecca1b3e317d1b44770536afbacc70bab..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/operations/IngraphModelOperationFactory.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.operations;
-
-import hu.bme.mit.ire.TransactionFactory;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.queries.IngraphQuery;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject.IngraphTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject.IngraphTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject.IngraphTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject.IngraphTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject.IngraphTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject.IngraphTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair.IngraphTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair.IngraphTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair.IngraphTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair.IngraphTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair.IngraphTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair.IngraphTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class IngraphModelOperationFactory extends ModelOperationFactory<IngraphMatch, IngraphDriver> {
-
-	protected final TransactionFactory transactionFactory;
-
-	public IngraphModelOperationFactory(final TransactionFactory transactionFactory) {
-		this.transactionFactory = transactionFactory;
-	}
-
-	@Override
-	public ModelOperation<? extends IngraphMatch, IngraphDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final IngraphDriver driver) throws Exception {
-		switch (operationEnum) {
-			// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final IngraphQuery<IngraphConnectedSegmentsMatch> query = new IngraphQuery<>(driver, RailwayQuery.CONNECTEDSEGMENTS, transactionFactory);
-			final ModelOperation<IngraphConnectedSegmentsMatch, IngraphDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final IngraphQuery<IngraphConnectedSegmentsInjectMatch> query = new IngraphQuery<>(driver, RailwayQuery.CONNECTEDSEGMENTS_INJECT, transactionFactory);
-			final IngraphTransformation<IngraphConnectedSegmentsInjectMatch> transformation = new IngraphTransformationInjectConnectedSegments(driver);
-			final ModelOperation<IngraphConnectedSegmentsInjectMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final IngraphQuery<IngraphConnectedSegmentsMatch> query = new IngraphQuery<>(driver, RailwayQuery.CONNECTEDSEGMENTS, transactionFactory);
-			final IngraphTransformation<IngraphConnectedSegmentsMatch> transformation = new IngraphTransformationRepairConnectedSegments(driver);
-			final ModelOperation<IngraphConnectedSegmentsMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final IngraphQuery<IngraphPosLengthMatch> query = new IngraphQuery<>(driver, RailwayQuery.POSLENGTH, transactionFactory);
-			final ModelOperation<IngraphPosLengthMatch, IngraphDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final IngraphQuery<IngraphPosLengthInjectMatch> query = new IngraphQuery<>(driver, RailwayQuery.POSLENGTH_INJECT, transactionFactory);
-			final IngraphTransformation<IngraphPosLengthInjectMatch> transformation = new IngraphTransformationInjectPosLength(driver);
-			final ModelOperation<IngraphPosLengthInjectMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final IngraphQuery<IngraphPosLengthMatch> query = new IngraphQuery<>(driver, RailwayQuery.POSLENGTH, transactionFactory);
-			final IngraphTransformation<IngraphPosLengthMatch> transformation = new IngraphTransformationRepairPosLength(driver);
-			final ModelOperation<IngraphPosLengthMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final IngraphQuery<IngraphRouteSensorMatch> query = new IngraphQuery<>(driver, RailwayQuery.ROUTESENSOR, transactionFactory);
-			final ModelOperation<IngraphRouteSensorMatch, IngraphDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final IngraphQuery<IngraphRouteSensorInjectMatch> query = new IngraphQuery<>(driver, RailwayQuery.ROUTESENSOR_INJECT, transactionFactory);
-			final IngraphTransformation<IngraphRouteSensorInjectMatch> transformation = new IngraphTransformationInjectRouteSensor(driver);
-			final ModelOperation<IngraphRouteSensorInjectMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final IngraphQuery<IngraphRouteSensorMatch> query = new IngraphQuery<>(driver, RailwayQuery.ROUTESENSOR, transactionFactory);
-			final IngraphTransformation<IngraphRouteSensorMatch> transformation = new IngraphTransformationRepairRouteSensor(driver);
-			final ModelOperation<IngraphRouteSensorMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final IngraphQuery<IngraphSemaphoreNeighborMatch> query = new IngraphQuery<>(driver, RailwayQuery.SEMAPHORENEIGHBOR, transactionFactory);
-			final ModelOperation<IngraphSemaphoreNeighborMatch, IngraphDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final IngraphQuery<IngraphSemaphoreNeighborInjectMatch> query = new IngraphQuery<>(driver, RailwayQuery.SEMAPHORENEIGHBOR_INJECT, transactionFactory);
-			final IngraphTransformation<IngraphSemaphoreNeighborInjectMatch> transformation = new IngraphTransformationInjectSemaphoreNeighbor(driver);
-			final ModelOperation<IngraphSemaphoreNeighborInjectMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final IngraphQuery<IngraphSemaphoreNeighborMatch> query = new IngraphQuery<>(driver, RailwayQuery.SEMAPHORENEIGHBOR, transactionFactory);
-			final IngraphTransformation<IngraphSemaphoreNeighborMatch> transformation = new IngraphTransformationRepairSemaphoreNeighbor(driver);
-			final ModelOperation<IngraphSemaphoreNeighborMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final IngraphQuery<IngraphSwitchMonitoredMatch> query = new IngraphQuery<>(driver, RailwayQuery.SWITCHMONITORED, transactionFactory);
-			final ModelOperation<IngraphSwitchMonitoredMatch, IngraphDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final IngraphQuery<IngraphSwitchMonitoredInjectMatch> query = new IngraphQuery<>(driver, RailwayQuery.SWITCHMONITORED_INJECT, transactionFactory);
-			final IngraphTransformation<IngraphSwitchMonitoredInjectMatch> transformation = new IngraphTransformationInjectSwitchMonitored(driver);
-			final ModelOperation<IngraphSwitchMonitoredInjectMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final IngraphQuery<IngraphSwitchMonitoredMatch> query = new IngraphQuery<>(driver, RailwayQuery.SWITCHMONITORED, transactionFactory);
-			final IngraphTransformation<IngraphSwitchMonitoredMatch> transformation = new IngraphTransformationRepairSwitchMonitored(driver);
-			final ModelOperation<IngraphSwitchMonitoredMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final IngraphQuery<IngraphSwitchSetMatch> query = new IngraphQuery<>(driver, RailwayQuery.SWITCHSET, transactionFactory);
-			final ModelOperation<IngraphSwitchSetMatch, IngraphDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final IngraphQuery<IngraphSwitchSetInjectMatch> query = new IngraphQuery<>(driver, RailwayQuery.SWITCHSET_INJECT, transactionFactory);
-			final IngraphTransformation<IngraphSwitchSetInjectMatch> transformation = new IngraphTransformationInjectSwitchSet(driver);
-			final ModelOperation<IngraphSwitchSetInjectMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final IngraphQuery<IngraphSwitchSetMatch> query = new IngraphQuery<>(driver, RailwayQuery.SWITCHSET, transactionFactory);
-			final IngraphTransformation<IngraphSwitchSetMatch> transformation = new IngraphTransformationRepairSwitchSet(driver);
-			final ModelOperation<IngraphSwitchSetMatch, IngraphDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-		default:
-			throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-		}
-	}
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/queries/IngraphChangeListener.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/queries/IngraphChangeListener.java
deleted file mode 100644
index 95fd30aab2d29641445a5922c95d2104133804d0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/queries/IngraphChangeListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.queries;
-
-import hu.bme.mit.ire.ChangeListener;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import scala.collection.Iterator;
-import scala.collection.immutable.List;
-import scala.collection.immutable.Map;
-
-import java.util.HashSet;
-
-/**
- * Created by wafle on 11/20/2016.
- */
-public class IngraphChangeListener extends ChangeListener{
-    HashSet<IngraphMatch> results = new HashSet<>();
-    private RailwayQuery query;
-
-    IngraphChangeListener(final RailwayQuery query) {
-        this.query = query;
-    }
-
-    @Override
-    public void listener(List<Map<Object, Object>> positive, List<Map<Object, Object>> negative) {
-        Iterator<Map<Object, Object>> positiveIterator = positive.iterator();
-        while (positiveIterator.hasNext()) {
-            final Map<Object, Object> qs = positiveIterator.next();
-            final IngraphMatch match = IngraphMatch.createMatch(query, qs);
-            results.add(match);
-        }
-
-        Iterator<Map<Object, Object>> negativeIterator = negative.iterator();
-        while (negativeIterator.hasNext()) {
-            final Map<Object, Object> qs = negativeIterator.next();
-            final IngraphMatch match = IngraphMatch.createMatch(query, qs);
-            results.remove(match);
-        }
-    }
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/queries/IngraphQuery.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/queries/IngraphQuery.java
deleted file mode 100644
index 63915a3a2ec077841d934d27ccbc366c94b7e517..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/queries/IngraphQuery.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
-* All rights reserved. This program and the accompanying materials
-* are made available under the terms of the Eclipse Public License v1.0
-* which accompanies this distribution, and is available at
-* http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-*   Benedek Izso - initial API and implementation
-*   Gabor Szarnyas - initial API and implementation
-*******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.queries;
-
-import java.util.Collection;
-
-import hu.bme.mit.ire.TransactionFactory;
-import hu.bme.mit.ire.trainbenchmark.TrainbenchmarkQuery;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.IngraphUtils;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import ingraph.ire.IngraphAdapter;
-import relalg.RelalgContainer;
-
-public class IngraphQuery<TPatternMatch extends IngraphMatch> extends ModelQuery<TPatternMatch, IngraphDriver> {
-
-	private TrainbenchmarkQuery queryEngine;
-	private IngraphChangeListener listener;
-
-	public IngraphQuery(final IngraphDriver driver, final RailwayQuery query, final TransactionFactory input) throws Exception {
-		super(query, driver);
-		final RelalgContainer plan = IngraphUtils.getQueryPlan(query.toString(), driver.getQueryVariant());
-		final IngraphAdapter adapter = new IngraphAdapter(plan);
-		queryEngine = adapter.engine();
-		listener = new IngraphChangeListener(query);
-		queryEngine.addListener(listener);
-		input.subscribe(queryEngine.inputLookup());
-		driver.setAdapter(adapter);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TPatternMatch> evaluate() {
-		return (Collection<TPatternMatch>) listener.results;
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/IngraphTransformation.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/IngraphTransformation.java
deleted file mode 100644
index b89d27eb5240762f09c74c9e0285433d0114d264..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/IngraphTransformation.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations;
-
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-
-public abstract class IngraphTransformation<TMatch extends IngraphMatch> extends ModelTransformation<TMatch, IngraphDriver> {
-
-	protected IngraphTransformation(final IngraphDriver driver) {
-		super(driver);
-		this.driver = driver;
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectConnectedSegments.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectConnectedSegments.java
deleted file mode 100644
index cf551fb116bebe711790a64b3d881248468c6323..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationInjectConnectedSegments extends IngraphTransformation<IngraphConnectedSegmentsInjectMatch> {
-
-	public IngraphTransformationInjectConnectedSegments(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphConnectedSegmentsInjectMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphConnectedSegmentsInjectMatch match : matches) {
-			// TODO
-		}
-	}
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectPosLength.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectPosLength.java
deleted file mode 100644
index 00d7b128ac17ddcd13136bf97ff14621524fe94b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectPosLength.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationInjectPosLength extends IngraphTransformation<IngraphPosLengthInjectMatch> {
-
-	public IngraphTransformationInjectPosLength(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphPosLengthInjectMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphPosLengthInjectMatch match : matches) {
-			final Long segment = match.getSegment();
-			final Integer length = match.getLength();
-//			transaction.remove(segment, LENGTH, length);
-//			transaction.add(segment, LENGTH, 0);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectRouteSensor.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectRouteSensor.java
deleted file mode 100644
index b1b94386e82db870762e75a6710019947eea1b24..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationInjectRouteSensor extends IngraphTransformation<IngraphRouteSensorInjectMatch> {
-
-	public IngraphTransformationInjectRouteSensor(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphRouteSensorInjectMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphRouteSensorInjectMatch match : matches) {
-			final Long route = match.getRoute();
-			final Long sensor = match.getSensor();
-//			transaction.remove(route, REQUIRES, sensor);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 446382d9ace4b87e9b940340ff487c43ce392c2c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationInjectSemaphoreNeighbor extends IngraphTransformation<IngraphSemaphoreNeighborInjectMatch> {
-
-	public IngraphTransformationInjectSemaphoreNeighbor(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphSemaphoreNeighborInjectMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphSemaphoreNeighborInjectMatch match : matches) {
-			final Long route = match.getRoute();
-			// TODO remove all outgoing entry edges of the route
-			//transaction.remove(route, ENTRY, semaphore);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSwitchMonitored.java
deleted file mode 100644
index 398c9723042a2fcb8d553c362001e3af1984e496..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject;
-
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationInjectSwitchMonitored extends IngraphTransformation<IngraphSwitchMonitoredInjectMatch> {
-
-	public IngraphTransformationInjectSwitchMonitored(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphSwitchMonitoredInjectMatch> matches) throws Exception {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphSwitchMonitoredInjectMatch match : matches) {
-			final Long sw = match.getSw();
-			// TODO remove all outgoing MonitoredBy edges of the switch
-		}
-	}
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSwitchSet.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSwitchSet.java
deleted file mode 100644
index 535af6e8a5d513ad7e4d4e3f8ad99443acd987f0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/inject/IngraphTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.inject;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationInjectSwitchSet extends IngraphTransformation<IngraphSwitchSetInjectMatch> {
-
-	public IngraphTransformationInjectSwitchSet(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphSwitchSetInjectMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphSwitchSetInjectMatch match : matches) {
-			final Long sw = match.getSw();
-			// TODO set the position of the switch to the next enum value
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairConnectedSegments.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairConnectedSegments.java
deleted file mode 100644
index b0e5075a79c92369b4214167c03c51b5b9f267fa..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationRepairConnectedSegments extends IngraphTransformation<IngraphConnectedSegmentsMatch> {
-
-	public IngraphTransformationRepairConnectedSegments(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphConnectedSegmentsMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphConnectedSegmentsMatch match : matches) {
-//			transaction.remove(match.getSegment1(), CONNECTS_TO, match.getSegment2());
-//			transaction.remove(match.getSegment2(), CONNECTS_TO, match.getSegment3());
-//			transaction.add(match.getSegment1(), CONNECTS_TO, match.getSegment3());
-//
-//			transaction.remove(match.getSegment2(), "sensor", match.getSensor());
-		}
-	}
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairPosLength.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairPosLength.java
deleted file mode 100644
index 0f044d0fe29629a5e44d25647df51a61acb62cf3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairPosLength.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationRepairPosLength extends IngraphTransformation<IngraphPosLengthMatch> {
-
-	public IngraphTransformationRepairPosLength(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphPosLengthMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphPosLengthMatch match : matches) {
-			final Long segment = match.getSegment();
-			final Integer length = match.getLength();
-			final Integer newLength = -length + 1;
-//			transaction.remove(segment, LENGTH, length);
-//			transaction.add(segment, LENGTH, newLength);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairRouteSensor.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairRouteSensor.java
deleted file mode 100644
index b689cef15fb449db348c544ca290062a8776509c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-import scala.collection.immutable.Map;
-
-public class IngraphTransformationRepairRouteSensor extends IngraphTransformation<IngraphRouteSensorMatch> {
-
-	public IngraphTransformationRepairRouteSensor(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphRouteSensorMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphRouteSensorMatch match : matches) {
-			final Long route = match.getRoute();
-			final Long sensor = match.getSensor();
-
-			transaction.add("_e4", new Map.Map2("route", route, "sensor", sensor));
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 2facbd3617f729537d71697dae7684c2a8f161a3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ENTRY;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-import scala.collection.immutable.Map;
-
-public class IngraphTransformationRepairSemaphoreNeighbor extends IngraphTransformation<IngraphSemaphoreNeighborMatch> {
-
-	public IngraphTransformationRepairSemaphoreNeighbor(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphSemaphoreNeighborMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphSemaphoreNeighborMatch match : matches) {
-			final Long route2 = match.getRoute2();
-			final Long semaphore = match.getSemaphore();
-			transaction.add(ENTRY, new Map.Map2<>("route2", route2, "semaphore", semaphore));
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 74d1574c50b66025029b357bcc11d6c1f6bc041d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair;
-
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationRepairSwitchMonitored extends IngraphTransformation<IngraphSwitchMonitoredMatch> {
-
-	public IngraphTransformationRepairSwitchMonitored(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphSwitchMonitoredMatch> matches) throws Exception {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphSwitchMonitoredMatch match : matches) {
-			final Long sw = match.getSw();
-			final Long sensorID = driver.newKey();
-//			transaction.add(sensorID, "type", SENSOR);
-//			transaction.add(sw, MONITORED_BY, sensorID);
-		}
-	}
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSwitchSet.java b/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSwitchSet.java
deleted file mode 100644
index 708a066e2e7d2ca6af7268617efed9a8c8369f11..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/transformations/repair/IngraphTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.repair;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import hu.bme.mit.ire.Transaction;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.driver.IngraphDriver;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.match.IngraphSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.transformations.IngraphTransformation;
-
-public class IngraphTransformationRepairSwitchSet extends IngraphTransformation<IngraphSwitchSetMatch> {
-
-	public IngraphTransformationRepairSwitchSet(final IngraphDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<IngraphSwitchSetMatch> matches) throws IOException {
-		final Transaction transaction = driver.newTransaction();
-		for (final IngraphSwitchSetMatch match : matches) {
-			final Long sw = match.getSw();
-
-//			transaction.remove(sw, CURRENTPOSITION, match.getCurrentPosition());
-//			transaction.add(sw, CURRENTPOSITION, match.getPosition());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/main/resources/log4j.properties b/trainbenchmark-tool-ingraph/src/main/resources/log4j.properties
deleted file mode 100644
index 8520d48c32d1a5b24caeab92f2ce1ccbaee61bf7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/main/resources/log4j.properties
+++ /dev/null
@@ -1 +0,0 @@
-log4j.rootLogger=OFF
diff --git a/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/IngraphTest.java b/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/IngraphTest.java
deleted file mode 100644
index e3dae7e6675d2a5ba04ae65fa9d7d447d63dcfbf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/IngraphTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.test;
-
-import org.junit.Ignore;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.IngraphBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-@Ignore
-public class IngraphTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final int messageSize = 16;
-		final IngraphBenchmarkConfig bc = new IngraphBenchmarkConfigBuilder().setConfigBase(bcb)
-				.setMessageSize(messageSize).createConfig();
-		final IngraphBenchmarkScenario scenario = IngraphBenchmarkScenario.create(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/queryspecific/IngraphRouteSensorTest.java b/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/queryspecific/IngraphRouteSensorTest.java
deleted file mode 100644
index 46457005448e034336f60e5f5a93276a51f415dd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/queryspecific/IngraphRouteSensorTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.test.queryspecific;
-
-import java.util.Arrays;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.IngraphBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.queryspecific.RouteSensorTest;
-
-@RunWith(Parameterized.class)
-public class IngraphRouteSensorTest extends RouteSensorTest {
-
-	@Parameters(name = "variant={0}")
-	public static Iterable<? extends Object> data() {
-		return Arrays.asList("A", "B", "C");
-	}
-
-	@Parameter
-	public String variant;
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final int messageSize = 16;
-		final IngraphBenchmarkConfig bc = new IngraphBenchmarkConfigBuilder().setConfigBase(bcb)
-				.setMessageSize(messageSize).setQueryVariant(variant).createConfig();
-		final IngraphBenchmarkScenario scenario = IngraphBenchmarkScenario.create(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/queryspecific/IngraphSemaphoreNeighborTest.java b/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/queryspecific/IngraphSemaphoreNeighborTest.java
deleted file mode 100644
index 3f9ee962e897e0e38e0b5ea79050b7078d87cadf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-ingraph/src/test/java/hu/bme/mit/trainbenchmark/benchmark/ingraph/test/queryspecific/IngraphSemaphoreNeighborTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.ingraph.test.queryspecific;
-
-import java.util.Arrays;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.IngraphBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.queryspecific.SemaphoreNeighborTest;
-
-@RunWith(Parameterized.class)
-public class IngraphSemaphoreNeighborTest extends SemaphoreNeighborTest {
-
-	@Parameters
-	public static Iterable<? extends Object> data() {
-		return Arrays.asList("A", "B", "C", "D", "E", "F");
-	}
-
-	@Parameter
-	public String variant;
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final int messageSize = 16;
-		final IngraphBenchmarkConfig bc = new IngraphBenchmarkConfigBuilder().setConfigBase(bcb)
-				.setMessageSize(messageSize).setQueryVariant(variant).createConfig();
-		final IngraphBenchmarkScenario scenario = IngraphBenchmarkScenario.create(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/.gitignore b/trainbenchmark-tool-jena/.gitignore
deleted file mode 100644
index 19f2e002ce4b64ea5d8ee046e9587984ed33e630..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/target
-/target
diff --git a/trainbenchmark-tool-jena/build.gradle b/trainbenchmark-tool-jena/build.gradle
deleted file mode 100644
index 6e8d559970d8264d84b9265b6dc8d9510baf37f4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.jena.JenaBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-rdf')
-	compile group: 'org.apache.jena', name: 'jena-querybuilder', version:'3.0.0'
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/JenaBenchmarkMain.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/JenaBenchmarkMain.java
deleted file mode 100644
index efb00b9609d20479e686b8c0d70f0d900cdfbf91..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/JenaBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.jena;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.jena.config.JenaBenchmarkConfig;
-
-public class JenaBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final JenaBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JenaBenchmarkConfig.class);
-		final JenaBenchmarkScenario scenario = new JenaBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/JenaBenchmarkScenario.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/JenaBenchmarkScenario.java
deleted file mode 100644
index e394c133f2b7a6b82931ed582826dddfe573893f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/JenaBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.jena;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.comparators.JenaMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.jena.config.JenaBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.operations.JenaModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class JenaBenchmarkScenario extends BenchmarkScenario<JenaMatch, JenaDriver, JenaBenchmarkConfig> {
-
-	public JenaBenchmarkScenario(final JenaBenchmarkConfig bc) throws Exception {
-		super(new JenaDriverFactory(bc.isInferencing()), new JenaModelOperationFactory(), new JenaMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/comparators/JenaMatchComparator.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/comparators/JenaMatchComparator.java
deleted file mode 100644
index 81460882701e8b6253cbb4a729c27705faf38cd9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/comparators/JenaMatchComparator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.comparators;
-
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.matches.comparators.BaseMatchComparator;
-
-public class JenaMatchComparator extends BaseMatchComparator<JenaMatch, Resource> {
-
-	public JenaMatchComparator() {
-		super(new ResourceComparator());
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/comparators/ResourceComparator.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/comparators/ResourceComparator.java
deleted file mode 100644
index 2750574658c718ce31830f0cab71b946a96f18d2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/comparators/ResourceComparator.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.comparators;
-
-import java.util.Comparator;
-
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.rdf.RdfHelper;
-
-public class ResourceComparator implements Comparator<Resource> {
-
-	@Override
-	public int compare(final Resource r1, final Resource r2) {
-		final long id1 = RdfHelper.extractId(r1.getURI());
-		final long id2 = RdfHelper.extractId(r2.getURI());
-
-		return Long.compare(id1, id2);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/config/JenaBenchmarkConfig.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/config/JenaBenchmarkConfig.java
deleted file mode 100644
index dbbfd7a2d32198e3de3120cd1d23f38d75762ed8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/config/JenaBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.jena.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfig;
-
-public class JenaBenchmarkConfig extends RdfBenchmarkConfig {
-
-	protected JenaBenchmarkConfig(final BenchmarkConfigBase configBase, final boolean inferencing) {
-		super(configBase, inferencing);
-	}
-
-	@Override
-	public String getToolName() {
-		return "Jena" + getToolNamePostfix();
-	}
-
-	@Override
-	public String getProjectName() {
-		return "jena";
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/config/JenaBenchmarkConfigBuilder.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/config/JenaBenchmarkConfigBuilder.java
deleted file mode 100644
index 74c4c2932704a556bd2b553fe43101aa648bc480..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/config/JenaBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.jena.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfigBuilder;
-
-public class JenaBenchmarkConfigBuilder
-		extends RdfBenchmarkConfigBuilder<JenaBenchmarkConfig, JenaBenchmarkConfigBuilder> {
-
-	@Override
-	public JenaBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new JenaBenchmarkConfig(configBase, inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/JenaDriver.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/JenaDriver.java
deleted file mode 100644
index d4a58238067803eeb60bfebe2e86c800f007710f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/JenaDriver.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.driver;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.List;
-
-import org.apache.jena.query.QueryExecution;
-import org.apache.jena.query.QueryExecutionFactory;
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.query.ResultSet;
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.ModelFactory;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Selector;
-import org.apache.jena.rdf.model.SimpleSelector;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.rdf.model.StmtIterator;
-import org.apache.jena.reasoner.Reasoner;
-import org.apache.jena.reasoner.ReasonerRegistry;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriver;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.rdf.RdfConstants;
-
-public class JenaDriver extends RdfDriver {
-
-	protected Model model;
-
-	protected Comparator<Statement> statementComparator = new StatementComparator();
-
-	public JenaDriver(final boolean inferencing) {
-		super(inferencing);
-	}
-
-	public static JenaDriver create(final boolean inferencing) {
-		return new JenaDriver(inferencing);
-	}
-
-	@Override
-	public void read(final String modelPath) throws IOException {
-		final Model defaultModel = ModelFactory.createDefaultModel();
-		defaultModel.read(modelPath);
-
-		// run inferencing if required
-		if (inferencing) {
-			final Reasoner reasoner = ReasonerRegistry.getRDFSSimpleReasoner();
-			model = ModelFactory.createInfModel(reasoner, defaultModel);
-		} else {
-			model = defaultModel;
-		}
-	}
-
-	public Collection<QuerySolution> runQuery(final RailwayQuery query, final String queryDefinition) throws IOException {
-		final Collection<QuerySolution> results = new ArrayList<>();
-		try (QueryExecution queryExecution = QueryExecutionFactory.create(queryDefinition, model)) {
-			final ResultSet resultSet = queryExecution.execSelect();
-
-			while (resultSet.hasNext()) {
-				final QuerySolution qs = resultSet.next();
-				results.add(qs);
-			}
-		}
-
-		return results;
-	}
-
-	@Override
-	public void destroy() throws IOException {
-		if (model != null) {
-			model.close();
-		}
-	}
-
-	public void deleteOutgoingEdges(final Collection<Resource> vertices, final String edgeType) throws IOException {
-		final Property property = model.getProperty(RdfConstants.BASE_PREFIX + edgeType);
-
-		for (final Resource vertex : vertices) {
-			final Selector selector = new SimpleSelector(vertex, property, (RDFNode) null);
-
-			final StmtIterator edges = model.listStatements(selector);
-
-			final List<Statement> statementsToRemove = new ArrayList<>();
-			while (edges.hasNext()) {
-				final Statement edge = edges.next();
-				statementsToRemove.add(edge);
-			}
-
-			for (final Statement statement : statementsToRemove) {
-				model.remove(statement);
-			}
-		}
-	}
-
-	@Override
-	protected boolean ask(final String askQuery) {
-		try (QueryExecution queryExecution = QueryExecutionFactory.create(askQuery, model)) {
-			final boolean result = queryExecution.execAsk();
-			return result;
-		}
-	}
-
-	public Model getModel() {
-		return model;
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/JenaDriverFactory.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/JenaDriverFactory.java
deleted file mode 100644
index 513a14445c20af7f98eb0c6d67e443abbc75f0cf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/JenaDriverFactory.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.jena.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriverFactory;
-
-public class JenaDriverFactory extends RdfDriverFactory<JenaDriver> {
-
-	public JenaDriverFactory(final boolean inferencing) {
-		super(inferencing);
-	}
-
-	@Override
-	public JenaDriver createInstance() throws Exception {
-		return new JenaDriver(inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/StatementComparator.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/StatementComparator.java
deleted file mode 100644
index 65069ae234efb6dc3cc37aaabe9c1cc83fb0a478..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/driver/StatementComparator.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.driver;
-
-import java.util.Comparator;
-
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Statement;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.comparators.ResourceComparator;
-
-public class StatementComparator implements Comparator<Statement> {
-
-	protected final ResourceComparator resourceComparator = new ResourceComparator();
-
-	@Override
-	public int compare(final Statement o1, final Statement o2) {
-		final Resource r1 = o1.getObject().asResource();
-		final Resource r2 = o2.getObject().asResource();
-
-		return resourceComparator.compare(r1, r2);
-	}
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaConnectedSegmentsInjectMatch.java
deleted file mode 100644
index f6dfdcafb6e978d90fb2f6ee6724d8cd38dd5a47..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-
-public class JenaConnectedSegmentsInjectMatch extends JenaMatch implements ConnectedSegmentsInjectMatch {
-
-	public JenaConnectedSegmentsInjectMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSensor() {
-		return qs.getResource(VAR_SENSOR);
-	}
-
-	@Override
-	public Resource getSegment1() {
-		return qs.getResource(VAR_SEGMENT1);
-	}
-
-	@Override
-	public Resource getSegment3() {
-		return qs.getResource(VAR_SEGMENT3);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaConnectedSegmentsMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaConnectedSegmentsMatch.java
deleted file mode 100644
index 620a7bb4d2ebe1cfa0c98ae568e11dd24c16265b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT4;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT5;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT6;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-
-public class JenaConnectedSegmentsMatch extends JenaMatch implements ConnectedSegmentsMatch {
-
-	public JenaConnectedSegmentsMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSensor() {
-		return qs.getResource(VAR_SENSOR);
-	}
-
-	@Override
-	public Resource getSegment1() {
-		return qs.getResource(VAR_SEGMENT1);
-	}
-
-	@Override
-	public Resource getSegment2() {
-		return qs.getResource(VAR_SEGMENT2);
-	}
-
-	@Override
-	public Resource getSegment3() {
-		return qs.getResource(VAR_SEGMENT3);
-	}
-
-	@Override
-	public Resource getSegment4() {
-		return qs.getResource(VAR_SEGMENT4);
-	}
-
-	@Override
-	public Resource getSegment5() {
-		return qs.getResource(VAR_SEGMENT5);
-	}
-
-	@Override
-	public Resource getSegment6() {
-		return qs.getResource(VAR_SEGMENT6);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaMatch.java
deleted file mode 100644
index 0014f6c631d8f730a93b67d059d07388591de036..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaMatch.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import org.apache.jena.ext.com.google.common.base.Joiner;
-import org.apache.jena.query.QuerySolution;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.BaseMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class JenaMatch extends BaseMatch {
-
-	protected QuerySolution qs;
-
-	public JenaMatch(final QuerySolution qs) {
-		this.qs = qs;
-	}
-
-	public static JenaMatch createMatch(final RailwayQuery query, final QuerySolution qs) {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new JenaConnectedSegmentsMatch(qs);
-		case CONNECTEDSEGMENTS_INJECT:
-			return new JenaConnectedSegmentsInjectMatch(qs);
-		case POSLENGTH:
-			return new JenaPosLengthMatch(qs);
-		case POSLENGTH_INJECT:
-			return new JenaPosLengthInjectMatch(qs);
-		case ROUTESENSOR:
-			return new JenaRouteSensorMatch(qs);
-		case ROUTESENSOR_INJECT:
-			return new JenaRouteSensorInjectMatch(qs);
-		case SEMAPHORENEIGHBOR:
-			return new JenaSemaphoreNeighborMatch(qs);
-		case SEMAPHORENEIGHBOR_INJECT:
-			return new JenaSemaphoreNeighborInjectMatch(qs);
-		case SWITCHMONITORED:
-			return new JenaSwitchMonitoredMatch(qs);
-		case SWITCHMONITORED_INJECT:
-			return new JenaSwitchMonitoredInjectMatch(qs);
-		case SWITCHSET:
-			return new JenaSwitchSetMatch(qs);
-		case SWITCHSET_INJECT:
-			return new JenaSwitchSetInjectMatch(qs);
-		default:
-			throw new UnsupportedOperationException("Pattern not supported: " + query);
-		}
-	}
-
-	@Override
-	public String toString() {
-		final Joiner joiner = Joiner.on(", ");
-		return joiner.join(toArray());
-	}
-	
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaPosLengthInjectMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaPosLengthInjectMatch.java
deleted file mode 100644
index 6b54dc36277944e4a57d946c5766b0066e8724a3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaPosLengthInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthInjectMatch;
-
-public class JenaPosLengthInjectMatch extends JenaMatch implements PosLengthInjectMatch {
-
-	public JenaPosLengthInjectMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSegment() {
-		return qs.getResource(VAR_SEGMENT);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaPosLengthMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaPosLengthMatch.java
deleted file mode 100644
index 55002806671110368bfa02e754097f37031260b9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaPosLengthMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Literal;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class JenaPosLengthMatch extends JenaMatch implements PosLengthMatch {
-
-	public JenaPosLengthMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSegment() {
-		return qs.getResource(VAR_SEGMENT);
-	}
-
-	public Literal getLength() {
-		return qs.getLiteral(VAR_LENGTH);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaRouteSensorInjectMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaRouteSensorInjectMatch.java
deleted file mode 100644
index a0a301be9531ec2db8ee9b3bf2d6550808b9c848..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-
-public class JenaRouteSensorInjectMatch extends JenaMatch implements RouteSensorInjectMatch {
-
-	public JenaRouteSensorInjectMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getRoute() {
-		return qs.getResource(VAR_ROUTE);
-	}
-
-	@Override
-	public Resource getSensor() {
-		return qs.getResource(VAR_SENSOR);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaRouteSensorMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaRouteSensorMatch.java
deleted file mode 100644
index 9cea37c2d120079d14450d742922004e575bd0d4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaRouteSensorMatch.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-
-public class JenaRouteSensorMatch extends JenaMatch implements RouteSensorMatch {
-
-	public JenaRouteSensorMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getRoute() {
-		return qs.getResource(VAR_ROUTE);
-	}
-
-	@Override
-	public Resource getSensor() {
-		return qs.getResource(VAR_SENSOR);
-	}
-
-	@Override
-	public Resource getSwP() {
-		return qs.getResource(VAR_SWP);
-	}
-
-	@Override
-	public Resource getSw() {
-		return qs.getResource(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 6a8c4472cd049e1c6033eec4cab65d9f1dd1e988..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class JenaSemaphoreNeighborInjectMatch extends JenaMatch implements SemaphoreNeighborInjectMatch {
-
-	public JenaSemaphoreNeighborInjectMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getRoute() {
-		return qs.getResource(VAR_ROUTE);
-	}
-
-	@Override
-	public Resource getSemaphore() {
-		return qs.getResource(VAR_SEMAPHORE);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSemaphoreNeighborMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSemaphoreNeighborMatch.java
deleted file mode 100644
index 8011b2d76c5752846e22656f332d669f57126ea2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class JenaSemaphoreNeighborMatch extends JenaMatch implements SemaphoreNeighborMatch {
-
-	public JenaSemaphoreNeighborMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSemaphore() {
-		return qs.getResource(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public Resource getRoute1() {
-		return qs.getResource(VAR_ROUTE1);
-	}
-
-	@Override
-	public Resource getRoute2() {
-		return qs.getResource(VAR_ROUTE2);
-	}
-
-	@Override
-	public Resource getSensor1() {
-		return qs.getResource(VAR_SENSOR1);
-	}
-
-	@Override
-	public Resource getSensor2() {
-		return qs.getResource(VAR_SENSOR2);
-	}
-
-	@Override
-	public Resource getTe1() {
-		return qs.getResource(VAR_TE1);
-	}
-
-	@Override
-	public Resource getTe2() {
-		return qs.getResource(VAR_TE2);
-	}
-	
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchMonitoredInjectMatch.java
deleted file mode 100644
index 1adbe1e400fde176702f7344cfa70c2559513418..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class JenaSwitchMonitoredInjectMatch extends JenaMatch implements SwitchMonitoredInjectMatch {
-
-	public JenaSwitchMonitoredInjectMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSw() {
-		return qs.getResource(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchMonitoredMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchMonitoredMatch.java
deleted file mode 100644
index e1e1b5b60b41171cd3763899b3f042810992827f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class JenaSwitchMonitoredMatch extends JenaMatch implements SwitchMonitoredMatch {
-
-	public JenaSwitchMonitoredMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSw() {
-		return qs.getResource(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchSetInjectMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchSetInjectMatch.java
deleted file mode 100644
index dabfde0d8165fa56cf11ec6df7d015344d4004db..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class JenaSwitchSetInjectMatch extends JenaMatch implements SwitchSetInjectMatch {
-
-	public JenaSwitchSetInjectMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSw() {
-		return qs.getResource(VAR_SW);
-	}
-
-	public Resource getPosition() {
-		return qs.getResource(VAR_POSITION);
-	}
-
-	public Resource getCurrentPosition() {
-		return qs.getResource(VAR_CURRENTPOSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchSetMatch.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchSetMatch.java
deleted file mode 100644
index 0f640eb3110450bb581512153323eb918f19406e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/matches/JenaSwitchSetMatch.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-
-public class JenaSwitchSetMatch extends JenaMatch implements SwitchSetMatch {
-
-	public JenaSwitchSetMatch(final QuerySolution qs) {
-		super(qs);
-	}
-
-	@Override
-	public Resource getSemaphore() {
-		return qs.getResource(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public Resource getRoute() {
-		return qs.getResource(VAR_ROUTE);
-	}
-
-	@Override
-	public Resource getSwP() {
-		return qs.getResource(VAR_SWP);
-	}
-
-	@Override
-	public Resource getSw() {
-		return qs.getResource(VAR_SW);
-	}
-
-	public Resource getPosition() {
-		return qs.getResource(VAR_POSITION);
-	}
-
-	public Resource getCurrentPosition() {
-		return qs.getResource(VAR_CURRENTPOSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/operations/JenaModelOperationFactory.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/operations/JenaModelOperationFactory.java
deleted file mode 100644
index 00c09043bd507eea1610a97832efd4d9fc14f55a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/operations/JenaModelOperationFactory.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.jena.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.queries.JenaQuery;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject.JenaTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject.JenaTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject.JenaTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject.JenaTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject.JenaTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject.JenaTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair.JenaTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair.JenaTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair.JenaTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair.JenaTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair.JenaTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair.JenaTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class JenaModelOperationFactory extends ModelOperationFactory<JenaMatch, JenaDriver> {
-
-	@Override
-	public ModelOperation<? extends JenaMatch, JenaDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final JenaDriver driver) throws Exception {
-
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final JenaQuery<JenaConnectedSegmentsMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final ModelOperation<JenaConnectedSegmentsMatch, JenaDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final JenaQuery<JenaConnectedSegmentsInjectMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS_INJECT);
-			final JenaTransformation<JenaConnectedSegmentsInjectMatch> transformation = new JenaTransformationInjectConnectedSegments(driver);
-			final ModelOperation<JenaConnectedSegmentsInjectMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final JenaQuery<JenaConnectedSegmentsMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final JenaTransformation<JenaConnectedSegmentsMatch> transformation = new JenaTransformationRepairConnectedSegments(driver);
-			final ModelOperation<JenaConnectedSegmentsMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final JenaQuery<JenaPosLengthMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final ModelOperation<JenaPosLengthMatch, JenaDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final JenaQuery<JenaPosLengthInjectMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.POSLENGTH_INJECT);
-			final JenaTransformation<JenaPosLengthInjectMatch> transformation = new JenaTransformationInjectPosLength(driver);
-			final ModelOperation<JenaPosLengthInjectMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-
-		}
-		case POSLENGTH_REPAIR: {
-			final JenaQuery<JenaPosLengthMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final JenaTransformation<JenaPosLengthMatch> transformation = new JenaTransformationRepairPosLength(driver);
-			final ModelOperation<JenaPosLengthMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final JenaQuery<JenaRouteSensorMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final ModelOperation<JenaRouteSensorMatch, JenaDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final JenaQuery<JenaRouteSensorInjectMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.ROUTESENSOR_INJECT);
-			final JenaTransformation<JenaRouteSensorInjectMatch> transformation = new JenaTransformationInjectRouteSensor(driver);
-			final ModelOperation<JenaRouteSensorInjectMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final JenaQuery<JenaRouteSensorMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final JenaTransformation<JenaRouteSensorMatch> transformation = new JenaTransformationRepairRouteSensor(driver);
-			final ModelOperation<JenaRouteSensorMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final JenaQuery<JenaSemaphoreNeighborMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final ModelOperation<JenaSemaphoreNeighborMatch, JenaDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final JenaQuery<JenaSemaphoreNeighborInjectMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR_INJECT);
-			final JenaTransformation<JenaSemaphoreNeighborInjectMatch> transformation = new JenaTransformationInjectSemaphoreNeighbor(driver);
-			final ModelOperation<JenaSemaphoreNeighborInjectMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final JenaQuery<JenaSemaphoreNeighborMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final JenaTransformation<JenaSemaphoreNeighborMatch> transformation = new JenaTransformationRepairSemaphoreNeighbor(driver);
-			final ModelOperation<JenaSemaphoreNeighborMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final JenaQuery<JenaSwitchMonitoredMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final ModelOperation<JenaSwitchMonitoredMatch, JenaDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final JenaQuery<JenaSwitchMonitoredInjectMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SWITCHMONITORED_INJECT);
-			final JenaTransformation<JenaSwitchMonitoredInjectMatch> transformation = new JenaTransformationInjectSwitchMonitored(driver);
-			final ModelOperation<JenaSwitchMonitoredInjectMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final JenaQuery<JenaSwitchMonitoredMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final JenaTransformation<JenaSwitchMonitoredMatch> transformation = new JenaTransformationRepairSwitchMonitored(driver);
-			final ModelOperation<JenaSwitchMonitoredMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final JenaQuery<JenaSwitchSetMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final ModelOperation<JenaSwitchSetMatch, JenaDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final JenaQuery<JenaSwitchSetInjectMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SWITCHSET_INJECT);
-			final JenaTransformation<JenaSwitchSetInjectMatch> transformation = new JenaTransformationInjectSwitchSet(driver);
-			final ModelOperation<JenaSwitchSetInjectMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final JenaQuery<JenaSwitchSetMatch> query = JenaQuery.create(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final JenaTransformation<JenaSwitchSetMatch> transformation = new JenaTransformationRepairSwitchSet(driver);
-			final ModelOperation<JenaSwitchSetMatch, JenaDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-		default:
-			throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/queries/JenaQuery.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/queries/JenaQuery.java
deleted file mode 100644
index 8e1e4090922d08a0c565c4b3fcc50fc6ebe760b7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/queries/JenaQuery.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.queries;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.apache.jena.query.Query;
-import org.apache.jena.query.QueryExecution;
-import org.apache.jena.query.QueryExecutionFactory;
-import org.apache.jena.query.QueryFactory;
-import org.apache.jena.query.QuerySolution;
-import org.apache.jena.query.ResultSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.queries.RdfModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class JenaQuery<TPatternMatch extends JenaMatch> extends RdfModelQuery<TPatternMatch, JenaDriver> {
-
-	protected Query jenaQuery;
-
-	public JenaQuery(final JenaDriver driver, final String workspaceDir, final RailwayQuery query)
-			throws IOException {
-		super(driver, workspaceDir, query);
-		this.jenaQuery = QueryFactory.read(queryPath);
-	}
-	
-	public static <TPatternMatch extends JenaMatch> JenaQuery<TPatternMatch> create(final JenaDriver driver, final String workspaceDir, final RailwayQuery query)
-			throws IOException {
-		return new JenaQuery<TPatternMatch>(driver, workspaceDir, query);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TPatternMatch> evaluate() throws IOException {
-		final List<TPatternMatch> matches = new ArrayList<>();
-
-		try (QueryExecution queryExecution = QueryExecutionFactory.create(jenaQuery, driver.getModel())) {
-			final ResultSet resultSet = queryExecution.execSelect();
-
-			while (resultSet.hasNext()) {
-				final QuerySolution qs = resultSet.next();
-				final JenaMatch match = JenaMatch.createMatch(query, qs);
-				matches.add((TPatternMatch) match);
-			}
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/JenaTransformation.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/JenaTransformation.java
deleted file mode 100644
index 5d6121a357f2d8e5db947bea90de39c7ba86fe48..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/JenaTransformation.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-
-public abstract class JenaTransformation<TObject> extends ModelTransformation<TObject, JenaDriver> {
-
-	protected JenaTransformation(final JenaDriver driver) {
-		super(driver);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectConnectedSegments.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectConnectedSegments.java
deleted file mode 100644
index 786d9dc181c36d6d379dbeeecc40690131a73582..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.vocabulary.RDF;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-
-public class JenaTransformationInjectConnectedSegments extends JenaTransformation<JenaConnectedSegmentsInjectMatch> {
-
-	public JenaTransformationInjectConnectedSegments(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaConnectedSegmentsInjectMatch> matches) throws Exception {
-		final Model model = driver.getModel();
-
-		final Property length = model.getProperty(BASE_PREFIX + ModelConstants.LENGTH);
-		final Property connectsTo = model.getProperty(BASE_PREFIX + ModelConstants.CONNECTS_TO);
-		final Property monitoredBy = model.getProperty(BASE_PREFIX + ModelConstants.MONITORED_BY);
-		final Property segmentType = model.getProperty(BASE_PREFIX + ModelConstants.SEGMENT);
-
-		for (final JenaConnectedSegmentsInjectMatch csim : matches) {
-			// create (segment2) node
-			final Long newVertexId = driver.generateNewVertexId();
-			final Resource segment2 = model.createResource(BASE_PREFIX + ID_PREFIX + newVertexId);
-			model.add(model.createStatement(segment2, RDF.type, segmentType));
-			model.add(model.createLiteralStatement(segment2, length, TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH));
-
-			// (segment1)-[:connectsTo]->(segment2)
-			model.add(csim.getSegment1(), connectsTo, segment2);
-			// (segment2)-[:connectsTo]->(segment3)
-			model.add(segment2, connectsTo, csim.getSegment3());
-			// (segment2)-[:monitoredBy]->(sensor)
-			model.add(segment2, monitoredBy, csim.getSensor());
-
-			// remove (segment1)-[:connectsTo]->(segment3)
-			model.remove(csim.getSegment1(), connectsTo, csim.getSegment3());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectPosLength.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectPosLength.java
deleted file mode 100644
index 2f0d1968e9d0e5786621619e653399a47698eadd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectPosLength.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Selector;
-import org.apache.jena.rdf.model.SimpleSelector;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.rdf.model.StmtIterator;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationInjectPosLength extends JenaTransformation<JenaPosLengthInjectMatch> {
-
-	public JenaTransformationInjectPosLength(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaPosLengthInjectMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-		final Property lengthProperty = model.getProperty(BASE_PREFIX + LENGTH);
-
-		for (final JenaPosLengthInjectMatch match : matches) {
-			final Resource segment = match.getSegment();
-			final Selector selector = new SimpleSelector(segment, lengthProperty, (RDFNode) null);
-			final StmtIterator oldStatements = model.listStatements(selector);
-			if (!oldStatements.hasNext()) {
-				continue;
-
-			}
-			final Statement oldStatement = oldStatements.next();
-			model.remove(oldStatement);
-			final Statement newStatement = model.createLiteralStatement(segment, lengthProperty, 0);
-			model.add(newStatement);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectRouteSensor.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectRouteSensor.java
deleted file mode 100644
index fbb3224f89b4545594d6cf4dd3f4cab80d369b4f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class JenaTransformationInjectRouteSensor extends JenaTransformation<JenaRouteSensorInjectMatch> {
-
-	public JenaTransformationInjectRouteSensor(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaRouteSensorInjectMatch> routeSensorInjectMatchsMatches) throws IOException {
-		final Model model = driver.getModel();
-		final Property requires = model.getProperty(BASE_PREFIX + ModelConstants.REQUIRES);
-		
-		for (final JenaRouteSensorInjectMatch rsim : routeSensorInjectMatchsMatches) {
-			model.remove(rsim.getRoute(), requires, rsim.getSensor()); 
-		}
-	
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 813793704e36de77a2c1aea7f99fb6dc636c5084..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.rdf.RdfConstants;
-
-public class JenaTransformationInjectSemaphoreNeighbor extends JenaTransformation<JenaSemaphoreNeighborInjectMatch> {
-
-	public JenaTransformationInjectSemaphoreNeighbor(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaSemaphoreNeighborInjectMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-		final Property entry = model.getProperty(RdfConstants.BASE_PREFIX + ModelConstants.ENTRY);
-		for (JenaSemaphoreNeighborInjectMatch match : matches) {
-			model.remove(match.getRoute(), entry, match.getSemaphore());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSwitchMonitored.java
deleted file mode 100644
index 19b18fd279d8440141463df80357028250b56cbb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationInjectSwitchMonitored extends JenaTransformation<JenaSwitchMonitoredInjectMatch> {
-
-	public JenaTransformationInjectSwitchMonitored(final JenaDriver jenaDriver) {
-		super(jenaDriver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaSwitchMonitoredInjectMatch> matches) throws IOException {
-		final List<Resource> switches = matches.stream().map(it -> it.getSw()).collect(Collectors.toList());
-		driver.deleteOutgoingEdges(switches, MONITORED_BY);
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSwitchSet.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSwitchSet.java
deleted file mode 100644
index 5194de13ccd941a094b2143ef2afc68fac335919..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/inject/JenaTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Selector;
-import org.apache.jena.rdf.model.SimpleSelector;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.rdf.model.StmtIterator;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-import hu.bme.mit.trainbenchmark.constants.Position;
-import hu.bme.mit.trainbenchmark.rdf.RdfHelper;
-
-public class JenaTransformationInjectSwitchSet extends JenaTransformation<JenaSwitchSetInjectMatch> {
-
-	public JenaTransformationInjectSwitchSet(final JenaDriver jenaDriver) {
-		super(jenaDriver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaSwitchSetInjectMatch> matches) {
-		final Model model = driver.getModel();
-		final Property currentPositionProperty = model.getProperty(BASE_PREFIX + CURRENTPOSITION);
-
-		for (final JenaSwitchSetInjectMatch match : matches) {
-			final Resource sw = match.getSw();
-			
-			final Selector selector = new SimpleSelector(sw, currentPositionProperty, (RDFNode) null);
-			final StmtIterator statementsToRemove = model.listStatements(selector);
-			if (!statementsToRemove.hasNext()) {
-				continue;
-
-			}
-
-			// delete old statement
-			final Statement oldStatement = statementsToRemove.next();
-			model.remove(oldStatement);
-
-			// get next enum value
-			final Resource currentPositionResource = oldStatement.getObject().asResource();
-			final String currentPositionRDFString = currentPositionResource.getLocalName();
-			final String currentPositionString = RdfHelper.removePrefix(Position.class, currentPositionRDFString);
-			final Position currentPosition = Position.valueOf(currentPositionString);
-			final Position newCurrentPosition = Position.values()[(currentPosition.ordinal() + 1) % Position.values().length];
-			final String newCurrentPositionString = RdfHelper.addEnumPrefix(newCurrentPosition);
-			final Resource newCurrentPositionResource = model.createResource(BASE_PREFIX + newCurrentPositionString);
-
-			// set new value
-			final Statement newStatement = model.createLiteralStatement(sw, currentPositionProperty, newCurrentPositionResource);
-			model.add(newStatement);
-
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairConnectedSegments.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairConnectedSegments.java
deleted file mode 100644
index 2666db64c4dfaa53bff90a52442692aad0113087..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Selector;
-import org.apache.jena.rdf.model.SimpleSelector;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.rdf.model.StmtIterator;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class JenaTransformationRepairConnectedSegments extends JenaTransformation<JenaConnectedSegmentsMatch> {
-
-	public JenaTransformationRepairConnectedSegments(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaConnectedSegmentsMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-		final Property connectsToProperty = model.getProperty(BASE_PREFIX + ModelConstants.LENGTH);
-
-		for (final JenaConnectedSegmentsMatch match : matches) {
-			final Resource segment2 = match.getSegment2();
-
-			// delete segment2 by removing all (segment2, _, _) and (_, _, segment2) triples
-			final Collection<Statement> statementsToRemove = new ArrayList<>();
-
-			final Selector selectorOutgoingEdges = new SimpleSelector(segment2, null, (RDFNode) null);
-			final StmtIterator statementsOutgoingEdges = model.listStatements(selectorOutgoingEdges);
-			while (statementsOutgoingEdges.hasNext()) {
-				statementsToRemove.add(statementsOutgoingEdges.next());
-			}
-			final Selector selectorIncomingEdges = new SimpleSelector(null, null, segment2);
-			final StmtIterator statementsIncomingEdges = model.listStatements(selectorIncomingEdges);
-			while (statementsIncomingEdges.hasNext()) {
-				statementsToRemove.add(statementsIncomingEdges.next());
-			}
-			for (final Statement statement : statementsToRemove) {
-				model.remove(statement);
-			}
-
-			// insert (segment1)-[:connectsTo]->(segment3) edge
-			model.add(model.createStatement(match.getSegment1(), connectsToProperty, match.getSegment3()));
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairPosLength.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairPosLength.java
deleted file mode 100644
index 1a898f285e197ff73cd2095d96b5b918f4da0ca3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairPosLength.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.rdf.model.Selector;
-import org.apache.jena.rdf.model.SimpleSelector;
-import org.apache.jena.rdf.model.Statement;
-import org.apache.jena.rdf.model.StmtIterator;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationRepairPosLength extends JenaTransformation<JenaPosLengthMatch> {
-
-	public JenaTransformationRepairPosLength(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaPosLengthMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-		final Property lengthProperty = model.getProperty(BASE_PREFIX + LENGTH);
-
-		for (final JenaPosLengthMatch match : matches) {
-			final Resource segment = match.getSegment();
-			final int length = match.getLength().getInt();
-			final int newLength = -length + 1;
-
-			final Selector selector = new SimpleSelector(segment, lengthProperty, (RDFNode) null);
-			final StmtIterator statementsToRemove = model.listStatements(selector);
-			if (statementsToRemove.hasNext()) {
-				final Statement oldStatement = statementsToRemove.next();
-				model.remove(oldStatement);
-			}
-			
-			final Statement newStatement = model.createLiteralStatement(segment, lengthProperty, newLength);
-			model.add(newStatement);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairRouteSensor.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairRouteSensor.java
deleted file mode 100644
index 46c4a84db80023a863d2027d79ea56f4003fde7d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.REQUIRES;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationRepairRouteSensor extends JenaTransformation<JenaRouteSensorMatch> {
-
-	public JenaTransformationRepairRouteSensor(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaRouteSensorMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-
-		final Property requires = model.getProperty(BASE_PREFIX + REQUIRES);
-		for (final JenaRouteSensorMatch match : matches) {
-			final Resource route = match.getRoute();
-			final Resource sensor = match.getSensor();
-
-			model.add(model.createStatement(route, requires, sensor));
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index b3df02683057e315c9431680d5361ace8c43d5a4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ENTRY;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationRepairSemaphoreNeighbor extends JenaTransformation<JenaSemaphoreNeighborMatch> {
-
-	public JenaTransformationRepairSemaphoreNeighbor(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaSemaphoreNeighborMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-
-		final Property entry = model.getProperty(BASE_PREFIX + ENTRY);
-		for (final JenaSemaphoreNeighborMatch match : matches) {
-			final Resource route2 = match.getRoute2();
-			final Resource semaphore = match.getSemaphore();
-
-			model.add(model.createStatement(route2, entry, semaphore));
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSwitchMonitored.java
deleted file mode 100644
index d869a5f08f5e0589377a1a060fd822ec77f37ddb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SENSOR;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-import org.apache.jena.vocabulary.RDF;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationRepairSwitchMonitored extends JenaTransformation<JenaSwitchMonitoredMatch> {
-
-	public JenaTransformationRepairSwitchMonitored(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaSwitchMonitoredMatch> matches) throws Exception {
-		final Model model = driver.getModel();
-		final Property sensorEdge = model.getProperty(BASE_PREFIX + MONITORED_BY);
-		final Resource sensorType = model.getResource(BASE_PREFIX + SENSOR);
-
-		for (final JenaSwitchMonitoredMatch match : matches) {
-			final Resource sw = match.getSw();
-			final Long newVertexId = driver.generateNewVertexId();
-			final Resource sensor = model.createResource(BASE_PREFIX + ID_PREFIX + newVertexId);
-
-			model.add(model.createStatement(sw, sensorEdge, sensor));
-			model.add(model.createStatement(sensor, RDF.type, sensorType));
-		}
-
-	}
-}
diff --git a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSwitchSet.java b/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSwitchSet.java
deleted file mode 100644
index fd43e82acaf45c0f768ba7b3c98616517db6e61f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/java/hu/bme/mit/trainbenchmark/benchmark/jena/transformations/repair/JenaTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.jena.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.jena.rdf.model.Model;
-import org.apache.jena.rdf.model.Property;
-import org.apache.jena.rdf.model.Resource;
-
-import hu.bme.mit.trainbenchmark.benchmark.jena.driver.JenaDriver;
-import hu.bme.mit.trainbenchmark.benchmark.jena.matches.JenaSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.jena.transformations.JenaTransformation;
-
-public class JenaTransformationRepairSwitchSet extends JenaTransformation<JenaSwitchSetMatch> {
-
-	public JenaTransformationRepairSwitchSet(final JenaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<JenaSwitchSetMatch> matches) throws IOException {
-		final Model model = driver.getModel();
-		final Property currentPositionProperty = model.getProperty(BASE_PREFIX + CURRENTPOSITION);
-
-		for (final JenaSwitchSetMatch match : matches) {
-			final Resource sw = match.getSw();
-
-			model.remove(sw, currentPositionProperty, match.getCurrentPosition());
-			model.add(sw, currentPositionProperty, match.getPosition());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-jena/src/main/resources/log4j.properties b/trainbenchmark-tool-jena/src/main/resources/log4j.properties
deleted file mode 100644
index df642e511712d97db259722334d900766feb0ebf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/main/resources/log4j.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#   Benedek Izso - initial API and implementation
-#   Gabor Szarnyas - initial API and implementation
-###############################################################################
- log4j.rootLogger=OFF
- 
\ No newline at end of file
diff --git a/trainbenchmark-tool-jena/src/test/java/hu/bme/mit/trainbenchmark/benchmark/jena/test/JenaTest.java b/trainbenchmark-tool-jena/src/test/java/hu/bme/mit/trainbenchmark/benchmark/jena/test/JenaTest.java
deleted file mode 100644
index b87ae04b68129542b08f657f024cad4158410482..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-jena/src/test/java/hu/bme/mit/trainbenchmark/benchmark/jena/test/JenaTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.jena.test;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.jena.JenaBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.jena.config.JenaBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.jena.config.JenaBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.tests.RdfTest;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-
-@RunWith(Parameterized.class)
-public class JenaTest extends RdfTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final JenaBenchmarkConfig bc = new JenaBenchmarkConfigBuilder().setConfigBase(bcb).setInferencing(inferencing).createConfig();
-		final JenaBenchmarkScenario scenario = new JenaBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/build.gradle b/trainbenchmark-tool-kiama/build.gradle
deleted file mode 100644
index 3f30b0d5e1687ae10f03b538c1103be5f69b85c3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/build.gradle
+++ /dev/null
@@ -1,32 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-    classifier = 'fat'
-    manifest { attributes('Main-Class': 'de.tudresden.inf.st.train.kiama.KiamaBenchmarkMain')}
-}
-
-
-task kiama(type: JavaExec) {
-    main = "-jar"
-}
-
-sourceSets {
-    main {
-        java {
-            srcDir 'src/main/java'
-        }
-    }
-}
-
-repositories {
-    mavenCentral()
-}
-
-dependencies {
-    runtime files('../trainbenchmark-tool-kiama/libs/kiamatrain.jar')
-    compile files('../trainbenchmark-tool-kiama/libs/kiamatrain.jar')
-    compile project(':trainbenchmark-tool')
-    compile 'org.scala-lang:scala-library:2.12.3'
-    compile 'org.bitbucket.inkytonik.kiama:kiama_2.12:2.1.0'
-    compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1'
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/build.sbt b/trainbenchmark-tool-kiama/kiamatrain-src/build.sbt
deleted file mode 100644
index f6f947fdd402907f07b675a03ef96f36f5cee1bf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/build.sbt
+++ /dev/null
@@ -1,30 +0,0 @@
-val scalatestVersion = "3.0.1"
-val kiamaVersion = "2.1.0"
-
-lazy val commonSettings = Seq(
-  scalaVersion := "2.12.3",
-  version := "1.0",
-  mainClass := None,
-  libraryDependencies ++= Seq(
-    "org.bitbucket.inkytonik.kiama" %% "kiama" % kiamaVersion,
-    "org.scalatest" %% "scalatest" % scalatestVersion % "test"
-  ),
-  javacOptions in Compile ++= Seq("-source", "1.8", "-target", "1.8"),
-  scalacOptions ++= Seq(
-    "-deprecation",
-    "-feature",
-    "-target:jvm-1.8",
-    "-Xfatal-warnings",
-    "-Xlint",
-    "-Xlint:-missing-interpolator",
-    "-Yno-adapted-args",
-    "-Ywarn-numeric-widen",
-    "-Ywarn-value-discard",
-    "-Xfuture")
-)
-
-lazy val root = (project in file(".")).
-  settings(commonSettings: _*).
-  settings(
-    name := "KiamaTrain"
-  )
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/project/build.properties b/trainbenchmark-tool-kiama/kiamatrain-src/project/build.properties
deleted file mode 100644
index 94005e587c98e8f78383cbcc199a32b7477d1b44..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/project/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-sbt.version=1.0.0
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/enums/Position.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/enums/Position.java
deleted file mode 100644
index 916edfbb495566f8974892af05b8827799808e62..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/enums/Position.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.tudresden.inf.st.train.kiama.enums;
-
-public enum Position {
-    FAILURE, STRAIGHT, DIVERGING
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/enums/Signal.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/enums/Signal.java
deleted file mode 100644
index 547dab78245040a1ef2ea6b58eeb888c76050fbf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/enums/Signal.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.tudresden.inf.st.train.kiama.enums;
-
-public enum Signal {
-    FAILURE, STOP, GO
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalConnectedSegmentsInjectMatch.java
deleted file mode 100644
index 59312e7573d7ff7a3ac521d7cbe72fa4865b26d5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-
-public class KiamaInternalConnectedSegmentsInjectMatch {
-
-    protected final Sensor sensor;
-    protected final Segment segment1;
-    protected final Segment segment3;
-
-    public KiamaInternalConnectedSegmentsInjectMatch(final Sensor sensor, final Segment segment1, final Segment segment3) {
-        super();
-        this.sensor = sensor;
-        this.segment1 = segment1;
-        this.segment3 = segment3;
-    }
-
-    public Sensor getSensor() {
-        return sensor;
-    }
-
-    public Segment getSegment1() {
-        return segment1;
-    }
-
-    public Segment getSegment3() {
-        return segment3;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalConnectedSegmentsMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalConnectedSegmentsMatch.java
deleted file mode 100644
index 22d6439d194e64928d96afd012ec78d210f18306..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-
-public class KiamaInternalConnectedSegmentsMatch {
-
-    protected final Sensor sensor;
-    protected final Segment segment1;
-    protected final Segment segment2;
-    protected final Segment segment3;
-    protected final Segment segment4;
-    protected final Segment segment5;
-    protected final Segment segment6;
-
-    public KiamaInternalConnectedSegmentsMatch(final Sensor sensor, final Segment segment1, final Segment segment2,
-                                               final Segment segment3, final Segment segment4, final Segment segment5, final Segment segment6) {
-        super();
-        this.sensor = sensor;
-        this.segment1 = segment1;
-        this.segment2 = segment2;
-        this.segment3 = segment3;
-        this.segment4 = segment4;
-        this.segment5 = segment5;
-        this.segment6 = segment6;
-    }
-
-    public Sensor getSensor() {
-        return sensor;
-    }
-
-    public Segment getSegment1() {
-        return segment1;
-    }
-
-    public Segment getSegment2() {
-        return segment2;
-    }
-
-    public Segment getSegment3() {
-        return segment3;
-    }
-
-    public Segment getSegment4() {
-        return segment4;
-    }
-
-    public Segment getSegment5() {
-        return segment5;
-    }
-
-    public Segment getSegment6() {
-        return segment6;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalPosLengthInjectMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalPosLengthInjectMatch.java
deleted file mode 100644
index 5c7111f05ebb9c5f5b0e22ebded61a7750fc2dc3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalPosLengthInjectMatch.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-
-public class KiamaInternalPosLengthInjectMatch {
-
-    protected final Segment segment;
-
-    public KiamaInternalPosLengthInjectMatch(final Segment segment) {
-        super();
-        this.segment = segment;
-    }
-
-    public Segment getSegment() {
-        return segment;
-    }
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalPosLengthMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalPosLengthMatch.java
deleted file mode 100644
index f68d5e5ce6bfdb5fba5ecf5faa79c96931a71dbd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalPosLengthMatch.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-
-public class KiamaInternalPosLengthMatch {
-
-    protected final Segment segment;
-    protected final int length;
-
-    public KiamaInternalPosLengthMatch(final Segment segment, final int length) {
-        super();
-        this.segment = segment;
-        this.length = length;
-    }
-
-    public Segment getSegment() {
-        return segment;
-    }
-
-    public int getLength() {
-        return length;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalRouteSensorInjectMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalRouteSensorInjectMatch.java
deleted file mode 100644
index 893328958affdd1956d6697586d18af62d42f15c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-
-public class KiamaInternalRouteSensorInjectMatch {
-
-    protected final Route route;
-    protected final Sensor sensor;
-
-    public KiamaInternalRouteSensorInjectMatch(final Route route, final Sensor sensor) {
-        super();
-        this.route = route;
-        this.sensor = sensor;
-    }
-
-    public Route getRoute() {
-        return route;
-    }
-
-    public Sensor getSensor() {
-        return sensor;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalRouteSensorMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalRouteSensorMatch.java
deleted file mode 100644
index 3991ea05814244fde1c33dd706e109d0774d0848..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalRouteSensorMatch.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import de.tudresden.inf.st.train.kiama.ast.SwitchPosition;
-
-public class KiamaInternalRouteSensorMatch {
-
-    protected final Route route;
-    protected final Sensor sensor;
-    protected final SwitchPosition swP;
-    protected final Switch sw;
-
-    public KiamaInternalRouteSensorMatch(final Route route, final Sensor sensor, final SwitchPosition swP, final Switch sw) {
-        super();
-        this.route = route;
-        this.sensor = sensor;
-        this.swP = swP;
-        this.sw = sw;
-    }
-
-    public Route getRoute() {
-        return route;
-    }
-
-    public Sensor getSensor() {
-        return sensor;
-    }
-
-    public SwitchPosition getSwP() {
-        return swP;
-    }
-
-    public Switch getSw() {
-        return sw;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index f088255cfadff86125d3930f9e6ebae07b2b7689..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Semaphore;
-
-public class KiamaInternalSemaphoreNeighborInjectMatch {
-
-    protected final Route route;
-    protected final Semaphore semaphore;
-
-    public KiamaInternalSemaphoreNeighborInjectMatch(final Route route, final Semaphore semaphore) {
-        super();
-        this.route = route;
-        this.semaphore = semaphore;
-    }
-
-    public Route getRoute() {
-        return route;
-    }
-
-    public Semaphore getSemaphore() {
-        return semaphore;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSemaphoreNeighborMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSemaphoreNeighborMatch.java
deleted file mode 100644
index 621673f8423dc8525b401f424aeec1f8e50f3f69..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Semaphore;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.ast.TrackElement;
-
-public class KiamaInternalSemaphoreNeighborMatch {
-
-    protected final Semaphore semaphore;
-    protected final Route route1;
-    protected final Route route2;
-    protected final Sensor sensor1;
-    protected final Sensor sensor2;
-    protected final TrackElement te1;
-    protected final TrackElement te2;
-
-    public KiamaInternalSemaphoreNeighborMatch(final Semaphore semaphore, final Route route1, final Route route2, final Sensor sensor1, final Sensor sensor2,
-                                               final TrackElement te1, final TrackElement te2) {
-        super();
-        this.semaphore = semaphore;
-        this.route1 = route1;
-        this.route2 = route2;
-        this.sensor1 = sensor1;
-        this.sensor2 = sensor2;
-        this.te1 = te1;
-        this.te2 = te2;
-    }
-
-    public Semaphore getSemaphore() {
-        return semaphore;
-    }
-
-    public Route getRoute1() {
-        return route1;
-    }
-
-    public Route getRoute2() {
-        return route2;
-    }
-
-    public Sensor getSensor1() {
-        return sensor1;
-    }
-
-    public Sensor getSensor2() {
-        return sensor2;
-    }
-
-    public TrackElement getTe1() {
-        return te1;
-    }
-
-    public TrackElement getTe2() {
-        return te2;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSwitchSetInjectMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSwitchSetInjectMatch.java
deleted file mode 100644
index ccedaa5ee1719b873a0ab2ed6595cef34d0d2b8c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-
-public class KiamaInternalSwitchSetInjectMatch {
-
-    protected final Switch sw;
-
-    public KiamaInternalSwitchSetInjectMatch(final Switch sw) {
-        super();
-        this.sw = sw;
-    }
-
-    public Switch getSw() {
-        return sw;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSwitchSetMatch.java b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSwitchSetMatch.java
deleted file mode 100644
index bb7d8b03c812e74611e4f1e54b7ac59e95727f1b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaInternalSwitchSetMatch.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Semaphore;
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import de.tudresden.inf.st.train.kiama.ast.SwitchPosition;
-import de.tudresden.inf.st.train.kiama.enums.Position;
-
-public class KiamaInternalSwitchSetMatch {
-
-    protected final Semaphore semaphore;
-    protected final Route route;
-    protected final SwitchPosition swP;
-    protected final Switch sw;
-    protected final Position position;
-    protected final Position currentPosition;
-
-    public KiamaInternalSwitchSetMatch(final Semaphore semaphore, final Route route, final SwitchPosition swP, final Switch sw, final Position position,
-                                     final Position currentPosition) {
-        super();
-        this.semaphore = semaphore;
-        this.route = route;
-        this.swP = swP;
-        this.sw = sw;
-        this.position = position;
-        this.currentPosition = currentPosition;
-    }
-
-    public Semaphore getSemaphore() {
-        return semaphore;
-    }
-
-    public Route getRoute() {
-        return route;
-    }
-
-    public SwitchPosition getSwP() {
-        return swP;
-    }
-
-    public Switch getSw() {
-        return sw;
-    }
-
-    public Position getPosition() {
-        return position;
-    }
-
-    public Position getCurrentPosition() {
-        return currentPosition;
-    }
-
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Id.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Id.scala
deleted file mode 100644
index dcba3c2093a937218d7ceed0fd126a19e70d02fc..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Id.scala
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class Id() extends KiamaTrainTreeNode {
-  var Value: Integer = 0
-
-  override def equals(o: Any) = o match {
-    case other: Id => other.Value.equals(this.Value)
-    case _ => false
-  }
-
-  override def hashCode() = this.Value.hashCode()
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/KiamaTrainTreeNode.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/KiamaTrainTreeNode.scala
deleted file mode 100644
index 1a9b94e1153a7348e89182f8d27df74b75bd02f5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/KiamaTrainTreeNode.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-abstract class KiamaTrainTreeNode extends Product
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/RailwayContainer.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/RailwayContainer.scala
deleted file mode 100644
index 06f3dc88ccd771d4f714bb5a875abb93507e79de..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/RailwayContainer.scala
+++ /dev/null
@@ -1,6 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class RailwayContainer() extends KiamaTrainTreeNode {
-  var Route: java.util.ArrayList[Route] = new java.util.ArrayList[Route]()
-  var Region: java.util.ArrayList[Region] = new java.util.ArrayList[Region]()
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/RailwayElement.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/RailwayElement.scala
deleted file mode 100644
index c11071fbb32979f6fd58dc619c78fa46bd906140..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/RailwayElement.scala
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-abstract class RailwayElement extends KiamaTrainTreeNode {
-  var Id: Id = new Id()
-
-  override def equals(obj: scala.Any): Boolean = obj match {
-    case e: RailwayElement => e.Id.Value.equals(this.Id.Value)
-    case _ => false
-  }
-
-  override def hashCode() = this.Id.Value.hashCode()
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Ref.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Ref.scala
deleted file mode 100644
index a19739acf669878ea10f3031f2478b72b2213f71..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Ref.scala
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class Ref() extends KiamaTrainTreeNode {
-  var Value: Integer = 0
-
-  override def equals(other: Any): Boolean = other match {
-    case r: Ref => r.Value.equals(this.Value)
-    case _ => false
-  }
-
-  override def hashCode() = this.Value.hashCode()
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Region.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Region.scala
deleted file mode 100644
index a06143f2b544f5a1724120e4a7ebf30bca3ce693..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Region.scala
+++ /dev/null
@@ -1,6 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class Region() extends RailwayElement {
-  var TrackElement: java.util.ArrayList[TrackElement] = new java.util.ArrayList[TrackElement]()
-  var Sensor: java.util.ArrayList[Sensor] = new java.util.ArrayList[Sensor]()
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Route.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Route.scala
deleted file mode 100644
index 16a01e1357994e34fa038fd84c1b61cb84c5cb43..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Route.scala
+++ /dev/null
@@ -1,9 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class Route() extends RailwayElement {
-  var Active: Boolean = true
-  var SwitchPosition: java.util.ArrayList[SwitchPosition] = new java.util.ArrayList[SwitchPosition]()
-  var RequiredSensor: java.util.ArrayList[Ref] = new java.util.ArrayList[Ref]()
-  var Entry: java.util.ArrayList[Ref] = new java.util.ArrayList[Ref]()
-  var Exit: java.util.ArrayList[Ref] = new java.util.ArrayList[Ref]()
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Segment.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Segment.scala
deleted file mode 100644
index ed377128b631b371b8366242d0f4921aa1866890..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Segment.scala
+++ /dev/null
@@ -1,6 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class Segment() extends TrackElement {
-  var Length: Integer = 0
-  var Semaphore: java.util.ArrayList[Semaphore] = new java.util.ArrayList[Semaphore]()
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Semaphore.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Semaphore.scala
deleted file mode 100644
index f77fdc9ded52467a125b854c8841b795f39a4629..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Semaphore.scala
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-import de.tudresden.inf.st.train.kiama.enums
-
-case class Semaphore() extends RailwayElement {
-  var Signal: enums.Signal = enums.Signal.GO
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Sensor.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Sensor.scala
deleted file mode 100644
index 6574650d5128871842cf599538370a2ab5e98766..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Sensor.scala
+++ /dev/null
@@ -1,5 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-case class Sensor() extends RailwayElement {
-  var MonitoredElement: java.util.ArrayList[Ref] = new java.util.ArrayList[Ref]()
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Switch.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Switch.scala
deleted file mode 100644
index 72e37e36e549043fb9d97a381fe6948bfe9e438b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/Switch.scala
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-import de.tudresden.inf.st.train.kiama.enums.Position
-
-case class Switch() extends TrackElement {
-  var CurrentPosition: Position = Position.STRAIGHT
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/SwitchPosition.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/SwitchPosition.scala
deleted file mode 100644
index d34ed8b3448ceff07d5189129d9deeb201aadd03..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/SwitchPosition.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-import de.tudresden.inf.st.train.kiama.enums
-
-case class SwitchPosition() extends RailwayElement {
-  var Position: enums.Position = enums.Position.STRAIGHT
-  var Target: Ref = Ref()
-}
\ No newline at end of file
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/TrackElement.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/TrackElement.scala
deleted file mode 100644
index 6e022f20699861f66153c867067b8fcbe3493f97..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/ast/TrackElement.scala
+++ /dev/null
@@ -1,7 +0,0 @@
-package de.tudresden.inf.st.train.kiama.ast
-
-abstract class TrackElement() extends RailwayElement {
-  var ConnectsTo: java.util.ArrayList[Ref] = new java.util.ArrayList[Ref]()
-
-  def getConnectsTo: java.util.ArrayList[Ref] = ConnectsTo
-}
diff --git a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/queries/KiamaTrainQueries.scala b/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/queries/KiamaTrainQueries.scala
deleted file mode 100644
index 9910e2c6ad8fec32e84277d7eeec84c940357bd9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/kiamatrain-src/src/main/scala/de/tudresden/inf/st/train/kiama/queries/KiamaTrainQueries.scala
+++ /dev/null
@@ -1,602 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries
-
-import de.tudresden.inf.st.train.kiama.ast._
-import de.tudresden.inf.st.train.kiama.enums.Signal
-import de.tudresden.inf.st.train.kiama.matches._
-import org.bitbucket.inkytonik.kiama.attribution.Attribution
-
-import scala.collection.JavaConverters._
-
-class KiamaTrainQueries(root: RailwayContainer) extends Attribution {
-
-  val getRoot: RailwayContainer = root match {
-    case c if c != null => c
-    case null => throw new RuntimeException("No root specified!")
-  }
-
-  // attributes for navigation:
-  val segments: (RailwayContainer) => java.util.List[Segment] = attr {
-    container =>
-      val _segments = new java.util.ArrayList[Segment]()
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          val segment = asSegment(trackElement)
-          if (segment != null) _segments.add(segment)
-        }
-      }
-      _segments
-  }
-
-  val segmentMap: (RailwayContainer) => java.util.Map[Integer, Segment] = attr {
-    container =>
-      val _segments = new java.util.HashMap[Integer, Segment]()
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          val segment = asSegment(trackElement)
-          if (segment != null) _segments.put(segment.Id.Value, segment)
-        }
-      }
-      _segments
-  }
-
-  val semaphores: (RailwayContainer) => java.util.List[Semaphore] = attr {
-    container =>
-      val _semaphores = new java.util.ArrayList[Semaphore]()
-      for (segment <- segments(container).asScala) {
-        for (semaphore <- segment.Semaphore.asScala) {
-          _semaphores.add(semaphore)
-        }
-      }
-      _semaphores
-  }
-  val semaphoreMap: (RailwayContainer) => java.util.Map[Integer, Semaphore] = attr {
-    container =>
-      val _semaphores = new java.util.HashMap[Integer, Semaphore]()
-      for (segment <- segments(container).asScala) {
-        for (semaphore <- segment.Semaphore.asScala) {
-          _semaphores.put(semaphore.Id.Value, semaphore)
-        }
-      }
-      _semaphores
-  }
-
-  val sensors: (RailwayContainer) => java.util.List[Sensor] = attr {
-    container =>
-      val _sensors = new java.util.ArrayList[Sensor]()
-      for (region <- container.Region.asScala) {
-        for (sensor <- region.Sensor.asScala) {
-          _sensors.add(sensor)
-        }
-      }
-      _sensors
-  }
-
-  val sensorMap: (RailwayContainer) => java.util.Map[Integer, Sensor] = attr {
-    container =>
-      val _sensors = new java.util.HashMap[Integer, Sensor]()
-      for (region <- container.Region.asScala) {
-        for (sensor <- region.Sensor.asScala) {
-          _sensors.put(sensor.Id.Value, sensor)
-        }
-      }
-      _sensors
-  }
-
-  val trackElements: (RailwayContainer) => java.util.List[TrackElement] = attr {
-    container =>
-      val _trackElements = new java.util.ArrayList[TrackElement]
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          _trackElements.add(trackElement)
-        }
-      }
-      _trackElements
-  }
-
-  val trackElementMap: (RailwayContainer) => java.util.Map[Integer, TrackElement] = attr {
-    container =>
-      val _trackElements = new java.util.HashMap[Integer, TrackElement]()
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          _trackElements.put(trackElement.Id.Value, trackElement)
-        }
-      }
-      _trackElements
-  }
-
-  val switchMap: (RailwayContainer) => java.util.Map[Integer, Switch] = attr {
-    container =>
-      val switches = new java.util.HashMap[Integer, Switch]()
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          val sw = asSwitch(trackElement)
-          if (sw != null) switches.put(sw.Id.Value, sw)
-        }
-      }
-      switches;
-  }
-
-  val refAsTrackElement: (Ref) => TrackElement = attr {
-    ref =>
-      val result = segmentMap(getRoot).get(ref.Value)
-      if (result == null) {
-        switchMap(getRoot).get(ref.Value)
-      } else {
-        result
-      }
-  }
-
-  def getMonitoredElement(s: Sensor): java.util.List[TrackElement] = getMonitoredElementListResolved(s)
-
-  val getMonitoredElementListResolved: (Sensor) => java.util.List[TrackElement] = attr {
-    sensor =>
-      val _trackElements = new java.util.ArrayList[TrackElement]()
-      for (ref <- sensor.MonitoredElement.asScala) {
-        _trackElements.add(refAsTrackElement(ref))
-      }
-      _trackElements
-  }
-
-  def getMonitoredElement(index: Integer, s: Sensor): TrackElement = getMonitoredElementResolved(index)(s)
-
-  val getMonitoredElementResolved: (Integer) => (Sensor) => TrackElement = paramAttr {
-    i =>
-      sensor => trackElementMap(getRoot).get(sensor.MonitoredElement.get(i).Value)
-  }
-
-  val getConnectsToListResolved: (TrackElement) => java.util.List[TrackElement] = attr {
-    trackElement =>
-      val _trackElements = new java.util.ArrayList[TrackElement]()
-      for (teRef <- trackElement.getConnectsTo.asScala) {
-        _trackElements.add(trackElementMap(getRoot).get(teRef.Value))
-      }
-      _trackElements
-  }
-
-  val getRequiredSensorsResolvedForID: (Integer) => (Route) => Sensor = paramAttr {
-    i =>
-      route => sensorMap(getRoot).get(route.RequiredSensor.get(i).Value)
-  }
-
-  val getRequiredSensorsResolved: (Route) => java.util.List[Sensor] = attr {
-    route =>
-      val _sensors = new java.util.ArrayList[Sensor]()
-      for (sensorRef <- route.RequiredSensor.asScala) {
-        _sensors.add(sensorMap(getRoot).get(sensorRef.Value))
-      }
-      _sensors
-  }
-
-  val getEntryResolvedForRoute: (Route) => Semaphore = attr {
-    case r: Route if r.Entry.size() == 1 => semaphoreMap(getRoot).get(r.Entry.get(0).Value)
-    case _ => null
-  }
-
-  val getEntryResolvedForSwitchPosition: (SwitchPosition) => Switch = attr {
-    switchPosition => trackElementMap(getRoot).get(switchPosition.Target.Value).asInstanceOf[Switch]
-  }
-
-  val getExitResolved: (Route) => Semaphore = attr {
-    case r: Route if r.Exit.size() == 1 => semaphoreMap(getRoot).get(r.Exit.get(0).Value)
-    case _ => null
-  }
-
-  val monitoringSensorsForRegion: (Region) => (Switch) => java.util.List[Sensor] = paramAttr {
-    region =>
-      switch =>
-        val _monitoringSensors = new java.util.ArrayList[Sensor]()
-        for (sensor <- region.Sensor.asScala) {
-          for (ref <- sensor.MonitoredElement.asScala) {
-            if (ref.Value.equals(switch.Id.Value)) {
-              _monitoringSensors.add(sensor)
-            }
-          }
-        }
-        _monitoringSensors
-  }
-
-  val monitoringSensorsForRailwayContainer: (Switch) => (RailwayContainer) => java.util.List[Sensor] = paramAttr {
-    switch =>
-      container =>
-        val _monitoringSensors = new java.util.ArrayList[Sensor]()
-        for (region <- container.Region.asScala) {
-          _monitoringSensors.addAll(monitoringSensorsForRegion(region)(switch))
-        }
-        _monitoringSensors
-  }
-
-  def getMonitoringSensorsForSwitch(s: Switch): java.util.List[Sensor] = monitoringSensorsForSwitch(s)
-
-  val monitoringSensorsForSwitch: (Switch) => java.util.List[Sensor] = attr {
-    switch => monitoringSensorsForRailwayContainer(switch)(getRoot)
-  }
-
-  def getIsSwitch(t: TrackElement): Boolean = isSwitch(t)
-
-  val isSwitch: (TrackElement) => Boolean = attr {
-    case _: Switch => true
-    case _: Segment => false
-  }
-
-  def asSwitch(t: TrackElement): Switch = t match {
-    case s: Switch => s
-    case _: Segment => null
-  }
-
-  val isSegment: (TrackElement) => Boolean = attr {
-    case _: Switch => false
-    case _: Segment => true
-  }
-
-  val refAsSegment: (Ref) => Segment = attr {
-    ref =>
-      segmentMap(getRoot).get(ref.Value)
-  }
-
-  def asSegment(t: TrackElement): Segment = t match {
-    case _: Switch => null
-    case s: Segment => s
-  }
-
-  val switches: (RailwayContainer) => java.util.List[Switch] = attr {
-    container =>
-      val _switches = new java.util.ArrayList[Switch]()
-      for (region <- container.Region.asScala) {
-        for (element <- region.TrackElement.asScala) {
-          if (isSwitch(element)) {
-            _switches.add(element.asInstanceOf[Switch])
-          }
-        }
-      }
-      _switches
-  }
-
-  val monitoringSensorsMap: (RailwayContainer) => java.util.Map[Integer, java.util.Set[Sensor]] = attr {
-    container =>
-      val sensorMap = new java.util.HashMap[Integer, java.util.Set[Sensor]]()
-      // fill the keys
-      for (sw <- switches(container).asScala) {
-        sensorMap.put(sw.Id.Value, new java.util.HashSet[Sensor]())
-      }
-      for (segment <- segments(container).asScala) {
-        sensorMap.put(segment.Id.Value, new java.util.HashSet[Sensor]())
-      }
-      // update the values
-      for (sensor <- sensors(container).asScala) {
-        for (teRef <- getMonitoredElementListResolved(sensor).asScala) {
-          sensorMap.get(teRef.Id.Value).add(sensor)
-        }
-      }
-      sensorMap
-  }
-
-  val monitoringSensors: (TrackElement) => java.util.List[Sensor] = attr {
-    element =>
-      val _sensors = new java.util.ArrayList[Sensor]()
-      _sensors.addAll(monitoringSensorsMap(getRoot).get(element.Id.Value))
-      _sensors
-  }
-
-  val requiringRoutes: (Sensor) => java.util.List[Route] = attr {
-    sensor =>
-      val _routes = new java.util.ArrayList[Route]()
-      for (route <- getRoot.Route.asScala) {
-        for (sensorRef <- route.RequiredSensor.asScala) {
-          if (sensorRef.Value.equals(sensor.Id.Value)) {
-            _routes.add(route)
-          }
-        }
-      }
-      _routes
-  }
-
-  val getTargetResolved: (SwitchPosition) => Switch = attr {
-    switchPosition => asSwitch(trackElementMap(getRoot).get(switchPosition.Target.Value))
-  }
-
-  // attributes for queries:
-  val monitors: (Segment) => (Sensor) => Boolean = paramAttr {
-    segment =>
-      sensor => sensor.MonitoredElement.asScala.exists(ref => ref.Value.equals(segment.Id.Value))
-  }
-
-  val connectsToSegments: (TrackElement) => java.util.ArrayList[Segment] = attr {
-    trackElement =>
-      val _segments = new java.util.ArrayList[Segment]()
-      for (ref <- trackElement.ConnectsTo.asScala) {
-        val segment = refAsSegment(ref)
-        if (segment != null) {
-          _segments.add(segment)
-        }
-      }
-      _segments
-  }
-
-  val connectedSegmentsForSensor: (Sensor) => (TrackElement) => java.util.List[Segment] = paramAttr {
-    sensor =>
-      trackElement =>
-        val _segments = new java.util.ArrayList[Segment]()
-        for (segment <- connectsToSegments(trackElement).asScala) {
-          if (monitors(segment)(sensor)) {
-            _segments.add(segment)
-          }
-        }
-        _segments
-  }
-
-  val monitoredSegments: (Sensor) => java.util.List[Segment] = attr {
-    sensor =>
-      val _segments = new java.util.ArrayList[Segment]()
-      for (ref <- sensor.MonitoredElement.asScala) {
-        val segment = refAsSegment(ref)
-        if (segment != null) {
-          _segments.add(segment)
-        }
-      }
-      _segments
-  }
-
-  class ElementComparator(limit: Int) extends java.util.Comparator[java.util.List[_]] {
-    override def compare(o1: java.util.List[_], o2: java.util.List[_]): Int = {
-      val s1 = o1.size()
-      val s2 = o2.size()
-      for (index <- 0 to limit) {
-        val v1 = index match {
-          case i if i < s1 => o1.get(index).hashCode()
-          case _ => 0
-        }
-        val v2 = index match {
-          case i if i < s2 => o2.get(index).hashCode()
-          case _ => 0
-        }
-        if (v1 < v2) return -1
-        else if (v1 > v2) return 1
-      }
-      0
-    }
-  }
-
-  def getConnectedSegments: java.util.List[KiamaInternalConnectedSegmentsMatch] = connectedSegments(getRoot)
-
-  val transConnectedSegments: (Segment) => java.util.SortedSet[java.util.List[Segment]] = attr {
-    segment =>
-      val results = new java.util.TreeSet[java.util.List[Segment]](new ElementComparator(5))
-      for (seg <- connectsToSegments(segment).asScala) {
-        val segmentResult = transConnectedSegments(seg)
-        if (segmentResult.isEmpty) {
-          val newList = new java.util.ArrayList[Segment]()
-          newList.add(seg)
-          results.add(newList)
-        } else {
-          for (segmentList <- segmentResult.asScala) {
-            val newList = new java.util.ArrayList[Segment]()
-            newList.add(seg)
-            for (index <- 0 until Math.min(segmentList.size(), 5)) {
-              newList.add(segmentList.get(index))
-            }
-            results.add(newList)
-          }
-        }
-      }
-      results
-  }
-
-  val connectedSegments: (RailwayContainer) => java.util.List[KiamaInternalConnectedSegmentsMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalConnectedSegmentsMatch]()
-      for (sensor <- sensors(container).asScala) {
-        for (segment <- monitoredSegments(sensor).asScala) {
-          val t = transConnectedSegments(segment).asScala.filter(l => {
-            l.size() >= 5 && (0 until 5).forall(i => monitors(l.get(i))(sensor))
-          })
-          for (segmentSequence <- t) {
-            matches.add(new KiamaInternalConnectedSegmentsMatch(sensor, segment, segmentSequence.get(0), segmentSequence.get(1), segmentSequence.get(2), segmentSequence.get(3), segmentSequence.get(4)))
-          }
-        }
-      }
-      matches
-  }
-
-  def getContainingRegion(tr: TrackElement): Region = containingRegion(tr)
-
-  val containingRegion: (TrackElement) => Region = attr {
-    trackElement =>
-      getRoot.Region.asScala.find(r => {
-        r.TrackElement.asScala.exists(t => t.Id.Value.equals(trackElement.Id.Value))
-      }).get
-  }
-
-  def getConnectedSegmentsInjectMatches: java.util.List[KiamaInternalConnectedSegmentsInjectMatch] = connectedSegmentsInjectMatches(getRoot)
-
-  val connectedSegmentsInjectMatches: (RailwayContainer) => java.util.List[KiamaInternalConnectedSegmentsInjectMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalConnectedSegmentsInjectMatch]()
-      for (sensor <- sensors(container).asScala) {
-        for (segment1 <- monitoredSegments(sensor).asScala) {
-          for (segment3 <- connectedSegmentsForSensor(sensor)(segment1).asScala) {
-            matches.add(new KiamaInternalConnectedSegmentsInjectMatch(sensor, segment1, segment3))
-          }
-        }
-      }
-      matches
-  }
-
-  def getPosLengthMatches: java.util.List[KiamaInternalPosLengthMatch] = posLengthMatches(getRoot)
-
-  val posLengthMatches: (RailwayContainer) => java.util.List[KiamaInternalPosLengthMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalPosLengthMatch]()
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          val segment = asSegment(trackElement)
-          if (segment != null && segment.Length <= 0) {
-            matches.add(new KiamaInternalPosLengthMatch(segment, segment.Length))
-          }
-        }
-      }
-      matches
-
-  }
-
-  def getPosLengthInjectMatches: java.util.List[KiamaInternalPosLengthInjectMatch] = posLengthInjectMatches(getRoot)
-
-  val posLengthInjectMatches: (RailwayContainer) => java.util.List[KiamaInternalPosLengthInjectMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalPosLengthInjectMatch]()
-      for (region <- container.Region.asScala) {
-        for (trackElement <- region.TrackElement.asScala) {
-          val segment = asSegment(trackElement)
-          if (segment != null) {
-            matches.add(new KiamaInternalPosLengthInjectMatch(segment))
-          }
-        }
-      }
-      matches
-  }
-
-  def getRouteSensorMatches: java.util.List[KiamaInternalRouteSensorMatch] = routeSensorMatches(getRoot)
-
-  val routeSensorMatches: (RailwayContainer) => java.util.List[KiamaInternalRouteSensorMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalRouteSensorMatch]()
-      for (route <- container.Route.asScala) {
-        for (sp <- route.SwitchPosition.asScala) {
-          val sw = getTargetResolved(sp)
-          val sensors = monitoringSensors(sw)
-          for (sensor <- sensors.asScala) {
-            var validSensor = false
-            for (sensor2 <- getRequiredSensorsResolved(route).asScala; if sensor2.equals(sensor)) {
-              validSensor = true
-            }
-            if (!validSensor) {
-              matches.add(new KiamaInternalRouteSensorMatch(route, sensor, sp, sw))
-            }
-          }
-        }
-      }
-      matches
-  }
-
-  def getRouteSensorInjectMatches: java.util.List[KiamaInternalRouteSensorInjectMatch] = routeSensorInjectMatches(getRoot)
-
-  val routeSensorInjectMatches: (RailwayContainer) => java.util.List[KiamaInternalRouteSensorInjectMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalRouteSensorInjectMatch]()
-      for (route <- container.Route.asScala) {
-        for (sensor <- getRequiredSensorsResolved(route).asScala) {
-          matches.add(new KiamaInternalRouteSensorInjectMatch(route, sensor))
-        }
-      }
-      matches
-  }
-
-  def getSemaphoreNeighborMatches: java.util.List[KiamaInternalSemaphoreNeighborMatch] = semaphoreNeighborMatches(getRoot)
-
-  val semaphoreNeighborMatches: (RailwayContainer) => java.util.List[KiamaInternalSemaphoreNeighborMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalSemaphoreNeighborMatch]()
-
-      for (route1 <- container.Route.asScala) {
-        val exitRef = route1.Exit.get(0)
-        val exitSemaphore = getExitResolved(route1)
-
-        for (sensor1 <- getRequiredSensorsResolved(route1).asScala) {
-          for (te1 <- getMonitoredElementListResolved(sensor1).asScala) {
-            for (te2 <- getConnectsToListResolved(te1).asScala) {
-              for (sensor2 <- monitoringSensors(te2).asScala) {
-                for (route2 <- requiringRoutes(sensor2).asScala) {
-                  if (!route1.Id.Value.equals(route2.Id.Value)) {
-                    if (route2.Entry.isEmpty || !route2.Entry.get(0).Value.equals(exitRef.Value)) {
-                      matches.add(new KiamaInternalSemaphoreNeighborMatch(exitSemaphore, route1, route2, sensor1, sensor2, te1, te2))
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-      matches
-  }
-
-  def getSemaphoreNeighborInjectMatches: java.util.List[KiamaInternalSemaphoreNeighborInjectMatch] = semaphoreNeighborInjectMatches(getRoot)
-
-  val semaphoreNeighborInjectMatches: (RailwayContainer) => java.util.List[KiamaInternalSemaphoreNeighborInjectMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalSemaphoreNeighborInjectMatch]()
-      for (route <- container.Route.asScala; if !route.Entry.isEmpty) {
-        matches.add(new KiamaInternalSemaphoreNeighborInjectMatch(route, getEntryResolvedForRoute(route)))
-      }
-      matches
-  }
-
-  def getMonitoredSwitches: java.util.List[Switch] = monitoredSwitches(getRoot)
-
-  val monitoredSwitchesForSensor: (Sensor) => java.util.List[Switch] = attr {
-    sensor =>
-      val _switches = new java.util.ArrayList[Switch]()
-      for (ref <- getMonitoredElementListResolved(sensor).asScala) {
-        val sw = asSwitch(ref)
-        if (sw != null) {
-          _switches.add(sw)
-        }
-      }
-      _switches
-  }
-
-  val monitoredSwitches: (RailwayContainer) => java.util.List[Switch] = attr {
-    container =>
-      val mSwitches = new java.util.ArrayList[Switch]()
-      for (sensor <- sensors(container).asScala) {
-        for (switch <- monitoredSwitchesForSensor(sensor).asScala) {
-          mSwitches.add(switch)
-        }
-      }
-      mSwitches
-  }
-
-  def getUnmonitoredSwitches: java.util.List[Switch] = unmonitoredSwitches(getRoot)
-
-  val unmonitoredSwitches: (RailwayContainer) => java.util.List[Switch] = attr {
-    container =>
-      val unmSwitches = new java.util.ArrayList[Switch]()
-      unmSwitches.addAll(switches(container))
-      for (sensor <- sensors(container).asScala) {
-        for (sw <- monitoredSwitchesForSensor(sensor).asScala) {
-          unmSwitches.remove(sw)
-        }
-      }
-      unmSwitches
-  }
-
-  def getSwitchSetMatches: java.util.List[KiamaInternalSwitchSetMatch] = switchSetMatches(getRoot)
-
-  val switchSetMatches: (RailwayContainer) => java.util.List[KiamaInternalSwitchSetMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalSwitchSetMatch]()
-      for (route <- container.Route.asScala) {
-        if (route.Entry.size() == 1 && getEntryResolvedForRoute(route).Signal == Signal.GO) {
-          for (swp <- route.SwitchPosition.asScala) {
-            val target = getTargetResolved(swp)
-            val semaphore = getEntryResolvedForRoute(route)
-            if (swp.Position != target.CurrentPosition) {
-              matches.add(new KiamaInternalSwitchSetMatch(semaphore, route, swp, target, swp.Position, target.CurrentPosition))
-            }
-          }
-        }
-      }
-      matches
-  }
-
-  def getSwitchSetInjectMatches: java.util.List[KiamaInternalSwitchSetInjectMatch] = switchSetInjectMatches(getRoot)
-
-  val switchSetInjectMatches: (RailwayContainer) => java.util.List[KiamaInternalSwitchSetInjectMatch] = attr {
-    container =>
-      val matches = new java.util.ArrayList[KiamaInternalSwitchSetInjectMatch]()
-      for (sw <- switches(container).asScala) {
-        matches.add(new KiamaInternalSwitchSetInjectMatch(sw))
-      }
-      matches
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/libs/kiamatrain.jar b/trainbenchmark-tool-kiama/libs/kiamatrain.jar
deleted file mode 100644
index bbeaf467a139959d478cf87c2ea27ed66ffee99d..0000000000000000000000000000000000000000
Binary files a/trainbenchmark-tool-kiama/libs/kiamatrain.jar and /dev/null differ
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaAbstractBenchmarkScenario.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaAbstractBenchmarkScenario.java
deleted file mode 100644
index ac898b44edaa85a18a958dcb575bfbd560284d07..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaAbstractBenchmarkScenario.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package de.tudresden.inf.st.train.kiama;
-
-import de.tudresden.inf.st.train.kiama.comparators.KiamaMatchComparator;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriverFactory;
-import de.tudresden.inf.st.train.kiama.matches.KiamaMatch;
-import de.tudresden.inf.st.train.kiama.operations.KiamaModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import de.tudresden.inf.st.train.kiama.config.KiamaAbstractBenchmarkConfig;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.PrintStream;
-
-public abstract class KiamaAbstractBenchmarkScenario<TBenchmarkConfigWrapper extends KiamaAbstractBenchmarkConfig> extends
-	BenchmarkScenario<KiamaMatch, KiamaDriver, TBenchmarkConfigWrapper> {
-
-	public KiamaAbstractBenchmarkScenario(final TBenchmarkConfigWrapper bc, boolean flushCaches) throws Exception {
-		super(new KiamaDriverFactory(flushCaches), new KiamaModelOperationFactory(), new KiamaMatchComparator(), bc);
-	}
-
-	@Override
-	protected void performRun() throws Exception {
-		super.performRun();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaBenchmarkMain.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaBenchmarkMain.java
deleted file mode 100644
index 8c32549acb4ac26db9095d635f07759326054a37..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaBenchmarkMain.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.kiama;
-
-import de.tudresden.inf.st.train.kiama.config.KiamaBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-
-public class KiamaBenchmarkMain {
-	public static void main(final String[] args) throws Exception {
-		final KiamaBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], KiamaBenchmarkConfig.class);
-		final KiamaBenchmarkScenario scenario = new KiamaBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaBenchmarkScenario.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaBenchmarkScenario.java
deleted file mode 100644
index 61e188e91ed0cd2eff1360e1e3de108de7b22c35..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/KiamaBenchmarkScenario.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.kiama;
-
-import de.tudresden.inf.st.train.kiama.config.KiamaBenchmarkConfig;
-
-public class KiamaBenchmarkScenario extends
-	KiamaAbstractBenchmarkScenario<KiamaBenchmarkConfig> {
-
-	public KiamaBenchmarkScenario(final KiamaBenchmarkConfig bc) throws Exception {
-		super(bc, true);
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/comparators/KiamaMatchComparator.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/comparators/KiamaMatchComparator.java
deleted file mode 100644
index ea22851d7682f6f802b2864eb00a4ba75078d8bf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/comparators/KiamaMatchComparator.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.tudresden.inf.st.train.kiama.comparators;
-
-import de.tudresden.inf.st.train.kiama.ast.RailwayElement;
-import de.tudresden.inf.st.train.kiama.matches.KiamaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.matches.comparators.BaseMatchComparator;
-
-public class KiamaMatchComparator extends BaseMatchComparator<KiamaMatch, RailwayElement> {
-
-  public KiamaMatchComparator() {
-    super(new RailwayElementComparator());
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/comparators/RailwayElementComparator.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/comparators/RailwayElementComparator.java
deleted file mode 100644
index a4eb0f02b46465f8371ff4c63b3a869be279f200..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/comparators/RailwayElementComparator.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.tudresden.inf.st.train.kiama.comparators;
-
-import de.tudresden.inf.st.train.kiama.ast.RailwayElement;
-
-import java.util.Comparator;
-
-public class RailwayElementComparator implements Comparator<RailwayElement> {
-
-	@Override
-	public int compare(final RailwayElement r1, final RailwayElement r2) {
-		return Integer.compare(r1.Id().Value(), r2.Id().Value());
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaAbstractBenchmarkConfig.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaAbstractBenchmarkConfig.java
deleted file mode 100644
index 8db29cf365fbfe8bc0b926bdf1576cc5cd01bca0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaAbstractBenchmarkConfig.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.kiama.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public abstract class KiamaAbstractBenchmarkConfig extends BenchmarkConfig {
-
-  protected KiamaAbstractBenchmarkConfig(final BenchmarkConfigBase configBase) {
-    super(configBase);
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaBenchmarkConfig.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaBenchmarkConfig.java
deleted file mode 100644
index 9ac4e699176b1ffcfdc2d4b9446cac12cc71c553..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaBenchmarkConfig.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package de.tudresden.inf.st.train.kiama.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class KiamaBenchmarkConfig extends KiamaAbstractBenchmarkConfig {
-
-  protected KiamaBenchmarkConfig(final BenchmarkConfigBase configBase) {
-    super(configBase);
-  }
-
-  @Override
-  public String getToolName() {
-    return "Kiama";
-  }
-
-  @Override
-  public String getProjectName() {
-    return "kiama";
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaBenchmarkConfigBuilder.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaBenchmarkConfigBuilder.java
deleted file mode 100644
index f416a84f90452df4d947edff2f3ea9e35d92112d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/config/KiamaBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.tudresden.inf.st.train.kiama.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class KiamaBenchmarkConfigBuilder extends BenchmarkConfigBuilder<de.tudresden.inf.st.train.kiama.config.KiamaBenchmarkConfig, KiamaBenchmarkConfigBuilder> {
-
-  @Override
-  public KiamaBenchmarkConfig createConfig() {
-    checkNotNulls();
-    return new KiamaBenchmarkConfig(configBase);
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/KiamaDriver.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/KiamaDriver.java
deleted file mode 100644
index ac47ab091a788bd2084b4e6bfa27e8f3b73aeefb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/KiamaDriver.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package de.tudresden.inf.st.train.kiama.driver;
-
-import de.tudresden.inf.st.train.kiama.ast.RailwayContainer;
-import de.tudresden.inf.st.train.kiama.driver.deserializer.JsonDeserializer;
-import de.tudresden.inf.st.train.kiama.queries.KiamaTrainQueries;
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-
-import java.io.File;
-import java.io.IOException;
-
-
-public class KiamaDriver extends Driver {
-
-	public KiamaTrainQueries queries = null;
-	private RailwayContainer root;
-
-	private int idCounter = 0;
-
-	private final boolean flushCaches;
-
-	public KiamaDriver(boolean flushCaches) {
-		super();
-		this.flushCaches = flushCaches;
-	}
-
-	public static KiamaDriver create(boolean flushCaches) {
-		return new KiamaDriver(flushCaches);
-	}
-
-	public int nextId() {
-		idCounter--;
-		return idCounter;
-	}
-
-	public RailwayContainer getModel() {
-		return root;
-	}
-
-	@Override
-	public void read(final String modelPath) throws IOException {
-		File modelFile = new File(modelPath);
-		root = JsonDeserializer.read(modelFile);
-		queries = new KiamaTrainQueries(root);
-	}
-
-	@Override
-	public String getPostfix() {
-		return "-ag.json";
-	}
-
-	public void flushCache() {
-		if (flushCaches) {
-			queries = new KiamaTrainQueries(root);
-		}
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/KiamaDriverFactory.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/KiamaDriverFactory.java
deleted file mode 100644
index f809d4fccfb96dfe4ee5f7871aefdf79198c379c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/KiamaDriverFactory.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package de.tudresden.inf.st.train.kiama.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public class KiamaDriverFactory extends DriverFactory<KiamaDriver> {
-
-	protected final boolean flushCaches;
-
-	public KiamaDriverFactory(boolean flushCaches) {
-		super();
-		this.flushCaches = flushCaches;
-	}
-
-	@Override
-	public KiamaDriver createInstance() throws Exception {
-		return new KiamaDriver(flushCaches);
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/ASTNodeDeserializer.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/ASTNodeDeserializer.java
deleted file mode 100644
index d4a94637ef14922ff67d0177a8e2fac35391a074..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/ASTNodeDeserializer.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package de.tudresden.inf.st.train.kiama.driver.deserializer;
-
-import com.fasterxml.jackson.core.JsonParser;
-import com.fasterxml.jackson.databind.DeserializationContext;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
-import de.tudresden.inf.st.train.kiama.ast.KiamaTrainTreeNode;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-
-/**
- * Created by jm on 5/15/17.
- */
-public class ASTNodeDeserializer extends StdDeserializer<KiamaTrainTreeNode> {
-
-	public ASTNodeDeserializer() {
-		this(null);
-	}
-
-	public ASTNodeDeserializer(Class<?> vc) {
-		super(vc);
-	}
-
-	@Override
-	public KiamaTrainTreeNode deserialize(JsonParser jp, DeserializationContext ctxt)
-		throws IOException {
-
-		JsonNode node = jp.getCodec().readTree(jp);
-
-		return (KiamaTrainTreeNode) deserializeObject(node);
-	}
-
-	private Object deserializeObject(JsonNode node) {
-		if (node.isObject()) {
-			String kind = node.get("k").asText();
-			switch (kind) {
-				case "NT":
-					return deserializeNonterminal(node);
-				case "List":
-					return deserializeList(node);
-				case "Opt":
-					return deserializeOpt(node);
-				case "t":
-					return deserializeTerminal(node);
-				case "enum":
-					return deserializeEnum(node);
-				default:
-					throw new DeserializationException("cannot deserialize node of unknown kind " + kind);
-			}
-		} else {
-			throw new DeserializationException("cannot deserialize non-object node as object node!");
-		}
-	}
-
-	private KiamaTrainTreeNode deserializeNonterminal(JsonNode node) {
-
-		final String packageName = "de.tudresden.inf.st.train.kiama.ast";
-
-		// get the type we want to create
-		String type = node.get("t").asText();
-		Class typeClass;
-		try {
-			typeClass = Class.forName(packageName + "." + type);
-		} catch (ClassNotFoundException e) {
-			throw new DeserializationException("Unable to find class of type " + type + " in package" + packageName, e);
-		}
-
-		// create the instance
-		KiamaTrainTreeNode instance;
-		try {
-			instance = (KiamaTrainTreeNode) (typeClass.getConstructor().newInstance());
-		} catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
-			throw new DeserializationException("Unable to construct a nonterminal of type " + typeClass.getCanonicalName(), e);
-		}
-
-		// call every setter we have a field for
-		Iterator<String> f = node.get("c").fieldNames();
-		while (f.hasNext()) {
-			String fieldName = f.next();
-
-			// serialize the parameter
-			Object parameter = deserializeObject(node.get("c").get(fieldName));
-
-			// find the setter to call
-			boolean isList = node.get("c").get(fieldName).get("k").asText().equals("List");
-			boolean isOpt = node.get("c").get(fieldName).get("k").asText().equals("Opt");
-			// ... by getting its name
-			//String setterName = "set" + fieldName + (isList ? "List" : "") + (isOpt ? "Opt" : "");+ "_$eq";
-			String setterName = fieldName + "_$eq";
-			// ... and its type
-			Class setterType;
-			if (isList) {
-				setterType = java.util.ArrayList.class;
-			} else {
-				setterType = parameter.getClass();
-			}
-
-			// get the method
-			Method method = null;
-			try {
-				method = typeClass.getMethod(setterName, setterType);
-			} catch (NoSuchMethodException e1) {
-				try {
-					if (setterType.equals(Integer.class)) {
-						method = typeClass.getMethod(setterName, int.class);
-					} else if (setterType.equals(Double.class)) {
-						method = typeClass.getMethod(setterName, double.class);
-					} else if (setterType.equals(Long.class)) {
-						method = typeClass.getMethod(setterName, long.class);
-					} else if (setterType.equals(Character.class)) {
-						method = typeClass.getMethod(setterName, char.class);
-					} else if (setterType.equals(Boolean.class)) {
-						method = typeClass.getMethod(setterName, boolean.class);
-					} else if (setterType.equals(Float.class)) {
-						method = typeClass.getMethod(setterName, float.class);
-					}
-				} catch (NoSuchMethodException e2) {
-					throw new DeserializationException("Unable to set value of " + fieldName + " with setter " + setterName, e2);
-				}
-			}
-
-			if (method == null) {
-				throw new DeserializationException("Unable to set value of " + fieldName + " with setter " + setterName);
-			}
-
-			// invoke the method on the instance with the parameter
-			try {
-				method.invoke(instance, parameter);
-			} catch (IllegalAccessException | InvocationTargetException e) {
-				throw new DeserializationException("Unable to set value of " + fieldName + " with setter " + setterName, e);
-			}
-		}
-
-		// finally, return the instance
-		return instance;
-	}
-
-	private java.util.List deserializeOpt(JsonNode node) {
-		java.util.ArrayList list = new java.util.ArrayList();
-		if (node.has("c")) {
-			// opts can only contain Nonterminals
-			KiamaTrainTreeNode value = deserializeNonterminal(node.get("c"));
-			list.add(value);
-			return list;
-
-		} else {
-			return list;
-		}
-	}
-
-	private Object deserializeTerminal(JsonNode node) {
-		// get the type name
-		String typeName = node.get("t").asText();
-
-		// first try the builtin types
-		if (typeName.equals("int") || typeName.equals("Integer")) {
-			return node.get("v").asInt();
-		} else if (typeName.equals("boolean") || typeName.equals("Boolean")) {
-			return node.get("v").asBoolean();
-		} else if (typeName.equals("double") || typeName.equals("Double")) {
-			return node.get("v").asDouble();
-		} else if (typeName.equals("String")) {
-			return node.get("v").asText();
-		} else if (typeName.equals("long") || typeName.equals("Long")) {
-			return node.get("v").asLong();
-		} else {
-			throw new DeserializationException("cannot create object of type " + typeName);
-		}
-	}
-
-	private Enum deserializeEnum(JsonNode node) {
-		final String packageName = "de.tudresden.inf.st.train.kiama.enums";
-
-		// get the type name
-		String typeName = node.get("t").asText();
-		if (typeName.contains("jastadd.ast.Position")) {
-			typeName = packageName + "." + "Position";
-		}
-		if (typeName.contains("jastadd.ast.Signal")) {
-			typeName = packageName + "." + "Signal";
-		}
-
-		Class type;
-		try {
-			type = Class.forName(typeName);
-		} catch (ClassNotFoundException e) {
-			throw new DeserializationException("cannot create enum of type " + typeName, e);
-		}
-
-		Method valueOf;
-		try {
-			valueOf = type.getMethod("valueOf", String.class);
-		} catch (NoSuchMethodException e) {
-			throw new DeserializationException("cannot call valueOf() on enum of type " + typeName, e);
-		}
-		try {
-			return (Enum) valueOf.invoke(null, node.get("v").asText());
-		} catch (IllegalAccessException | InvocationTargetException e) {
-			throw new DeserializationException("cannot call valueOf() on enum of type " + typeName, e);
-		}
-	}
-
-	private java.util.ArrayList deserializeList(JsonNode node) {
-		java.util.ArrayList list = new java.util.ArrayList();
-		Iterator<JsonNode> it = node.get("c").elements();
-		while (it.hasNext()) {
-			JsonNode child = it.next();
-			// lists can only contain Nonterminals
-			list.add(deserializeNonterminal(child));
-		}
-		return list;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/DeserializationException.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/DeserializationException.java
deleted file mode 100644
index 9720e0a00ce17cf8837b8ebad31bf1be5fd74670..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/DeserializationException.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package de.tudresden.inf.st.train.kiama.driver.deserializer;
-
-public class DeserializationException extends RuntimeException {
-  public DeserializationException() {
-  }
-
-  public DeserializationException(String message) {
-    super(message);
-  }
-
-  public DeserializationException(String message, Throwable cause) {
-    super(message, cause);
-  }
-
-  public DeserializationException(Throwable cause) {
-    super(cause);
-  }
-
-  public DeserializationException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
-    super(message, cause, enableSuppression, writableStackTrace);
-  }
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/JsonDeserializer.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/JsonDeserializer.java
deleted file mode 100644
index c0fcb052b02dce4889b3e05499779bb23389bffb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/driver/deserializer/JsonDeserializer.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package de.tudresden.inf.st.train.kiama.driver.deserializer;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.module.SimpleModule;
-import de.tudresden.inf.st.train.kiama.ast.KiamaTrainTreeNode;
-import de.tudresden.inf.st.train.kiama.ast.RailwayContainer;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * Created by jm on 5/15/17.
- */
-public class JsonDeserializer {
-
-	public static RailwayContainer read(File file) {
-		ObjectMapper mapper = new ObjectMapper();
-		SimpleModule module = new SimpleModule();
-		module.addDeserializer(KiamaTrainTreeNode.class, new ASTNodeDeserializer());
-		mapper.registerModule(module);
-
-		try {
-			KiamaTrainTreeNode readValue = mapper.readValue(file, KiamaTrainTreeNode.class);
-
-			if (readValue instanceof RailwayContainer) {
-				return (RailwayContainer) readValue;
-			} else {
-				throw new RuntimeException("Cound not read a complete model");
-			}
-
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		throw new RuntimeException("Cound not read the model file " + file.getName());
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaConnectedSegmentsInjectMatch.java
deleted file mode 100644
index 87f067ea11254be8e04d1b676bcda4ea2c141e51..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-
-public class KiamaConnectedSegmentsInjectMatch extends KiamaMatch implements ConnectedSegmentsInjectMatch {
-
-  protected final Sensor sensor;
-  protected final Segment segment1;
-  protected final Segment segment3;
-
-  public KiamaConnectedSegmentsInjectMatch(final Sensor sensor, final Segment segment1, final Segment segment3) {
-    super();
-    this.sensor = sensor;
-    this.segment1 = segment1;
-    this.segment3 = segment3;
-  }
-
-  @Override
-  public Sensor getSensor() {
-    return sensor;
-  }
-
-  @Override
-  public Segment getSegment1() {
-    return segment1;
-  }
-
-  @Override
-  public Segment getSegment3() {
-    return segment3;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaConnectedSegmentsMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaConnectedSegmentsMatch.java
deleted file mode 100644
index f0ae61458ba2e3c4c98253187eddd888cd052cda..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-
-public class KiamaConnectedSegmentsMatch extends KiamaMatch implements ConnectedSegmentsMatch {
-
-  protected final Sensor sensor;
-  protected final Segment segment1;
-  protected final Segment segment2;
-  protected final Segment segment3;
-  protected final Segment segment4;
-  protected final Segment segment5;
-  protected final Segment segment6;
-
-  public KiamaConnectedSegmentsMatch(final Sensor sensor, final Segment segment1, final Segment segment2,
-                                       final Segment segment3, final Segment segment4, final Segment segment5, final Segment segment6) {
-    super();
-    this.sensor = sensor;
-    this.segment1 = segment1;
-    this.segment2 = segment2;
-    this.segment3 = segment3;
-    this.segment4 = segment4;
-    this.segment5 = segment5;
-    this.segment6 = segment6;
-  }
-
-  @Override
-  public Sensor getSensor() {
-    return sensor;
-  }
-
-  @Override
-  public Segment getSegment1() {
-    return segment1;
-  }
-
-  @Override
-  public Segment getSegment2() {
-    return segment2;
-  }
-
-  @Override
-  public Segment getSegment3() {
-    return segment3;
-  }
-
-  @Override
-  public Segment getSegment4() {
-    return segment4;
-  }
-
-  @Override
-  public Segment getSegment5() {
-    return segment5;
-  }
-
-  @Override
-  public Segment getSegment6() {
-    return segment6;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaMatch.java
deleted file mode 100644
index 14cfccc4928a53447b0c8d613438cc3167c59105..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaMatch.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.BaseMatch;
-
-import java.util.Arrays;
-
-public abstract class KiamaMatch extends BaseMatch {
-
-  @Override
-  public String toString() {
-    return "KiamaMatch [match=" + Arrays.toString(toArray()) + "]";
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaPosLengthInjectMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaPosLengthInjectMatch.java
deleted file mode 100644
index e7533ed2a69393f3c3c9f9fc50efd790fd1ef9a4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaPosLengthInjectMatch.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthInjectMatch;
-
-public class KiamaPosLengthInjectMatch extends KiamaMatch implements PosLengthInjectMatch {
-
-  protected final Segment segment;
-
-  public KiamaPosLengthInjectMatch(final Segment segment) {
-    super();
-    this.segment = segment;
-  }
-
-  @Override
-  public Segment getSegment() {
-    return segment;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaPosLengthMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaPosLengthMatch.java
deleted file mode 100644
index 838b161349e44eb46eba4347f31fb228397a2e26..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaPosLengthMatch.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class KiamaPosLengthMatch extends KiamaMatch implements PosLengthMatch {
-
-  protected final Segment segment;
-  protected final int length;
-
-  public KiamaPosLengthMatch(final Segment segment, final int length) {
-    super();
-    this.segment = segment;
-    this.length = length;
-  }
-
-  @Override
-  public Segment getSegment() {
-    return segment;
-  }
-
-  public int getLength() {
-    return length;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaRouteSensorInjectMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaRouteSensorInjectMatch.java
deleted file mode 100644
index a29b8451107c89e49928ea62686ed0831f46020e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-
-public class KiamaRouteSensorInjectMatch extends KiamaMatch implements RouteSensorInjectMatch {
-
-  protected final Route route;
-  protected final Sensor sensor;
-
-  public KiamaRouteSensorInjectMatch(final Route route, final Sensor sensor) {
-    super();
-    this.route = route;
-    this.sensor = sensor;
-  }
-
-  @Override
-  public Route getRoute() {
-    return route;
-  }
-
-  @Override
-  public Sensor getSensor() {
-    return sensor;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaRouteSensorMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaRouteSensorMatch.java
deleted file mode 100644
index beee8ba476c0f020beb5be650375bd424fc5419b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaRouteSensorMatch.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import de.tudresden.inf.st.train.kiama.ast.SwitchPosition;
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-
-public class KiamaRouteSensorMatch extends KiamaMatch implements RouteSensorMatch {
-
-  protected final Route route;
-  protected final Sensor sensor;
-  protected final SwitchPosition swP;
-  protected final Switch sw;
-
-  public KiamaRouteSensorMatch(final Route route, final Sensor sensor, final SwitchPosition swP, final Switch sw) {
-    super();
-    this.route = route;
-    this.sensor = sensor;
-    this.swP = swP;
-    this.sw = sw;
-  }
-
-  @Override
-  public String toString() {
-    return "[RouteSensorMatch Route:" + route.Id() + " Sensor:" + sensor.Id() + " SwitchPos:"
-      + swP.Id() + " Switch:" + sw.Id() + "]";
-  }
-
-  @Override
-  public Route getRoute() {
-    return route;
-  }
-
-  @Override
-  public Sensor getSensor() {
-    return sensor;
-  }
-
-  @Override
-  public SwitchPosition getSwP() {
-    return swP;
-  }
-
-  @Override
-  public Switch getSw() {
-    return sw;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index fd6865af9b68f400c98dbd34d48a6ecd813a29bf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Semaphore;
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class KiamaSemaphoreNeighborInjectMatch extends KiamaMatch implements SemaphoreNeighborInjectMatch {
-
-  protected final Route route;
-  protected final Semaphore semaphore;
-
-  public KiamaSemaphoreNeighborInjectMatch(final Route route, final Semaphore semaphore) {
-    super();
-    this.route = route;
-    this.semaphore = semaphore;
-  }
-
-  @Override
-  public Route getRoute() {
-    return route;
-  }
-
-  @Override
-  public Semaphore getSemaphore() {
-    return semaphore;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSemaphoreNeighborMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSemaphoreNeighborMatch.java
deleted file mode 100644
index 9d81ac1005dfa2a4b967034788a29d7f9cc294d5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Semaphore;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.ast.TrackElement;
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class KiamaSemaphoreNeighborMatch extends KiamaMatch implements SemaphoreNeighborMatch {
-
-  protected final Semaphore semaphore;
-  protected final Route route1;
-  protected final Route route2;
-  protected final Sensor sensor1;
-  protected final Sensor sensor2;
-  protected final TrackElement te1;
-  protected final TrackElement te2;
-
-  public KiamaSemaphoreNeighborMatch(final Semaphore semaphore, final Route route1, final Route route2, final Sensor sensor1, final Sensor sensor2,
-                                       final TrackElement te1, final TrackElement te2) {
-    super();
-    this.semaphore = semaphore;
-    this.route1 = route1;
-    this.route2 = route2;
-    this.sensor1 = sensor1;
-    this.sensor2 = sensor2;
-    this.te1 = te1;
-    this.te2 = te2;
-  }
-
-  @Override
-  public Semaphore getSemaphore() {
-    return semaphore;
-  }
-
-  @Override
-  public Route getRoute1() {
-    return route1;
-  }
-
-  @Override
-  public Route getRoute2() {
-    return route2;
-  }
-
-  @Override
-  public Sensor getSensor1() {
-    return sensor1;
-  }
-
-  @Override
-  public Sensor getSensor2() {
-    return sensor2;
-  }
-
-  @Override
-  public TrackElement getTe1() {
-    return te1;
-  }
-
-  @Override
-  public TrackElement getTe2() {
-    return te2;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchMonitoredInjectMatch.java
deleted file mode 100644
index a59eb47943fed143cbd2f589411a0201eaa6ae42..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class KiamaSwitchMonitoredInjectMatch extends KiamaMatch implements SwitchMonitoredInjectMatch {
-
-  protected final Switch sw;
-
-  public KiamaSwitchMonitoredInjectMatch(final Switch sw) {
-    super();
-    this.sw = sw;
-  }
-
-  @Override
-  public Switch getSw() {
-    return sw;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchMonitoredMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchMonitoredMatch.java
deleted file mode 100644
index d666490e0940930ac7476f2644bb4f1a533a7ae3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class KiamaSwitchMonitoredMatch extends KiamaMatch implements SwitchMonitoredMatch {
-
-  protected final Switch sw;
-
-  public KiamaSwitchMonitoredMatch(final Switch sw) {
-    super();
-    this.sw = sw;
-  }
-
-  @Override
-  public Switch getSw() {
-    return sw;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchSetInjectMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchSetInjectMatch.java
deleted file mode 100644
index 197a174d2d255108cd3ef6cfeb1c75c3dad240be..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class KiamaSwitchSetInjectMatch extends KiamaMatch implements SwitchSetInjectMatch {
-
-  protected final Switch sw;
-
-  public KiamaSwitchSetInjectMatch(final Switch sw) {
-    super();
-    this.sw = sw;
-  }
-
-  @Override
-  public Switch getSw() {
-    return sw;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchSetMatch.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchSetMatch.java
deleted file mode 100644
index 6aa52f9d16b7014bc8f4f5583c2e9c8a61fed63b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/matches/KiamaSwitchSetMatch.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package de.tudresden.inf.st.train.kiama.matches;
-
-import de.tudresden.inf.st.train.kiama.ast.*;
-import de.tudresden.inf.st.train.kiama.enums.Position;
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-
-public class KiamaSwitchSetMatch extends KiamaMatch implements SwitchSetMatch {
-
-	protected final Semaphore semaphore;
-	protected final Route route;
-	protected final SwitchPosition swP;
-	protected final Switch sw;
-	protected final Position position;
-	protected final Position currentPosition;
-
-	public KiamaSwitchSetMatch(final Semaphore semaphore, final Route route, final SwitchPosition swP, final Switch sw, final Position position,
-							   final Position currentPosition) {
-		super();
-		this.semaphore = semaphore;
-		this.route = route;
-		this.swP = swP;
-		this.sw = sw;
-		this.position = position;
-		this.currentPosition = currentPosition;
-	}
-
-	@Override
-	public Semaphore getSemaphore() {
-		return semaphore;
-	}
-
-	@Override
-	public Route getRoute() {
-		return route;
-	}
-
-	@Override
-	public SwitchPosition getSwP() {
-		return swP;
-	}
-
-	@Override
-	public Switch getSw() {
-		return sw;
-	}
-
-	public Position getPosition() {
-		return position;
-	}
-
-	public Position getCurrentPosition() {
-		return currentPosition;
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/operations/KiamaModelOperationFactory.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/operations/KiamaModelOperationFactory.java
deleted file mode 100644
index a3d1802824d05f5323327a87481a5c1f44ae625e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/operations/KiamaModelOperationFactory.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package de.tudresden.inf.st.train.kiama.operations;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.*;
-import de.tudresden.inf.st.train.kiama.queries.*;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-import de.tudresden.inf.st.train.kiama.transformations.inject.*;
-import de.tudresden.inf.st.train.kiama.transformations.repair.*;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class KiamaModelOperationFactory extends ModelOperationFactory<KiamaMatch, KiamaDriver> {
-
-  @Override
-  public ModelOperation<? extends KiamaMatch, KiamaDriver> createOperation(final RailwayOperation operationEnum,
-                                                                               final String workspaceDir,
-                                                                               final KiamaDriver driver) throws Exception {
-
-    switch (operationEnum) {
-      // ConnectedSegments
-      case CONNECTEDSEGMENTS: {
-        final KiamaQuery<KiamaConnectedSegmentsMatch> query = new KiamaQueryConnectedSegments<>(driver);
-        final ModelOperation<KiamaConnectedSegmentsMatch, KiamaDriver> operation = ModelOperation.of(query);
-        return operation;
-      }
-      case CONNECTEDSEGMENTS_INJECT: {
-        final KiamaQuery<KiamaConnectedSegmentsInjectMatch> query = new KiamaQueryConnectedSegmentsInject<>(driver);
-        final KiamaTransformation<KiamaConnectedSegmentsInjectMatch, KiamaDriver> transformation = new KiamaTransformationInjectConnectedSegments<>(
-          driver);
-        final ModelOperation<KiamaConnectedSegmentsInjectMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-      case CONNECTEDSEGMENTS_REPAIR: {
-        final KiamaQuery<KiamaConnectedSegmentsMatch> query = new KiamaQueryConnectedSegments<>(driver);
-        final KiamaTransformation<KiamaConnectedSegmentsMatch, KiamaDriver> transformation = new KiamaTransformationRepairConnectedSegments<>(
-          driver);
-        final ModelOperation<KiamaConnectedSegmentsMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-
-      // PosLength
-      case POSLENGTH: {
-        final KiamaQuery<KiamaPosLengthMatch> query = new KiamaQueryPosLength<>(driver);
-        final ModelOperation<KiamaPosLengthMatch, KiamaDriver> operation = ModelOperation.of(query);
-        return operation;
-      }
-      case POSLENGTH_INJECT: {
-        final KiamaQuery<KiamaPosLengthInjectMatch> query = new KiamaQueryPosLengthInject<>(driver);
-        final KiamaTransformation<KiamaPosLengthInjectMatch, KiamaDriver> transformation = new KiamaTransformationInjectPosLength<>(
-          driver);
-        final ModelOperation<KiamaPosLengthInjectMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-      case POSLENGTH_REPAIR: {
-        final KiamaQuery<KiamaPosLengthMatch> query = new KiamaQueryPosLength<>(driver);
-        final KiamaTransformation<KiamaPosLengthMatch, KiamaDriver> transformation = new KiamaTransformationRepairPosLength<>(
-          driver);
-        final ModelOperation<KiamaPosLengthMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-
-      // RouteSensor
-      case ROUTESENSOR: {
-        final KiamaQuery<KiamaRouteSensorMatch> query = new KiamaQueryRouteSensor<>(driver);
-        final ModelOperation<KiamaRouteSensorMatch, KiamaDriver> operation = ModelOperation.of(query);
-        return operation;
-      }
-      case ROUTESENSOR_INJECT: {
-        final KiamaQuery<KiamaRouteSensorInjectMatch> query = new KiamaQueryRouteSensorInject<>(driver);
-        final KiamaTransformation<KiamaRouteSensorInjectMatch, KiamaDriver> transformation = new KiamaTransformationInjectRouteSensor<>(
-          driver);
-        final ModelOperation<KiamaRouteSensorInjectMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-      case ROUTESENSOR_REPAIR: {
-        final KiamaQuery<KiamaRouteSensorMatch> query = new KiamaQueryRouteSensor<>(driver);
-        final KiamaTransformation<KiamaRouteSensorMatch, KiamaDriver> transformation = new KiamaTransformationRepairRouteSensor<>(
-          driver);
-        final ModelOperation<KiamaRouteSensorMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-
-      // SemaphoreNeighbor
-      case SEMAPHORENEIGHBOR: {
-        final KiamaQuery<KiamaSemaphoreNeighborMatch> query = new KiamaQuerySemaphoreNeighbor<>(driver);
-        final ModelOperation<KiamaSemaphoreNeighborMatch, KiamaDriver> operation = ModelOperation.of(query);
-        return operation;
-      }
-      case SEMAPHORENEIGHBOR_INJECT: {
-        final KiamaQuery<KiamaSemaphoreNeighborInjectMatch> query = new KiamaQuerySemaphoreNeighborInject<>(driver);
-        final KiamaTransformation<KiamaSemaphoreNeighborInjectMatch, KiamaDriver> transformation = new KiamaTransformationInjectSemaphoreNeighbor<>(
-          driver);
-        final ModelOperation<KiamaSemaphoreNeighborInjectMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-      case SEMAPHORENEIGHBOR_REPAIR: {
-        final KiamaQuery<KiamaSemaphoreNeighborMatch> query = new KiamaQuerySemaphoreNeighbor<>(driver);
-        final KiamaTransformation<KiamaSemaphoreNeighborMatch, KiamaDriver> transformation = new KiamaTransformationRepairSemaphoreNeighbor<>(
-          driver);
-        final ModelOperation<KiamaSemaphoreNeighborMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-
-      // SwitchMonitored
-      case SWITCHMONITORED: {
-        final KiamaQuery<KiamaSwitchMonitoredMatch> query = new KiamaQuerySwitchMonitored<>(driver);
-        final ModelOperation<KiamaSwitchMonitoredMatch, KiamaDriver> operation = ModelOperation.of(query);
-        return operation;
-      }
-      case SWITCHMONITORED_INJECT: {
-        final KiamaQuery<KiamaSwitchMonitoredInjectMatch> query = new KiamaQuerySwitchMonitoredInject<>(driver);
-        final KiamaTransformation<KiamaSwitchMonitoredInjectMatch, KiamaDriver> transformation = new KiamaTransformationInjectSwitchMonitored<>(
-          driver);
-        final ModelOperation<KiamaSwitchMonitoredInjectMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-      case SWITCHMONITORED_REPAIR: {
-        final KiamaQuery<KiamaSwitchMonitoredMatch> query = new KiamaQuerySwitchMonitored<>(driver);
-        final KiamaTransformation<KiamaSwitchMonitoredMatch, KiamaDriver> transformation = new KiamaTransformationRepairSwitchMonitored<>(
-          driver);
-        final ModelOperation<KiamaSwitchMonitoredMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-
-      // SwitchSet
-      case SWITCHSET: {
-        final KiamaQuery<KiamaSwitchSetMatch> query = new KiamaQuerySwitchSet<>(driver);
-        final ModelOperation<KiamaSwitchSetMatch, KiamaDriver> operation = ModelOperation.of(query);
-        return operation;
-      }
-      case SWITCHSET_INJECT: {
-        final KiamaQuery<KiamaSwitchSetInjectMatch> query = new KiamaQuerySwitchSetInject<>(driver);
-        final KiamaTransformation<KiamaSwitchSetInjectMatch, KiamaDriver> transformation = new KiamaTransformationInjectSwitchSet<>(driver);
-        final ModelOperation<KiamaSwitchSetInjectMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-      case SWITCHSET_REPAIR: {
-        final KiamaQuery<KiamaSwitchSetMatch> query = new KiamaQuerySwitchSet<>(driver);
-        final KiamaTransformation<KiamaSwitchSetMatch, KiamaDriver> transformation = new KiamaTransformationRepairSwitchSet<>(driver);
-        final ModelOperation<KiamaSwitchSetMatch, KiamaDriver> operation = ModelOperation.of(query, transformation);
-        return operation;
-      }
-
-      default:
-        throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-    }
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuery.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuery.java
deleted file mode 100644
index d48a38db52ba772bb99f032f84b16f1de7b51a89..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuery.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.io.IOException;
-import java.util.Collection;
-
-public class KiamaQuery<TPatternMatch extends KiamaMatch> extends
-  ModelQuery<TPatternMatch, KiamaDriver> {
-
-  public KiamaQuery(final RailwayQuery query, final KiamaDriver driver) {
-    super(query, driver);
-  }
-
-  @SuppressWarnings("unchecked")
-  @Override
-  public Collection<TPatternMatch> evaluate() throws IOException {
-    return null;
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryConnectedSegments.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryConnectedSegments.java
deleted file mode 100644
index aebcb43522ea923a8090222ac21591c852d097f8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryConnectedSegments.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaConnectedSegmentsMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQueryConnectedSegments<TKiamaDriver extends KiamaDriver>
-	extends KiamaQuery<KiamaConnectedSegmentsMatch> {
-
-	public KiamaQueryConnectedSegments(final TKiamaDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS, driver);
-	}
-
-	@Override
-	public Collection<KiamaConnectedSegmentsMatch> evaluate() throws IOException {
-		Collection<KiamaInternalConnectedSegmentsMatch> source = driver.queries.getConnectedSegments();
-		List<KiamaConnectedSegmentsMatch> target = new ArrayList<>();
-		for (KiamaInternalConnectedSegmentsMatch m : source) {
-			target.add(new KiamaConnectedSegmentsMatch(m.getSensor(), m.getSegment1(), m.getSegment2(), m.getSegment3(), m.getSegment4(), m.getSegment5(), m.getSegment6()));
-		}
-		return target;
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryConnectedSegmentsInject.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryConnectedSegmentsInject.java
deleted file mode 100644
index fc6afe2e6f6d102c43bb0a91100666028f46a70b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryConnectedSegmentsInject.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaConnectedSegmentsInjectMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQueryConnectedSegmentsInject<TKiamaDriver extends KiamaDriver>
-	extends KiamaQuery<KiamaConnectedSegmentsInjectMatch> {
-
-	public KiamaQueryConnectedSegmentsInject(final TKiamaDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS_INJECT, driver);
-	}
-
-	@Override
-	public Collection<KiamaConnectedSegmentsInjectMatch> evaluate() throws IOException {
-		Collection<KiamaInternalConnectedSegmentsInjectMatch> source = driver.queries.getConnectedSegmentsInjectMatches();
-		List<KiamaConnectedSegmentsInjectMatch> target = new ArrayList<>();
-		for (KiamaInternalConnectedSegmentsInjectMatch m : source) {
-			target.add(new KiamaConnectedSegmentsInjectMatch(m.getSensor(), m.getSegment1(), m.getSegment3()));
-		}
-		return target;
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryPosLength.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryPosLength.java
deleted file mode 100644
index 344bbfefc9d5d43c307f9b9023f312b578d4b060..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryPosLength.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalPosLengthMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaPosLengthMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQueryPosLength<TKiamaDriver extends KiamaDriver> extends KiamaQuery<KiamaPosLengthMatch> {
-
-	public KiamaQueryPosLength(final TKiamaDriver driver) {
-		super(RailwayQuery.POSLENGTH, driver);
-	}
-
-	@Override
-	public Collection<KiamaPosLengthMatch> evaluate() {
-		Collection<KiamaInternalPosLengthMatch> source = driver.queries.getPosLengthMatches();
-		List<KiamaPosLengthMatch> target = new ArrayList<>();
-		for (KiamaInternalPosLengthMatch m : source) {
-			target.add(new KiamaPosLengthMatch(m.getSegment(), m.getLength()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryPosLengthInject.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryPosLengthInject.java
deleted file mode 100644
index a8d1f34ce2ea7df72ac78152c00256e956684b8b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryPosLengthInject.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalPosLengthInjectMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQueryPosLengthInject<TKiamaDriver extends KiamaDriver> extends KiamaQuery<KiamaPosLengthInjectMatch> {
-
-	public KiamaQueryPosLengthInject(final TKiamaDriver driver) {
-		super(RailwayQuery.POSLENGTH_INJECT, driver);
-	}
-
-	@Override
-	public Collection<KiamaPosLengthInjectMatch> evaluate() {
-		Collection<KiamaInternalPosLengthInjectMatch> source = driver.queries.getPosLengthInjectMatches();
-		List<KiamaPosLengthInjectMatch> target = new ArrayList<>();
-		for (KiamaInternalPosLengthInjectMatch m : source) {
-			target.add(new KiamaPosLengthInjectMatch(m.getSegment()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryRouteSensor.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryRouteSensor.java
deleted file mode 100644
index e2d93702b95e6e7aa6e83952e02605c691f56a11..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryRouteSensor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalRouteSensorMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQueryRouteSensor<TKiamaDriver extends KiamaDriver> extends
-	KiamaQuery<KiamaRouteSensorMatch> {
-
-	public KiamaQueryRouteSensor(final TKiamaDriver driver) {
-		super(RailwayQuery.ROUTESENSOR, driver);
-	}
-
-	@Override
-	public Collection<KiamaRouteSensorMatch> evaluate() {
-		Collection<KiamaInternalRouteSensorMatch> source = driver.queries.getRouteSensorMatches();
-		List<KiamaRouteSensorMatch> target = new ArrayList<>();
-		for (KiamaInternalRouteSensorMatch m : source) {
-			target.add(new KiamaRouteSensorMatch(m.getRoute(), m.getSensor(), m.getSwP(), m.getSw()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryRouteSensorInject.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryRouteSensorInject.java
deleted file mode 100644
index d2a937b4f626f1af6d24910e8395caccae8f9552..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQueryRouteSensorInject.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalRouteSensorInjectMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQueryRouteSensorInject<TKiamaDriver extends KiamaDriver>
-	extends KiamaQuery<KiamaRouteSensorInjectMatch> {
-
-	public KiamaQueryRouteSensorInject(final TKiamaDriver driver) {
-		super(RailwayQuery.ROUTESENSOR_INJECT, driver);
-	}
-
-	@Override
-	public Collection<KiamaRouteSensorInjectMatch> evaluate() {
-		Collection<KiamaInternalRouteSensorInjectMatch> source = driver.queries.getRouteSensorInjectMatches();
-		List<KiamaRouteSensorInjectMatch> target = new ArrayList<>();
-		for (KiamaInternalRouteSensorInjectMatch m : source) {
-			target.add(new KiamaRouteSensorInjectMatch(m.getRoute(), m.getSensor()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySemaphoreNeighbor.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySemaphoreNeighbor.java
deleted file mode 100644
index 61024f8816920cf780538e513da32a069db2dbf9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySemaphoreNeighbor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalSemaphoreNeighborMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQuerySemaphoreNeighbor<TKiamaDriver extends KiamaDriver> extends KiamaQuery<KiamaSemaphoreNeighborMatch> {
-
-	public KiamaQuerySemaphoreNeighbor(final TKiamaDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR, driver);
-	}
-
-	@Override
-	public Collection<KiamaSemaphoreNeighborMatch> evaluate() {
-		Collection<KiamaInternalSemaphoreNeighborMatch> source = driver.queries.getSemaphoreNeighborMatches();
-		List<KiamaSemaphoreNeighborMatch> target = new ArrayList<>();
-		for (KiamaInternalSemaphoreNeighborMatch m : source) {
-			target.add(new KiamaSemaphoreNeighborMatch(m.getSemaphore(), m.getRoute1(), m.getRoute2(), m.getSensor1(), m.getSensor2(), m.getTe1(), m.getTe2()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySemaphoreNeighborInject.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySemaphoreNeighborInject.java
deleted file mode 100644
index 9518f4d15c346524ed639021c453e230d512970e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySemaphoreNeighborInject.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalSemaphoreNeighborInjectMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQuerySemaphoreNeighborInject<TKiamaDriver extends KiamaDriver>
-	extends KiamaQuery<KiamaSemaphoreNeighborInjectMatch> {
-
-	public KiamaQuerySemaphoreNeighborInject(final TKiamaDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR_INJECT, driver);
-	}
-
-	@Override
-	public Collection<KiamaSemaphoreNeighborInjectMatch> evaluate() {
-		Collection<KiamaInternalSemaphoreNeighborInjectMatch> source = driver.queries.getSemaphoreNeighborInjectMatches();
-		List<KiamaSemaphoreNeighborInjectMatch> target = new ArrayList<>();
-		for (KiamaInternalSemaphoreNeighborInjectMatch m : source) {
-			target.add(new KiamaSemaphoreNeighborInjectMatch(m.getRoute(), m.getSemaphore()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchMonitored.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchMonitored.java
deleted file mode 100644
index 4f05f8807b9e3d1d0b00d04694d6d207561ebd0c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchMonitored.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-public class KiamaQuerySwitchMonitored<TKiamaDriver extends KiamaDriver> extends
-	KiamaQuery<KiamaSwitchMonitoredMatch> {
-
-	public KiamaQuerySwitchMonitored(final TKiamaDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED, driver);
-	}
-
-	@Override
-	public Collection<KiamaSwitchMonitoredMatch> evaluate() {
-		final Collection<KiamaSwitchMonitoredMatch> matches = new ArrayList<>();
-
-		for (final Switch sw : driver.queries.getUnmonitoredSwitches()) {
-			matches.add(new KiamaSwitchMonitoredMatch(sw));
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchMonitoredInject.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchMonitoredInject.java
deleted file mode 100644
index b8f7642fbb3938518d1abb244f9ab5d8e14a0855..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchMonitoredInject.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-public class KiamaQuerySwitchMonitoredInject<TKiamaDriver extends KiamaDriver>
-	extends KiamaQuery<KiamaSwitchMonitoredInjectMatch> {
-
-	public KiamaQuerySwitchMonitoredInject(final TKiamaDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED_INJECT, driver);
-	}
-
-	@Override
-	public Collection<KiamaSwitchMonitoredInjectMatch> evaluate() {
-		final Collection<KiamaSwitchMonitoredInjectMatch> matches = new ArrayList<>();
-
-		for (final Switch sw : driver.queries.getMonitoredSwitches()) {
-			matches.add(new KiamaSwitchMonitoredInjectMatch(sw));
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchSet.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchSet.java
deleted file mode 100644
index 7652aa250f387307cb4fd2c2bb58b2b43a88b26a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchSet.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalSwitchSetMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-
-public class KiamaQuerySwitchSet<TKiamaDriver extends KiamaDriver> extends KiamaQuery<KiamaSwitchSetMatch> {
-
-	public KiamaQuerySwitchSet(final TKiamaDriver driver) {
-		super(RailwayQuery.SWITCHSET, driver);
-	}
-
-	@Override
-	public Collection<KiamaSwitchSetMatch> evaluate() {
-		Collection<KiamaInternalSwitchSetMatch> source = driver.queries.getSwitchSetMatches();
-		List<KiamaSwitchSetMatch> target = new ArrayList<>();
-		for (KiamaInternalSwitchSetMatch m : source) {
-			target.add(new KiamaSwitchSetMatch(m.getSemaphore(), m.getRoute(), m.getSwP(), m.getSw(), m.getPosition(), m.getCurrentPosition()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchSetInject.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchSetInject.java
deleted file mode 100644
index a3827ff461917c0e8701dcd6b7882d926978597a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/queries/KiamaQuerySwitchSetInject.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package de.tudresden.inf.st.train.kiama.queries;
-
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaInternalSwitchSetInjectMatch;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaQuerySwitchSetInject<TKiamaDriver extends KiamaDriver>
-	extends KiamaQuery<KiamaSwitchSetInjectMatch> {
-
-	public KiamaQuerySwitchSetInject(final TKiamaDriver driver) {
-		super(RailwayQuery.SWITCHSET_INJECT, driver);
-	}
-
-	@Override
-	public Collection<KiamaSwitchSetInjectMatch> evaluate() {
-		Collection<KiamaInternalSwitchSetInjectMatch> source = driver.queries.getSwitchSetInjectMatches();
-		List<KiamaSwitchSetInjectMatch> target = new ArrayList<>();
-		for (KiamaInternalSwitchSetInjectMatch m : source) {
-			target.add(new KiamaSwitchSetInjectMatch(m.getSw()));
-		}
-		return target;
-	}
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/KiamaTransformation.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/KiamaTransformation.java
deleted file mode 100644
index 46289736ce93d60eb66ae4a1a699889de8becdb4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/KiamaTransformation.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-
-public abstract class KiamaTransformation<TMatch extends KiamaMatch, TKiamaDriver extends KiamaDriver>
-  extends ModelTransformation<TMatch, TKiamaDriver> {
-
-  protected KiamaTransformation(final TKiamaDriver driver) {
-    super(driver);
-  }
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectConnectedSegments.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectConnectedSegments.java
deleted file mode 100644
index 9033dcd5ace120dffbab9d9ce484b4f08ec760c0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.inject;
-
-import de.tudresden.inf.st.train.kiama.ast.*;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaConnectedSegmentsInjectMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-public class KiamaTransformationInjectConnectedSegments<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaConnectedSegmentsInjectMatch, TKiamaDriver> {
-
-	public KiamaTransformationInjectConnectedSegments(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaConnectedSegmentsInjectMatch> matches) {
-		for (final KiamaConnectedSegmentsInjectMatch match : matches) {
-			// create segment2
-			ArrayList<Ref> connectedSegments = new ArrayList<>();
-			Ref ref = new Ref();
-			ref.Value_$eq(match.getSegment3().Id().Value());
-			connectedSegments.add(ref);
-			Segment segment2 = new Segment();
-			Id id = new Id();
-			id.Value_$eq(driver.nextId());
-			segment2.Id_$eq(id);
-			segment2.ConnectsTo_$eq(connectedSegments);
-			segment2.Length_$eq(TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH);
-
-			driver.queries.getContainingRegion(match.getSegment1()).TrackElement().add(segment2);
-
-			// have the sensor monitor the segment
-			Ref ref2 = new Ref();
-			ref2.Value_$eq(segment2.Id().Value());
-			match.getSensor().MonitoredElement().add(ref2);
-
-			// remove the connection of segment1 to segment3
-			Ref f = new Ref();
-			f.Value_$eq(match.getSegment3().Id().Value());
-			match.getSegment1().ConnectsTo().remove(f);
-
-			// connect segment1 to segment2
-			match.getSegment1().ConnectsTo().add(ref2);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectPosLength.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectPosLength.java
deleted file mode 100644
index 295784e14bc35e121a9d56242333f5398bad5bc4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectPosLength.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.inject;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaPosLengthInjectMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationInjectPosLength<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaPosLengthInjectMatch, TKiamaDriver> {
-
-	public KiamaTransformationInjectPosLength(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaPosLengthInjectMatch> matches) {
-		for (final KiamaPosLengthInjectMatch match : matches) {
-			match.getSegment().Length_$eq(0);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectRouteSensor.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectRouteSensor.java
deleted file mode 100644
index 7380e29ef8c5093b2f8f14d387d1b357e69f6a43..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.inject;
-
-import de.tudresden.inf.st.train.kiama.ast.Ref;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaRouteSensorInjectMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-public class KiamaTransformationInjectRouteSensor<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaRouteSensorInjectMatch, TKiamaDriver> {
-
-	public KiamaTransformationInjectRouteSensor(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaRouteSensorInjectMatch> matches) {
-		for (final KiamaRouteSensorInjectMatch match : matches) {
-			ArrayList<Ref> refList = match.getRoute().RequiredSensor();
-			refList.removeIf(ref -> ref.Value().equals(match.getSensor().Id().Value()));
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 6806b9459bddd34aea1fe8f507c1c3ba6945bb26..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.inject;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSemaphoreNeighborInjectMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationInjectSemaphoreNeighbor<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaSemaphoreNeighborInjectMatch, TKiamaDriver> {
-
-	public KiamaTransformationInjectSemaphoreNeighbor(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaSemaphoreNeighborInjectMatch> matches) {
-		for (final KiamaSemaphoreNeighborInjectMatch match : matches) {
-			match.getRoute().Entry().clear();
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSwitchMonitored.java
deleted file mode 100644
index 9f36fdbbadc733a27b29f51c2cfa0bf0502f0991..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.inject;
-
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.ast.Switch;
-import de.tudresden.inf.st.train.kiama.ast.TrackElement;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchMonitoredInjectMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-import java.util.List;
-
-public class KiamaTransformationInjectSwitchMonitored<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaSwitchMonitoredInjectMatch, TKiamaDriver> {
-
-	public KiamaTransformationInjectSwitchMonitored(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaSwitchMonitoredInjectMatch> matches) {
-		for (final KiamaSwitchMonitoredInjectMatch match : matches) {
-			// TODO rewrite this ugly and slow piece of code!
-			Switch sw = match.getSw();
-			List<Sensor> sensors = driver.queries.getMonitoringSensorsForSwitch(sw);
-			for (final Sensor sensor : sensors) {
-				boolean changed = false;
-				while (!changed) {
-					for (int refIndex = 0; refIndex < sensor.MonitoredElement().size(); refIndex++) {
-						TrackElement element = driver.queries.getMonitoredElement(refIndex, sensor);
-						if (element.equals(match.getSw())) {
-							sensor.MonitoredElement().remove(refIndex);
-							changed = true;
-							break;
-						}
-					}
-				}
-			}
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSwitchSet.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSwitchSet.java
deleted file mode 100644
index 78cd9054059ab50602e9b58d7c9a696b756957fb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/inject/KiamaTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.inject;
-
-
-import de.tudresden.inf.st.train.kiama.enums.Position;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchSetInjectMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationInjectSwitchSet<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaSwitchSetInjectMatch, TKiamaDriver> {
-
-	public KiamaTransformationInjectSwitchSet(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaSwitchSetInjectMatch> matches) {
-		for (final KiamaSwitchSetInjectMatch match : matches) {
-			Position oldPosition = match.getSw().CurrentPosition();
-			Position newPosition = oldPosition == Position.DIVERGING ? Position.FAILURE : (oldPosition == Position.FAILURE ? Position.STRAIGHT : Position.DIVERGING);
-			match.getSw().CurrentPosition_$eq(newPosition);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairConnectedSegments.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairConnectedSegments.java
deleted file mode 100644
index 816f40c2ccee7edffffe2eaf256d2d1e7a4af81e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.repair;
-
-
-import de.tudresden.inf.st.train.kiama.ast.*;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaConnectedSegmentsMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationRepairConnectedSegments<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaConnectedSegmentsMatch, TKiamaDriver> {
-
-	public KiamaTransformationRepairConnectedSegments(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaConnectedSegmentsMatch> matches) {
-		for (final KiamaConnectedSegmentsMatch match : matches) {
-			final Segment segment2 = match.getSegment2();
-			Ref f = new Ref();
-			f.Value_$eq(segment2.Id().Value());
-
-			// delete all references to segment2 (monitoring sensors and other segments connecting to it)
-			for (Region region : driver.getModel().Region()) {
-				for (Sensor sensor : region.Sensor()) {
-					sensor.MonitoredElement().remove(f);
-				}
-				for (TrackElement element : region.TrackElement()) {
-					element.ConnectsTo().remove(f);
-				}
-			}
-			// TODO: is this possible with Kiama?
-			//segment2.removeSelf();
-			driver.queries.getContainingRegion(segment2).TrackElement().remove(segment2);
-			// connect segment1 to segment3
-			Ref r = new Ref();
-			r.Value_$eq(match.getSegment3().Id().Value());
-			match.getSegment1().ConnectsTo().add(r);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairPosLength.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairPosLength.java
deleted file mode 100644
index dfa2c662a1a769f03a422de997f9e1ff1211af99..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairPosLength.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.repair;
-
-import de.tudresden.inf.st.train.kiama.ast.Segment;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaPosLengthMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationRepairPosLength<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaPosLengthMatch, TKiamaDriver> {
-
-	public KiamaTransformationRepairPosLength(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaPosLengthMatch> matches) {
-		for (final KiamaPosLengthMatch plm : matches) {
-			final Segment segment = plm.getSegment();
-			segment.Length_$eq(-segment.Length() + 1);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairRouteSensor.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairRouteSensor.java
deleted file mode 100644
index c940541198e9b686d95411c8d5339effdf4744fe..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.repair;
-
-import de.tudresden.inf.st.train.kiama.ast.Ref;
-import de.tudresden.inf.st.train.kiama.ast.Route;
-import de.tudresden.inf.st.train.kiama.ast.Sensor;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaRouteSensorMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationRepairRouteSensor<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaRouteSensorMatch, TKiamaDriver> {
-
-	public KiamaTransformationRepairRouteSensor(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaRouteSensorMatch> matches) {
-		for (final KiamaRouteSensorMatch rsm : matches) {
-			final Route route = rsm.getRoute();
-			final Sensor sensor = rsm.getSensor();
-			Ref r = new Ref();
-			r.Value_$eq(sensor.Id().Value());
-			route.RequiredSensor().add(r);
-			driver.flushCache();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 23ac515acbe060b791b9084f2c9621bb84d84c27..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.repair;
-
-import de.tudresden.inf.st.train.kiama.ast.Ref;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSemaphoreNeighborMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationRepairSemaphoreNeighbor<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaSemaphoreNeighborMatch, TKiamaDriver> {
-
-	public KiamaTransformationRepairSemaphoreNeighbor(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaSemaphoreNeighborMatch> matches) {
-		for (final KiamaSemaphoreNeighborMatch match : matches) {
-			Ref r = new Ref();
-			r.Value_$eq(match.getSemaphore().Id().Value());
-			match.getRoute2().Entry().add(r);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 311609edd2e183f18231eb509c0cae8786a6ebac..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.repair;
-
-import de.tudresden.inf.st.train.kiama.ast.*;
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchMonitoredMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Objects;
-
-public class KiamaTransformationRepairSwitchMonitored<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaSwitchMonitoredMatch, TKiamaDriver> {
-
-	public KiamaTransformationRepairSwitchMonitored(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaSwitchMonitoredMatch> matches) {
-		for (final KiamaSwitchMonitoredMatch ssnm : matches) {
-
-			// gather the stuff we need to create a sensor:
-			int id = driver.nextId();
-			ArrayList<Ref> refList = new ArrayList<>();
-			Ref ref = new Ref();
-			ref.Value_$eq(ssnm.getSw().Id().Value());
-			refList.add(ref);
-
-			Sensor sensor = new Sensor();
-			Id i = new Id();
-			i.Value_$eq(id);
-			sensor.Id_$eq(i);
-			sensor.MonitoredElement_$eq(refList);
-
-			ArrayList<Region> allRegions = driver.getModel().Region();
-			Region r = null;
-			for (Region cr : allRegions) {
-				ArrayList<TrackElement> te = cr.TrackElement();
-				for (TrackElement e : te) {
-					if (e.Id().Value().equals(ssnm.getSw().Id().Value())) {
-						r = cr;
-					}
-				}
-			}
-
-			r.Sensor().add(sensor);
-		}
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSwitchSet.java b/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSwitchSet.java
deleted file mode 100644
index cf86888e497bda5294612e7a5b04128718c77fda..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/main/java/de/tudresden/inf/st/train/kiama/transformations/repair/KiamaTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package de.tudresden.inf.st.train.kiama.transformations.repair;
-
-import de.tudresden.inf.st.train.kiama.driver.KiamaDriver;
-import de.tudresden.inf.st.train.kiama.matches.KiamaSwitchSetMatch;
-import de.tudresden.inf.st.train.kiama.transformations.KiamaTransformation;
-
-import java.util.Collection;
-
-public class KiamaTransformationRepairSwitchSet<TKiamaDriver extends KiamaDriver>
-	extends KiamaTransformation<KiamaSwitchSetMatch, TKiamaDriver> {
-
-	public KiamaTransformationRepairSwitchSet(final TKiamaDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<KiamaSwitchSetMatch> matches) {
-		for (final KiamaSwitchSetMatch match : matches) {
-			match.getSw().CurrentPosition_$eq(match.getSwP().Position());
-		}
-
-		driver.flushCache();
-	}
-
-}
diff --git a/trainbenchmark-tool-kiama/src/test/java/de/tudresden/inf/st/train/kiama/test/KiamaTest.java b/trainbenchmark-tool-kiama/src/test/java/de/tudresden/inf/st/train/kiama/test/KiamaTest.java
deleted file mode 100644
index 1764fa5911d2322634961cad7b300c8a8ee263c7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-kiama/src/test/java/de/tudresden/inf/st/train/kiama/test/KiamaTest.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.tudresden.inf.st.train.kiama.test;
-
-import de.tudresden.inf.st.train.kiama.KiamaBenchmarkScenario;
-import de.tudresden.inf.st.train.kiama.config.KiamaBenchmarkConfig;
-import de.tudresden.inf.st.train.kiama.config.KiamaBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-import org.junit.Assume;
-
-public class KiamaTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final KiamaBenchmarkConfig bc = new KiamaBenchmarkConfigBuilder().setConfigBase(bcb).createConfig();
-		final KiamaBenchmarkScenario scenario = new KiamaBenchmarkScenario(bc);
-		return scenario.performBenchmark();
-	}
-
-	private void no() { Assume.assumeTrue(false); }
-
-	@Override public void injectTest() throws Exception { no(); }
-
-}
diff --git a/trainbenchmark-tool-mysql/.gitignore b/trainbenchmark-tool-mysql/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-tool-mysql/README.md b/trainbenchmark-tool-mysql/README.md
deleted file mode 100644
index 0219d6215f434e809d039c7dc9e36d8e1f455064..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Train Benchmark MySQL implementation
-
-Add the following to `/etc/apt/sources.list` (e.g. `sudo nano /etc/apt/sources.list`):
-
-```
-deb http://repo.mysql.com/apt/ubuntu/ trusty mysql-5.7
-deb-src http://repo.mysql.com/apt/ubuntu/ trusty mysql-5.7
-```
-
-Install/update MySQL server.
-
-```bash
-sudo apt-get update
-sudo apt-get install -y mysql-server
-```
-
-## Ubuntu 16.04
-
-On Ubuntu 16.04, you can install MySQL without adding third-party repostories. However, in some installations the login does not work: even if you leave the `root` user's password empty during the install, you will *not* be able to login with the `root` user. To fix this, follow [this guide](http://askubuntu.com/a/784347/415610):
-
-```
-$ sudo service mysql start
-$ sudo mysql -u root
-mysql> DROP USER 'root'@'localhost';
-mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';
-mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
-mysql> FLUSH PRIVILEGES;
-```
diff --git a/trainbenchmark-tool-mysql/build.gradle b/trainbenchmark-tool-mysql/build.gradle
deleted file mode 100644
index d9697a79f971349d61e93b5d1bd9f3dea036d197..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.mysql.MySqlBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-sql')
-	compile group: 'mysql', name: 'mysql-connector-java', version:'5.1.38'
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/MySqlBenchmarkMain.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/MySqlBenchmarkMain.java
deleted file mode 100644
index 149f6abef77ca54997b7bde725aba972da2db0f4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/MySqlBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.mysql;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.config.MySqlBenchmarkConfig;
-
-public class MySqlBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final MySqlBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], MySqlBenchmarkConfig.class);
-		final MySqlBenchmarkScenario scenario = new MySqlBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/MySqlBenchmarkScenario.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/MySqlBenchmarkScenario.java
deleted file mode 100644
index 91928ba9820f0a3af06a9ae61ad3f0d67cffc08c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/MySqlBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.mysql;
-
-import hu.bme.mit.trainbenchmark.benchmark.comparators.LongMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.config.MySqlBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.driver.MySqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.driver.MySqlDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.operations.MySqlModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-
-public class MySqlBenchmarkScenario extends BenchmarkScenario<SqlMatch, MySqlDriver, MySqlBenchmarkConfig> {
-
-	public MySqlBenchmarkScenario(final MySqlBenchmarkConfig bc) throws Exception {
-		super(new MySqlDriverFactory(), new MySqlModelOperationFactory(), new LongMatchComparator<SqlMatch>(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/config/MySqlBenchmarkConfig.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/config/MySqlBenchmarkConfig.java
deleted file mode 100644
index d7572dad05a600057e37c19449f6aaf807b0cd53..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/config/MySqlBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.mysql.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class MySqlBenchmarkConfig extends BenchmarkConfig {
-
-	protected MySqlBenchmarkConfig(final BenchmarkConfigBase configBase) {
-		super(configBase);
-	}
-
-	@Override
-	public String getToolName() {
-		return "MySQL";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "mysql";
-	}
-
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/config/MySqlBenchmarkConfigBuilder.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/config/MySqlBenchmarkConfigBuilder.java
deleted file mode 100644
index 16f7e0e2253ebe8e00572b7124f6e494e135e9bd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/config/MySqlBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.mysql.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class MySqlBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<MySqlBenchmarkConfig, MySqlBenchmarkConfigBuilder> {
-
-	@Override
-	public MySqlBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new MySqlBenchmarkConfig(configBase);
-	}
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/driver/MySqlDriver.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/driver/MySqlDriver.java
deleted file mode 100644
index 342fecff40f45361f9ff55c1d18dd54c305a11cb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/driver/MySqlDriver.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.mysql.driver;
-
-import static hu.bme.mit.trainbenchmark.sql.constants.SqlConstants.PASSWORD;
-import static hu.bme.mit.trainbenchmark.sql.constants.SqlConstants.USER;
-
-import java.io.File;
-import java.io.IOException;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.sql.process.MySqlProcess;
-
-public class MySqlDriver extends SqlDriver {
-
-	protected MySqlDriver() {
-	}
-	
-	public static MySqlDriver create() {
-		return new MySqlDriver();
-	}
-	
-	protected final String url = "jdbc:mysql://localhost:3306/trainbenchmark?allowMultiQueries=true&useSSL=false";
-
-	@Override
-	public void read(final String modelPath) throws IOException, InterruptedException, SQLException {
-		final Runtime rt = Runtime.getRuntime();
-		final File modelFile = new File(modelPath);
-		if (!modelFile.exists()) {
-			throw new IOException("Model does not exist: " + modelPath);
-		}
-
-		final String[] command = { "/bin/bash", "-c", "mysql -u " + USER + " < " + modelPath };
-		final Process pr = rt.exec(command);
-		pr.waitFor();
-		if (pr.exitValue() != 0) {
-			throw new IOException("MySQL process returned non-zero exit value: " + pr.exitValue());
-		}
-		connection = DriverManager.getConnection(url, USER, PASSWORD);
-	}
-
-	@Override
-	public void initialize() throws Exception {
-		try {
-			MySqlProcess.stopServer();
-		} catch (final Exception e) {
-			// do nothing
-		}
-		MySqlProcess.cleanServer();
-		MySqlProcess.startServer();
-	}
-
-	@Override
-	public void destroy() throws SQLException, IOException, InterruptedException {
-		if (connection != null) {
-			connection.close();
-		}
-
-		MySqlProcess.stopServer();
-	}
-	
-
-	@Override
-	public String getPostfix() {
-		return "-mysql.sql";
-	}
-
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/driver/MySqlDriverFactory.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/driver/MySqlDriverFactory.java
deleted file mode 100644
index d277e929c38384888d7b1f5b1987a98b28e2ea95..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/driver/MySqlDriverFactory.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.mysql.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public class MySqlDriverFactory extends DriverFactory<MySqlDriver> {
-
-	@Override
-	public MySqlDriver createInstance() throws Exception {
-		return new MySqlDriver();
-	}
-
-}
diff --git a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/operations/MySqlModelOperationFactory.java b/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/operations/MySqlModelOperationFactory.java
deleted file mode 100644
index 621de0074bc0a6cefeb4cdb4d493a763fa17f5bd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/mysql/operations/MySqlModelOperationFactory.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.mysql.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.mysql.driver.MySqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.queries.SqlQuery;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class MySqlModelOperationFactory extends ModelOperationFactory<SqlMatch, MySqlDriver> {
-
-	@Override
-	public ModelOperation<? extends SqlMatch, MySqlDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final MySqlDriver driver) throws Exception {
-
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final SqlQuery<SqlConnectedSegmentsMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final ModelOperation<SqlConnectedSegmentsMatch, MySqlDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final SqlQuery<SqlConnectedSegmentsInjectMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS_INJECT);
-			final SqlTransformation<SqlConnectedSegmentsInjectMatch, MySqlDriver> transformation = new SqlTransformationInjectConnectedSegments<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlConnectedSegmentsInjectMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final SqlQuery<SqlConnectedSegmentsMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final SqlTransformation<SqlConnectedSegmentsMatch, MySqlDriver> transformation = new SqlTransformationRepairConnectedSegments<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlConnectedSegmentsMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final SqlQuery<SqlPosLengthMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final ModelOperation<SqlPosLengthMatch, MySqlDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final SqlQuery<SqlPosLengthInjectMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH_INJECT);
-			final SqlTransformation<SqlPosLengthInjectMatch, MySqlDriver> transformation = new SqlTransformationInjectPosLength<>(driver, workspaceDir);
-			final ModelOperation<SqlPosLengthInjectMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final SqlQuery<SqlPosLengthMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final SqlTransformation<SqlPosLengthMatch, MySqlDriver> transformation = new SqlTransformationRepairPosLength<>(driver, workspaceDir);
-			final ModelOperation<SqlPosLengthMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final SqlQuery<SqlRouteSensorMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final ModelOperation<SqlRouteSensorMatch, MySqlDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final SqlQuery<SqlRouteSensorInjectMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR_INJECT);
-			final SqlTransformation<SqlRouteSensorInjectMatch, MySqlDriver> transformation = new SqlTransformationInjectRouteSensor<>(driver, workspaceDir);
-			final ModelOperation<SqlRouteSensorInjectMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final SqlQuery<SqlRouteSensorMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final SqlTransformation<SqlRouteSensorMatch, MySqlDriver> transformation = new SqlTransformationRepairRouteSensor<>(driver, workspaceDir);
-			final ModelOperation<SqlRouteSensorMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final SqlQuery<SqlSemaphoreNeighborMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final ModelOperation<SqlSemaphoreNeighborMatch, MySqlDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final SqlQuery<SqlSemaphoreNeighborInjectMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR_INJECT);
-			final SqlTransformation<SqlSemaphoreNeighborInjectMatch, MySqlDriver> transformation = new SqlTransformationInjectSemaphoreNeighbor<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlSemaphoreNeighborInjectMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final SqlQuery<SqlSemaphoreNeighborMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final SqlTransformation<SqlSemaphoreNeighborMatch, MySqlDriver> transformation = new SqlTransformationRepairSemaphoreNeighbor<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlSemaphoreNeighborMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final SqlQuery<SqlSwitchMonitoredMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final ModelOperation<SqlSwitchMonitoredMatch, MySqlDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final SqlQuery<SqlSwitchMonitoredInjectMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED_INJECT);
-			final SqlTransformation<SqlSwitchMonitoredInjectMatch, MySqlDriver> transformation = new SqlTransformationInjectSwitchMonitored<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlSwitchMonitoredInjectMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final SqlQuery<SqlSwitchMonitoredMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final SqlTransformation<SqlSwitchMonitoredMatch, MySqlDriver> transformation = new SqlTransformationRepairSwitchMonitored<>(driver, workspaceDir);
-			final ModelOperation<SqlSwitchMonitoredMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final SqlQuery<SqlSwitchSetMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final ModelOperation<SqlSwitchSetMatch, MySqlDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final SqlQuery<SqlSwitchSetInjectMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET_INJECT);
-			final SqlTransformation<SqlSwitchSetInjectMatch, MySqlDriver> transformation = new SqlTransformationInjectSwitchSet<>(driver, workspaceDir);
-			final ModelOperation<SqlSwitchSetInjectMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final SqlQuery<SqlSwitchSetMatch, MySqlDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final SqlTransformation<SqlSwitchSetMatch, MySqlDriver> transformation = new SqlTransformationRepairSwitchSet<>(driver, workspaceDir);
-			final ModelOperation<SqlSwitchSetMatch, MySqlDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		default:
-			break;
-		}
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-mysql/src/main/resources/.gitignore b/trainbenchmark-tool-mysql/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-mysql/src/test/java/hu/bme/mit/trainbenchmark/benchmark/mysql/test/MySqlTest.java b/trainbenchmark-tool-mysql/src/test/java/hu/bme/mit/trainbenchmark/benchmark/mysql/test/MySqlTest.java
deleted file mode 100644
index f3ed6fa53338b81fcb17df1c7b6f1948b341b033..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-mysql/src/test/java/hu/bme/mit/trainbenchmark/benchmark/mysql/test/MySqlTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.mysql.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.MySqlBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.config.MySqlBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.mysql.config.MySqlBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-public class MySqlTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final MySqlBenchmarkConfig bc = new MySqlBenchmarkConfigBuilder().setConfigBase(bcb).createConfig();
-		final MySqlBenchmarkScenario scenario = new MySqlBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/README.md b/trainbenchmark-tool-neo4j/README.md
deleted file mode 100644
index 6ca7176c0d1e81e3de8e27c8d1415a689b63cbfa..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Neo4j implementation
-
-Neo4j cannot assign a specific id to a new node.
- 
-This means that if we run multiple transformations (e.g. ConnectedSegmentsInject, which inserts new Segments), we cannot guarantee the precise number of matches.
\ No newline at end of file
diff --git a/trainbenchmark-tool-neo4j/build.gradle b/trainbenchmark-tool-neo4j/build.gradle
deleted file mode 100644
index 8a4e6f5283b4bdaee1492ef40205391545c83730..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	mergeServiceFiles()
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.neo4j.Neo4jBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-format-graph-neo4j')
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/Neo4jBenchmarkMain.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/Neo4jBenchmarkMain.java
deleted file mode 100644
index 395b700239066caa88ec7464edd32e69252e9252..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/Neo4jBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jBenchmarkConfig;
-
-public class Neo4jBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final Neo4jBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], Neo4jBenchmarkConfig.class);
-		final Neo4jBenchmarkScenario scenario = new Neo4jBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/Neo4jBenchmarkScenario.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/Neo4jBenchmarkScenario.java
deleted file mode 100644
index bfdccf1ee5917bce5fa918874cb1975ed79e3fec..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/Neo4jBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.comparators.Neo4jMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.operations.Neo4jModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class Neo4jBenchmarkScenario extends BenchmarkScenario<Neo4jMatch, Neo4jDriver, Neo4jBenchmarkConfig> {
-
-	public Neo4jBenchmarkScenario(final Neo4jBenchmarkConfig bc) throws Exception {
-		super(new Neo4jDriverFactory(bc.getConfigBase().getModelDir(), bc.getGraphFormat()), new Neo4jModelOperationFactory(bc.getEngine()), new Neo4jMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/comparators/Neo4jMatchComparator.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/comparators/Neo4jMatchComparator.java
deleted file mode 100644
index 2ee37aafce229d4f0a3e2e057b5ac79370352d74..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/comparators/Neo4jMatchComparator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.comparators;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.comparators.BaseMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-
-public class Neo4jMatchComparator extends BaseMatchComparator<Neo4jMatch, Node> {
-
-	public Neo4jMatchComparator() {
-		super(new NodeComparator());
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/comparators/NodeComparator.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/comparators/NodeComparator.java
deleted file mode 100644
index e797ab12fa1bbfdcdf9f7231530463dc941711bb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/comparators/NodeComparator.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.comparators;
-
-import org.neo4j.graphdb.Node;
-
-import java.util.Comparator;
-
-public class NodeComparator implements Comparator<Node> {
-
-	@Override
-	public int compare(final Node node1, final Node node2) {
-//		final long id1 = node1.getProperty(Neo4jConstants.ID);
-//		final long id2 = node2.getProperty(Neo4jConstants.ID);
-		final long id1 = node1.getId();
-		final long id2 = node2.getId();
-		return Long.compare(id1, id2);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jBenchmarkConfig.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jBenchmarkConfig.java
deleted file mode 100644
index 0cefe56348edd30e55f6a623af6b86f9aaadc140..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jBenchmarkConfig.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-
-public class Neo4jBenchmarkConfig extends BenchmarkConfig {
-
-	protected Neo4jEngine engine;
-	protected Neo4jGraphFormat graphFormat;
-
-	protected Neo4jBenchmarkConfig(final BenchmarkConfigBase configBase, final Neo4jEngine engine, final Neo4jGraphFormat graphFormat) {
-		super(configBase);
-		this.engine = engine;
-		this.graphFormat = graphFormat;
-	}
-
-	public Neo4jEngine getEngine() {
-		return engine;
-	}
-
-	public Neo4jGraphFormat getGraphFormat() {
-		return graphFormat;
-	}
-
-	@Override
-	public String getToolName() {
-		return String.format("Neo4j (%s-%s)", getEngine(), getGraphFormat());
-	}
-
-	@Override
-	public String getProjectName() {
-		return "neo4j";
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jBenchmarkConfigBuilder.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jBenchmarkConfigBuilder.java
deleted file mode 100644
index 67376028b9a4122e2f6830a29af6eb98a2e4c4a6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.config;
-
-import com.google.common.base.Preconditions;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-
-public class Neo4jBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<Neo4jBenchmarkConfig, Neo4jBenchmarkConfigBuilder> {
-
-	private Neo4jEngine engine;
-	private Neo4jGraphFormat graphFormat;
-
-	public Neo4jBenchmarkConfigBuilder setEngine(final Neo4jEngine engine) {
-		this.engine = engine;
-		return this;
-	}
-
-	public Neo4jBenchmarkConfigBuilder setGraphFormat(final Neo4jGraphFormat graphFormat) {
-		this.graphFormat = graphFormat;
-		return this;
-	}
-
-	@Override
-	public void checkNotNulls() {
-		super.checkNotNulls();
-		Preconditions.checkNotNull(engine);
-		Preconditions.checkNotNull(graphFormat);
-	}
-
-	@Override
-	public Neo4jBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new Neo4jBenchmarkConfig(configBase, engine, graphFormat);
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jEngine.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jEngine.java
deleted file mode 100644
index 99a5f47bd514d657b450c90ce928426106bb1300..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/config/Neo4jEngine.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.config;
-
-public enum Neo4jEngine {
-	COREAPI("Core API"), CYPHER("Cypher");
-
-	private String name;
-
-	Neo4jEngine(final String name) {
-		this.name = name;
-	}
-
-	@Override
-	public String toString() {
-		return name;
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/driver/Neo4jDriver.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/driver/Neo4jDriver.java
deleted file mode 100644
index 6a53e56cb60ccedd102a04fda36c6299e1a08294..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/driver/Neo4jDriver.java
+++ /dev/null
@@ -1,228 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.driver;
-
-import apoc.export.graphml.ExportGraphML;
-import apoc.graph.Graphs;
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.comparators.NodeComparator;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jHelper;
-import hu.bme.mit.trainbenchmark.neo4j.apoc.ApocHelper;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-import org.apache.commons.exec.CommandLine;
-import org.apache.commons.exec.DefaultExecutor;
-import org.apache.commons.io.FileUtils;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-import javax.xml.stream.XMLStreamException;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Result;
-import org.neo4j.graphdb.Transaction;
-import org.neo4j.graphdb.schema.Schema;
-import org.neo4j.kernel.api.exceptions.KernelException;
-
-public class Neo4jDriver extends Driver {
-
-	protected Transaction tx;
-	protected GraphDatabaseService graphDb;
-	protected final Comparator<Node> nodeComparator = new NodeComparator();
-	protected final File databaseDirectory;
-	protected final Neo4jGraphFormat graphFormat;
-
-	public Neo4jDriver(final String modelDir, final Neo4jGraphFormat graphFormat) throws IOException {
-		super();
-		this.graphFormat = graphFormat;
-		this.databaseDirectory = new File(modelDir + "/neo4j-dbs/railway-database");
-	}
-
-	@Override
-	public void initialize() throws Exception {
-		super.initialize();
-
-		// delete old database directory
-		if (databaseDirectory.exists()) {
-			FileUtils.deleteDirectory(databaseDirectory);
-		}
-	}
-
-	@Override
-	public void destroy() {
-		if (graphDb != null) {
-			graphDb.shutdown();
-		}
-	}
-
-	@Override
-	public void beginTransaction() {
-		tx = graphDb.beginTx();
-	}
-
-	@Override
-	public void finishTransaction() {
-		tx.success();
-		tx.close();
-	}
-
-	@Override
-	public void read(final String modelPath)
-		throws XMLStreamException, IOException, KernelException {
-		switch (graphFormat) {
-		case CSV:
-			readCsv(modelPath);
-			break;
-		case GRAPHML:
-			readGraphMl(modelPath);
-			break;
-		case CYPHER:
-			readCypher(modelPath);
-			break;
-		default:
-			throw new UnsupportedOperationException("Format " + graphFormat + " not supported");
-		}
-	}
-
-	private void startDb() {
-		graphDb = Neo4jHelper.startGraphDatabase(databaseDirectory);
-
-		try (final Transaction tx = graphDb.beginTx()) {
-			final Schema schema = graphDb.schema();
-			schema.indexFor(Neo4jConstants.labelSegment).on(ModelConstants.ID).create();
-			schema.indexFor(Neo4jConstants.labelSegment).on(ModelConstants.LENGTH).create();
-			schema.indexFor(Neo4jConstants.labelSemaphore).on(ModelConstants.SIGNAL).create();
-			schema.indexFor(Neo4jConstants.labelRoute).on(ModelConstants.ACTIVE).create();
-			tx.success();
-		}
-		try (final Transaction tx = graphDb.beginTx()) {
-			final Schema schema = graphDb.schema();
-			schema.awaitIndexesOnline(5, TimeUnit.MINUTES);
-		}
-	}
-
-	private void readCsv(String modelPath) throws IOException {
-		final String neo4jHome =   "../neo4j-server";
-		final String dbPath =      "../models/neo4j-dbs/railway-database";
-		final File databaseDirectory = new File(dbPath);
-
-		if (databaseDirectory.exists()) {
-		  FileUtils.deleteDirectory(databaseDirectory);
-		}
-
-		// TODO neo4j-import is deprecated and should be changes to neo4j-admin import
-		// however, it's not trivial as neo4j-admin-import does not take an `--into` argument
-		// but a `--database`
-		final String rawImportCommand = "%NEO4J_HOME%/bin/neo4j-import --into %DB_PATH% " //
-		    + "--nodes:Region %MODEL_PREFIX%-Region.csv " //
-		    + "--nodes:Route %MODEL_PREFIX%-Route.csv " //
-		    + "--nodes:Segment:TrackElement %MODEL_PREFIX%-Segment.csv " //
-		    + "--nodes:Semaphore %MODEL_PREFIX%-Semaphore.csv " //
-		    + "--nodes:Sensor %MODEL_PREFIX%-Sensor.csv " //
-		    + "--nodes:Switch:TrackElement %MODEL_PREFIX%-Switch.csv " //
-		    + "--nodes:SwitchPosition %MODEL_PREFIX%-SwitchPosition.csv " //
-		    + "--relationships:connectsTo %MODEL_PREFIX%-connectsTo.csv " //
-		    + "--relationships:entry %MODEL_PREFIX%-entry.csv " //
-		    + "--relationships:exit %MODEL_PREFIX%-exit.csv "//
-		    + "--relationships:follows %MODEL_PREFIX%-follows.csv "//
-		    + "--relationships:monitoredBy %MODEL_PREFIX%-monitoredBy.csv "//
-		    + "--relationships:requires %MODEL_PREFIX%-requires.csv "//
-		    + "--relationships:target %MODEL_PREFIX%-target.csv";
-		final String importCommand = rawImportCommand //
-		    .replaceAll("%NEO4J_HOME%", neo4jHome) //
-		    .replaceAll("%DB_PATH%", dbPath) //
-		    .replaceAll("%MODEL_PREFIX%", modelPath);
-		final CommandLine cmdLine = CommandLine.parse(importCommand);
-		final DefaultExecutor executor = new DefaultExecutor();
-		final int exitValue = executor.execute(cmdLine);
-		if (exitValue != 0) {
-		  throw new IOException("Neo4j import failed");
-		}
-		startDb();
-	}
-
-	private void readCypher(String modelPath) throws IOException {
-		startDb();
-		final File cypherFile = new File(modelPath);
-		try(final Transaction tx = graphDb.beginTx()) {
-			BufferedReader bufferedReader = new BufferedReader(new FileReader(cypherFile));
-			String line = null;
-			while ((line = bufferedReader.readLine()) != null){
-				graphDb.execute(line);
-			}
-			tx.success();
-		}
-	}
-
-	private void readGraphMl(String modelPath) throws FileNotFoundException, XMLStreamException, KernelException {
-		startDb();
-
-		ApocHelper.registerProcedure(graphDb, ExportGraphML.class, Graphs.class);
-		try (final Transaction tx = graphDb.beginTx()) {
-			graphDb.execute(String.format( //
-				"CALL apoc.import.graphml('%s', {batchSize: 10000, readLabels: true})", //
-				modelPath //
-			));
-			tx.success();
-		}
-	}
-
-	@Override
-	public String getPostfix() {
-		switch (graphFormat) {
-		case CSV:
-			return ""; // hack as we have multiple CSVs
-		case GRAPHML:
-			return ".graphml";
-		case CYPHER:
-			return ".cypher";
-		default:
-			throw new UnsupportedOperationException("Format " + graphFormat + " not supported");
-		}
-	}
-
-	public Collection<Neo4jMatch> runQuery(final RailwayQuery query, final String queryDefinition) throws IOException {
-		final Collection<Neo4jMatch> results = new ArrayList<>();
-
-		final Result executionResult = graphDb.execute(queryDefinition);
-		while (executionResult.hasNext()) {
-			final Map<String, Object> row = executionResult.next();
-			results.add(Neo4jMatch.createMatch(query, row));
-		}
-
-		return results;
-	}
-
-	public void runTransformation(final String transformationDefinition, final Map<String, Object> parameters)
-			throws IOException {
-		graphDb.execute(transformationDefinition, parameters);
-	}
-
-	// utility
-
-	public GraphDatabaseService getGraphDb() {
-		return graphDb;
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/driver/Neo4jDriverFactory.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/driver/Neo4jDriverFactory.java
deleted file mode 100644
index 9422f12ba916c71e3a4e51608155d9488d438bc0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/driver/Neo4jDriverFactory.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-
-public class Neo4jDriverFactory extends DriverFactory<Neo4jDriver> {
-
-	protected final String modelDir;
-	protected final Neo4jGraphFormat graphFormat;
-
-	public Neo4jDriverFactory(final String modelDir, final Neo4jGraphFormat graphFormat) {
-		super();
-		this.modelDir = modelDir;
-		this.graphFormat = graphFormat;
-	}
-
-	@Override
-	public Neo4jDriver createInstance() throws Exception {
-		return new Neo4jDriver(modelDir, graphFormat);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jConnectedSegmentsInjectMatch.java
deleted file mode 100644
index d9556b28d1d4413e16b6b0bd359edbf4650627b0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-
-public class Neo4jConnectedSegmentsInjectMatch extends Neo4jMatch implements ConnectedSegmentsInjectMatch {
-
-	public Neo4jConnectedSegmentsInjectMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSensor() {
-		return (Node) match.get(VAR_SENSOR);
-	}
-
-	@Override
-	public Node getSegment1() {
-		return (Node) match.get(VAR_SEGMENT1);
-	}
-
-	@Override
-	public Node getSegment3() {
-		return (Node) match.get(VAR_SEGMENT3);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jConnectedSegmentsMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jConnectedSegmentsMatch.java
deleted file mode 100644
index 7dc432b072a40052895a6ab76628c7c1bb5c2d6d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT4;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT5;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT6;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-
-public class Neo4jConnectedSegmentsMatch extends Neo4jMatch implements ConnectedSegmentsMatch {
-
-	public Neo4jConnectedSegmentsMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSensor() {
-		return (Node) match.get(VAR_SENSOR);
-	}
-
-	@Override
-	public Node getSegment1() {
-		return (Node) match.get(VAR_SEGMENT1);
-	}
-
-	@Override
-	public Node getSegment2() {
-		return (Node) match.get(VAR_SEGMENT2);
-	}
-
-	@Override
-	public Node getSegment3() {
-		return (Node) match.get(VAR_SEGMENT3);
-	}
-
-	@Override
-	public Node getSegment4() {
-		return (Node) match.get(VAR_SEGMENT4);
-	}
-
-	@Override
-	public Node getSegment5() {
-		return (Node) match.get(VAR_SEGMENT5);
-	}
-
-	@Override
-	public Node getSegment6() {
-		return (Node) match.get(VAR_SEGMENT6);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jMatch.java
deleted file mode 100644
index 436533555a658751c9c30be5d83b9fa654d56249..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jMatch.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import java.util.Arrays;
-import java.util.Map;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.BaseMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class Neo4jMatch extends BaseMatch {
-
-	protected Map<String, Object> match;
-
-	public Neo4jMatch(final Map<String, Object> match) {
-		this.match = match;
-	}
-
-	@Override
-	public String toString() {
-		return "Neo4jMatch [match=" + Arrays.toString(toArray()) + "]";
-	}
-	
-	public static Neo4jMatch createMatch(final RailwayQuery query, final Map<String, Object> match) {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new Neo4jConnectedSegmentsMatch(match);
-		case CONNECTEDSEGMENTS_INJECT:
-			return new Neo4jConnectedSegmentsInjectMatch(match);
-		case POSLENGTH:
-			return new Neo4jPosLengthMatch(match);
-		case POSLENGTH_INJECT:
-			return new Neo4jPosLengthInjectMatch(match);
-		case ROUTESENSOR:
-			return new Neo4jRouteSensorMatch(match);
-		case ROUTESENSOR_INJECT:
-			return new Neo4jRouteSensorInjectMatch(match);
-		case SEMAPHORENEIGHBOR:
-			return new Neo4jSemaphoreNeighborMatch(match);
-		case SEMAPHORENEIGHBOR_INJECT:
-			return new Neo4jSemaphoreNeighborInjectMatch(match);
-		case SWITCHMONITORED:
-			return new Neo4jSwitchMonitoredMatch(match);
-		case SWITCHMONITORED_INJECT:
-			return new Neo4jSwitchMonitoredInjectMatch(match);
-		case SWITCHSET:
-			return new Neo4jSwitchSetMatch(match);
-		case SWITCHSET_INJECT:
-			return new Neo4jSwitchSetInjectMatch(match);
-		default:
-			throw new UnsupportedOperationException("Query not supported: " + query);
-		}
-	}
-	
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jPosLengthInjectMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jPosLengthInjectMatch.java
deleted file mode 100644
index 9abe745f35e214d0f7bc8e48f03bb578360719d1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jPosLengthInjectMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthInjectMatch;
-
-public class Neo4jPosLengthInjectMatch extends Neo4jMatch implements PosLengthInjectMatch {
-
-	public Neo4jPosLengthInjectMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSegment() {
-		return (Node) match.get(VAR_SEGMENT);
-	}
-	
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jPosLengthMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jPosLengthMatch.java
deleted file mode 100644
index cbe7d5d0e461cca4d7f833ec0a0947b7a3c6761b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jPosLengthMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class Neo4jPosLengthMatch extends Neo4jMatch implements PosLengthMatch {
-
-	public Neo4jPosLengthMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSegment() {
-		return (Node) match.get(VAR_SEGMENT);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jRouteSensorInjectMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jRouteSensorInjectMatch.java
deleted file mode 100644
index b9639259fd37b6d886bfae53187e77f4e3839087..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-
-public class Neo4jRouteSensorInjectMatch extends Neo4jMatch implements RouteSensorInjectMatch {
-
-	public Neo4jRouteSensorInjectMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getRoute() {
-		return (Node) match.get(QueryConstants.VAR_ROUTE);
-	}
-
-	@Override
-	public Node getSensor() {
-		return (Node) match.get(QueryConstants.VAR_SENSOR);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jRouteSensorMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jRouteSensorMatch.java
deleted file mode 100644
index 81cde8811f39d2d3116aaebf47625c8c682036ee..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jRouteSensorMatch.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-
-public class Neo4jRouteSensorMatch extends Neo4jMatch implements RouteSensorMatch {
-
-	public Neo4jRouteSensorMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getRoute() {
-		return (Node) match.get(QueryConstants.VAR_ROUTE);
-	}
-
-	@Override
-	public Node getSensor() {
-		return (Node) match.get(QueryConstants.VAR_SENSOR);
-	}
-
-	@Override
-	public Node getSwP() {
-		return (Node) match.get(QueryConstants.VAR_SWP);
-	}
-
-	@Override
-	public Node getSw() {
-		return (Node) match.get(QueryConstants.VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 9d4faa4024ecf8b78ace95baf5cde05d6c4b7a05..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class Neo4jSemaphoreNeighborInjectMatch extends Neo4jMatch implements SemaphoreNeighborInjectMatch {
-
-	public Neo4jSemaphoreNeighborInjectMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getRoute() {
-		return (Node) match.get(VAR_ROUTE);
-	}
-
-	@Override
-	public Node getSemaphore() {
-		return (Node) match.get(VAR_SEMAPHORE);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSemaphoreNeighborMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSemaphoreNeighborMatch.java
deleted file mode 100644
index 668a77631f0eecc5633f61ef47d0f1a553d8e5c0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class Neo4jSemaphoreNeighborMatch extends Neo4jMatch implements SemaphoreNeighborMatch {
-
-	public Neo4jSemaphoreNeighborMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSemaphore() {
-		return (Node) match.get(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public Node getRoute1() {
-		return (Node) match.get(VAR_ROUTE1);
-	}
-
-	@Override
-	public Node getRoute2() {
-		return (Node) match.get(VAR_ROUTE2);
-	}
-
-	@Override
-	public Node getSensor1() {
-		return (Node) match.get(VAR_SENSOR1);
-	}
-
-	@Override
-	public Node getSensor2() {
-		return (Node) match.get(VAR_SENSOR2);
-	}
-
-	@Override
-	public Node getTe1() {
-		return (Node) match.get(VAR_TE1);
-	}
-
-	@Override
-	public Node getTe2() {
-		return (Node) match.get(VAR_TE2);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchMonitoredInjectMatch.java
deleted file mode 100644
index 411ee4a0f1a209f351182504c3c942ea11e6c250..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class Neo4jSwitchMonitoredInjectMatch extends Neo4jMatch implements SwitchMonitoredInjectMatch {
-
-	public Neo4jSwitchMonitoredInjectMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSw() {
-		return (Node) match.get(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchMonitoredMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchMonitoredMatch.java
deleted file mode 100644
index 8cdf34dad3493eaf2013cabbb3d83c90ff4358fd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class Neo4jSwitchMonitoredMatch extends Neo4jMatch implements SwitchMonitoredMatch {
-
-	public Neo4jSwitchMonitoredMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSw() {
-		return (Node) match.get(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchSetInjectMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchSetInjectMatch.java
deleted file mode 100644
index b23796fd1b44e38fcc341deaad5a2b986b09cef0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class Neo4jSwitchSetInjectMatch extends Neo4jMatch implements SwitchSetInjectMatch {
-
-	public Neo4jSwitchSetInjectMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSw() {
-		return (Node) match.get(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchSetMatch.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchSetMatch.java
deleted file mode 100644
index e1266d8e9e55753b303beb52cbdb21ab57b3e047..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/matches/Neo4jSwitchSetMatch.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import java.util.Map;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-
-public class Neo4jSwitchSetMatch extends Neo4jMatch implements SwitchSetMatch {
-
-	public Neo4jSwitchSetMatch(final Map<String, Object> match) {
-		super(match);
-	}
-
-	@Override
-	public Node getSemaphore() {
-		return (Node) match.get(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public Node getRoute() {
-		return (Node) match.get(VAR_ROUTE);
-	}
-
-	@Override
-	public Node getSwP() {
-		return (Node) match.get(VAR_SWP);
-	}
-
-	@Override
-	public Node getSw() {
-		return (Node) match.get(VAR_SW);
-	}
-
-	public String getCurrentPosition() {
-		return (String) match.get(QueryConstants.VAR_CURRENTPOSITION);
-	}
-
-	public String getPosition() {
-		return (String) match.get(QueryConstants.VAR_POSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/operations/Neo4jModelOperationFactory.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/operations/Neo4jModelOperationFactory.java
deleted file mode 100644
index c319bfa0c43ffe03fd8d2fd9b3797b30ba502571..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/operations/Neo4jModelOperationFactory.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jEngine;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQueryConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQueryConnectedSegmentsInject;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQueryPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQueryPosLengthInject;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQueryRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQueryRouteSensorInject;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQuerySemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQuerySemaphoreNeighborInject;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQuerySwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQuerySwitchMonitoredInject;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQuerySwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core.Neo4jCoreQuerySwitchSetInject;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.cypher.Neo4jCypherQuery;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject.Neo4jCoreTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject.Neo4jCoreTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject.Neo4jCoreTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject.Neo4jCoreTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject.Neo4jCoreTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject.Neo4jCoreTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair.Neo4jCoreTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair.Neo4jCoreTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair.Neo4jCoreTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair.Neo4jCoreTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair.Neo4jCoreTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair.Neo4jCoreTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject.Neo4jCypherTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject.Neo4jCypherTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject.Neo4jCypherTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject.Neo4jCypherTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject.Neo4jCypherTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject.Neo4jCypherTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair.Neo4jCypherTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair.Neo4jCypherTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair.Neo4jCypherTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair.Neo4jCypherTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair.Neo4jCypherTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair.Neo4jCypherTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class Neo4jModelOperationFactory extends ModelOperationFactory<Neo4jMatch, Neo4jDriver> {
-
-	protected final Neo4jEngine neo4jEngine;
-
-	public Neo4jModelOperationFactory(final Neo4jEngine neo4jEngine) {
-		this.neo4jEngine = neo4jEngine;
-	}
-
-	@Override
-	public ModelOperation<? extends Neo4jMatch, Neo4jDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final Neo4jDriver driver) throws Exception {
-
-		switch (neo4jEngine) {
-		case COREAPI:
-			switch (operationEnum) {
-				// ConnectedSegments
-			case CONNECTEDSEGMENTS: {
-				final ModelQuery<Neo4jConnectedSegmentsMatch, Neo4jDriver> query = new Neo4jCoreQueryConnectedSegments(driver);
-				final ModelOperation<Neo4jConnectedSegmentsMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case CONNECTEDSEGMENTS_INJECT: {
-				final ModelQuery<Neo4jConnectedSegmentsInjectMatch, Neo4jDriver> query = new Neo4jCoreQueryConnectedSegmentsInject(driver);
-				final Neo4jCoreTransformation<Neo4jConnectedSegmentsInjectMatch> transformation = new Neo4jCoreTransformationInjectConnectedSegments(driver);
-				final ModelOperation<Neo4jConnectedSegmentsInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case CONNECTEDSEGMENTS_REPAIR: {
-				final ModelQuery<Neo4jConnectedSegmentsMatch, Neo4jDriver> query = new Neo4jCoreQueryConnectedSegments(driver);
-				final Neo4jCoreTransformation<Neo4jConnectedSegmentsMatch> transformation = new Neo4jCoreTransformationRepairConnectedSegments(driver);
-				final ModelOperation<Neo4jConnectedSegmentsMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// PosLength
-			case POSLENGTH: {
-				final ModelQuery<Neo4jPosLengthMatch, Neo4jDriver> query = new Neo4jCoreQueryPosLength(driver);
-				final ModelOperation<Neo4jPosLengthMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case POSLENGTH_INJECT: {
-				final ModelQuery<Neo4jPosLengthInjectMatch, Neo4jDriver> query = new Neo4jCoreQueryPosLengthInject(driver);
-				final Neo4jCoreTransformation<Neo4jPosLengthInjectMatch> transformation = new Neo4jCoreTransformationInjectPosLength(driver);
-				final ModelOperation<Neo4jPosLengthInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case POSLENGTH_REPAIR: {
-				final ModelQuery<Neo4jPosLengthMatch, Neo4jDriver> query = new Neo4jCoreQueryPosLength(driver);
-				final Neo4jCoreTransformation<Neo4jPosLengthMatch> transformation = new Neo4jCoreTransformationRepairPosLength(driver);
-				final ModelOperation<Neo4jPosLengthMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// RouteSensor
-			case ROUTESENSOR: {
-				final ModelQuery<Neo4jRouteSensorMatch, Neo4jDriver> query = new Neo4jCoreQueryRouteSensor(driver);
-				final ModelOperation<Neo4jRouteSensorMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case ROUTESENSOR_INJECT: {
-				final ModelQuery<Neo4jRouteSensorInjectMatch, Neo4jDriver> query = new Neo4jCoreQueryRouteSensorInject(driver);
-				final Neo4jCoreTransformation<Neo4jRouteSensorInjectMatch> transformation = new Neo4jCoreTransformationInjectRouteSensor(driver);
-				final ModelOperation<Neo4jRouteSensorInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case ROUTESENSOR_REPAIR: {
-				final ModelQuery<Neo4jRouteSensorMatch, Neo4jDriver> query = new Neo4jCoreQueryRouteSensor(driver);
-				final Neo4jCoreTransformation<Neo4jRouteSensorMatch> transformation = new Neo4jCoreTransformationRepairRouteSensor(driver);
-				final ModelOperation<Neo4jRouteSensorMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// SemaphoreNeighbor
-			case SEMAPHORENEIGHBOR: {
-				final ModelQuery<Neo4jSemaphoreNeighborMatch, Neo4jDriver> query = new Neo4jCoreQuerySemaphoreNeighbor(driver);
-				final ModelOperation<Neo4jSemaphoreNeighborMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case SEMAPHORENEIGHBOR_INJECT: {
-				final ModelQuery<Neo4jSemaphoreNeighborInjectMatch, Neo4jDriver> query = new Neo4jCoreQuerySemaphoreNeighborInject(driver);
-				final Neo4jCoreTransformation<Neo4jSemaphoreNeighborInjectMatch> transformation = new Neo4jCoreTransformationInjectSemaphoreNeighbor(driver);
-				final ModelOperation<Neo4jSemaphoreNeighborInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case SEMAPHORENEIGHBOR_REPAIR: {
-				final ModelQuery<Neo4jSemaphoreNeighborMatch, Neo4jDriver> query = new Neo4jCoreQuerySemaphoreNeighbor(driver);
-				final Neo4jCoreTransformation<Neo4jSemaphoreNeighborMatch> transformation = new Neo4jCoreTransformationRepairSemaphoreNeighbor(driver);
-				final ModelOperation<Neo4jSemaphoreNeighborMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// SwitchMonitored
-			case SWITCHMONITORED: {
-				final ModelQuery<Neo4jSwitchMonitoredMatch, Neo4jDriver> query = new Neo4jCoreQuerySwitchMonitored(driver);
-				final ModelOperation<Neo4jSwitchMonitoredMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case SWITCHMONITORED_INJECT: {
-				final ModelQuery<Neo4jSwitchMonitoredInjectMatch, Neo4jDriver> query = new Neo4jCoreQuerySwitchMonitoredInject(driver);
-				final Neo4jCoreTransformation<Neo4jSwitchMonitoredInjectMatch> transformation = new Neo4jCoreTransformationInjectSwitchMonitored(driver);
-				final ModelOperation<Neo4jSwitchMonitoredInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case SWITCHMONITORED_REPAIR: {
-				final ModelQuery<Neo4jSwitchMonitoredMatch, Neo4jDriver> query = new Neo4jCoreQuerySwitchMonitored(driver);
-				final Neo4jCoreTransformation<Neo4jSwitchMonitoredMatch> transformation = new Neo4jCoreTransformationRepairSwitchMonitored(driver);
-				final ModelOperation<Neo4jSwitchMonitoredMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// SwitchSet
-			case SWITCHSET: {
-				final ModelQuery<Neo4jSwitchSetMatch, Neo4jDriver> query = new Neo4jCoreQuerySwitchSet(driver);
-				final ModelOperation<Neo4jSwitchSetMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case SWITCHSET_INJECT: {
-				final ModelQuery<Neo4jSwitchSetInjectMatch, Neo4jDriver> query = new Neo4jCoreQuerySwitchSetInject(driver);
-				final Neo4jCoreTransformation<Neo4jSwitchSetInjectMatch> transformation = new Neo4jCoreTransformationInjectSwitchSet(driver);
-				final ModelOperation<Neo4jSwitchSetInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case SWITCHSET_REPAIR: {
-				final ModelQuery<Neo4jSwitchSetMatch, Neo4jDriver> query = new Neo4jCoreQuerySwitchSet(driver);
-				final Neo4jCoreTransformation<Neo4jSwitchSetMatch> transformation = new Neo4jCoreTransformationRepairSwitchSet(driver);
-				final ModelOperation<Neo4jSwitchSetMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-			default:
-				throw new UnsupportedOperationException("Operation " + operationEnum + " not supported for Neo4j engine " + neo4jEngine + ".");
-			}
-		case CYPHER:
-			switch (operationEnum) {
-				// ConnectedSegments
-			case CONNECTEDSEGMENTS: {
-				final ModelQuery<Neo4jConnectedSegmentsMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-				final ModelOperation<Neo4jConnectedSegmentsMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case CONNECTEDSEGMENTS_INJECT: {
-				final ModelQuery<Neo4jConnectedSegmentsInjectMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir,
-						RailwayQuery.CONNECTEDSEGMENTS_INJECT);
-				final Neo4jCypherTransformation<Neo4jConnectedSegmentsInjectMatch> transformation = new Neo4jCypherTransformationInjectConnectedSegments(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jConnectedSegmentsInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case CONNECTEDSEGMENTS_REPAIR: {
-				final ModelQuery<Neo4jConnectedSegmentsMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-				final Neo4jCypherTransformation<Neo4jConnectedSegmentsMatch> transformation = new Neo4jCypherTransformationRepairConnectedSegments(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jConnectedSegmentsMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// PosLength
-			case POSLENGTH: {
-				final ModelQuery<Neo4jPosLengthMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH);
-				final ModelOperation<Neo4jPosLengthMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case POSLENGTH_INJECT: {
-				final ModelQuery<Neo4jPosLengthInjectMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH_INJECT);
-				final Neo4jCypherTransformation<Neo4jPosLengthInjectMatch> transformation = new Neo4jCypherTransformationInjectPosLength(driver, workspaceDir);
-				final ModelOperation<Neo4jPosLengthInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case POSLENGTH_REPAIR: {
-				final ModelQuery<Neo4jPosLengthMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH);
-				final Neo4jCypherTransformation<Neo4jPosLengthMatch> transformation = new Neo4jCypherTransformationRepairPosLength(driver, workspaceDir);
-				final ModelOperation<Neo4jPosLengthMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// RouteSensor
-			case ROUTESENSOR: {
-				final ModelQuery<Neo4jRouteSensorMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-				final ModelOperation<Neo4jRouteSensorMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case ROUTESENSOR_INJECT: {
-				final ModelQuery<Neo4jRouteSensorInjectMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir,
-						RailwayQuery.ROUTESENSOR_INJECT);
-				final Neo4jCypherTransformation<Neo4jRouteSensorInjectMatch> transformation = new Neo4jCypherTransformationInjectRouteSensor(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jRouteSensorInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case ROUTESENSOR_REPAIR: {
-				final ModelQuery<Neo4jRouteSensorMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-				final Neo4jCypherTransformation<Neo4jRouteSensorMatch> transformation = new Neo4jCypherTransformationRepairRouteSensor(driver, workspaceDir);
-				final ModelOperation<Neo4jRouteSensorMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// SemaphoreNeighbor
-			case SEMAPHORENEIGHBOR: {
-				final ModelQuery<Neo4jSemaphoreNeighborMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-				final ModelOperation<Neo4jSemaphoreNeighborMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case SEMAPHORENEIGHBOR_INJECT: {
-				final ModelQuery<Neo4jSemaphoreNeighborInjectMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir,
-						RailwayQuery.SEMAPHORENEIGHBOR_INJECT);
-				final Neo4jCypherTransformation<Neo4jSemaphoreNeighborInjectMatch> transformation = new Neo4jCypherTransformationInjectSemaphoreNeighbor(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jSemaphoreNeighborInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case SEMAPHORENEIGHBOR_REPAIR: {
-				final ModelQuery<Neo4jSemaphoreNeighborMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-				final Neo4jCypherTransformation<Neo4jSemaphoreNeighborMatch> transformation = new Neo4jCypherTransformationRepairSemaphoreNeighbor(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jSemaphoreNeighborMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// SwitchMonitored
-			case SWITCHMONITORED: {
-				final ModelQuery<Neo4jSwitchMonitoredMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-				final ModelOperation<Neo4jSwitchMonitoredMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case SWITCHMONITORED_INJECT: {
-				final ModelQuery<Neo4jSwitchMonitoredInjectMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir,
-						RailwayQuery.SWITCHMONITORED_INJECT);
-				final Neo4jCypherTransformation<Neo4jSwitchMonitoredInjectMatch> transformation = new Neo4jCypherTransformationInjectSwitchMonitored(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jSwitchMonitoredInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case SWITCHMONITORED_REPAIR: {
-				final ModelQuery<Neo4jSwitchMonitoredMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-				final Neo4jCypherTransformation<Neo4jSwitchMonitoredMatch> transformation = new Neo4jCypherTransformationRepairSwitchMonitored(driver,
-						workspaceDir);
-				final ModelOperation<Neo4jSwitchMonitoredMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-				// SwitchSet
-			case SWITCHSET: {
-				final ModelQuery<Neo4jSwitchSetMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET);
-				final ModelOperation<Neo4jSwitchSetMatch, Neo4jDriver> operation = ModelOperation.of(query);
-				return operation;
-			}
-			case SWITCHSET_INJECT: {
-				final ModelQuery<Neo4jSwitchSetInjectMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET_INJECT);
-				final Neo4jCypherTransformation<Neo4jSwitchSetInjectMatch> transformation = new Neo4jCypherTransformationInjectSwitchSet(driver, workspaceDir);
-				final ModelOperation<Neo4jSwitchSetInjectMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-			case SWITCHSET_REPAIR: {
-				final ModelQuery<Neo4jSwitchSetMatch, Neo4jDriver> query = new Neo4jCypherQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET);
-				final Neo4jCypherTransformation<Neo4jSwitchSetMatch> transformation = new Neo4jCypherTransformationRepairSwitchSet(driver, workspaceDir);
-				final ModelOperation<Neo4jSwitchSetMatch, Neo4jDriver> operation = ModelOperation.of(query, transformation);
-				return operation;
-			}
-
-			default:
-				throw new UnsupportedOperationException("Operation " + operationEnum + " not supported for Neo4j engine " + neo4jEngine + ".");
-			}
-		default:
-			throw new UnsupportedOperationException("Neo4j engine " + neo4jEngine + " not supported.");
-		}
-
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/Neo4jQuery.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/Neo4jQuery.java
deleted file mode 100644
index 405806991d53aefdfc0fcd213f2c24ed287817a3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/Neo4jQuery.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class Neo4jQuery<TNeo4jMatch extends Neo4jMatch> extends ModelQuery<TNeo4jMatch, Neo4jDriver> {
-
-	public Neo4jQuery(final RailwayQuery query, final Neo4jDriver driver) {
-		super(query, driver);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuery.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuery.java
deleted file mode 100644
index ecb13f9addac586563aa00df53089faabc3bf0f5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuery.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.Neo4jQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class Neo4jCoreQuery<TNeo4jMatch extends Neo4jMatch> extends Neo4jQuery<TNeo4jMatch> {
-
-	public Neo4jCoreQuery(final RailwayQuery query, final Neo4jDriver driver) {
-		super(query, driver);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryConnectedSegments.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryConnectedSegments.java
deleted file mode 100644
index 530155228d1d48efd60f8cbd9c2b4b42a53cdc81..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryConnectedSegments.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT4;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT5;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT6;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.util.Neo4jUtil;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQueryConnectedSegments extends Neo4jCoreQuery<Neo4jConnectedSegmentsMatch> {
-
-	public Neo4jCoreQueryConnectedSegments(final Neo4jDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS, driver);
-	}
-
-	@Override
-	public Collection<Neo4jConnectedSegmentsMatch> evaluate() throws IOException {
-		final Collection<Neo4jConnectedSegmentsMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (final Transaction tx = graphDb.beginTx()) {
-
-			// (sensor:Sensor)
-			final Iterable<Node> sensors = () -> graphDb.findNodes(Neo4jConstants.labelSensor);
-			for (final Node sensor : sensors) {
-				// (sensor:Sensor)<-[:sensor]-(segment1:Segment)
-				final Iterable<Node> segment1s = Neo4jUtil.getAdjacentNodes(sensor, Neo4jConstants.relationshipTypeMonitoredBy,
-						Direction.INCOMING, Neo4jConstants.labelSegment);
-
-				for (final Node segment1 : segment1s) {
-					// (segment1:Segment)-[:connectsTo]->(segment2:Segment)
-					final Iterable<Node> segment2s = Neo4jUtil.getAdjacentNodes(segment1, Neo4jConstants.relationshipTypeConnectsTo,
-							Direction.OUTGOING, Neo4jConstants.labelSegment);
-					for (final Node segment2 : segment2s) {
-						// (segment2:Segment)-[:sensor]->(sensor:Sensor)
-						if (!Neo4jUtil.isConnected(segment2, sensor, Neo4jConstants.relationshipTypeMonitoredBy)) {
-							continue;
-						}
-						// (segment2:Segment)-[:connectsTo]->(segment3:Segment)
-						final Iterable<Node> segment3s = Neo4jUtil.getAdjacentNodes(segment2, Neo4jConstants.relationshipTypeConnectsTo,
-								Direction.OUTGOING, Neo4jConstants.labelSegment);
-						for (final Node segment3 : segment3s) {
-							// (segment3:Segment)-[:sensor]->(sensor:Sensor)
-							if (!Neo4jUtil.isConnected(segment3, sensor, Neo4jConstants.relationshipTypeMonitoredBy)) {
-								continue;
-							}
-							// (segment3:Segment)-[:connectsTo]->(segment4:Segment)
-							final Iterable<Node> segment4s = Neo4jUtil.getAdjacentNodes(segment3, Neo4jConstants.relationshipTypeConnectsTo,
-									Direction.OUTGOING, Neo4jConstants.labelSegment);
-							for (final Node segment4 : segment4s) {
-								// (segment4:Segment)-[:sensor]->(sensor:Sensor)
-								if (!Neo4jUtil.isConnected(segment4, sensor, Neo4jConstants.relationshipTypeMonitoredBy)) {
-									continue;
-								}
-
-								// (segment4:Segment)-[:connectsTo]->(segment5:Segment)
-								final Iterable<Node> segment5s = Neo4jUtil.getAdjacentNodes(segment4,
-										Neo4jConstants.relationshipTypeConnectsTo, Direction.OUTGOING, Neo4jConstants.labelSegment);
-								for (final Node segment5 : segment5s) {
-									// (segment5:Segment)-[:sensor]->(sensor:Sensor)
-									if (!Neo4jUtil.isConnected(segment5, sensor, Neo4jConstants.relationshipTypeMonitoredBy)) {
-										continue;
-									}
-
-									// (segment5:Segment)-[:connectsTo]->(segment6:Segment)
-									final Iterable<Node> segment6s = Neo4jUtil.getAdjacentNodes(segment5, Neo4jConstants.relationshipTypeConnectsTo, Direction.OUTGOING, Neo4jConstants.labelSegment);
-									for (final Node segment6 : segment6s) {
-										// (segment6:Segment)-[:sensor]->(sensor:Sensor)
-										if (!Neo4jUtil.isConnected(segment6, sensor, Neo4jConstants.relationshipTypeMonitoredBy)) {
-											continue;
-										}
-
-										final Map<String, Object> match = new HashMap<>();
-										match.put(VAR_SENSOR, sensor);
-										match.put(VAR_SEGMENT1, segment1);
-										match.put(VAR_SEGMENT2, segment2);
-										match.put(VAR_SEGMENT3, segment3);
-										match.put(VAR_SEGMENT4, segment4);
-										match.put(VAR_SEGMENT5, segment5);
-										match.put(VAR_SEGMENT6, segment6);
-										matches.add(new Neo4jConnectedSegmentsMatch(match));
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryConnectedSegmentsInject.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryConnectedSegmentsInject.java
deleted file mode 100644
index b9d839fa09de1be3b21991c8a6f7b0ba43db4b21..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryConnectedSegmentsInject.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.util.Neo4jUtil;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQueryConnectedSegmentsInject extends Neo4jCoreQuery<Neo4jConnectedSegmentsInjectMatch> {
-
-	public Neo4jCoreQueryConnectedSegmentsInject(final Neo4jDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS_INJECT, driver);
-	}
-
-	@Override
-	public Collection<Neo4jConnectedSegmentsInjectMatch> evaluate() throws IOException {
-		final Collection<Neo4jConnectedSegmentsInjectMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (final Transaction tx = graphDb.beginTx()) {
-
-			// (sensor:Sensor)
-			final Iterable<Node> sensors = () -> graphDb.findNodes(Neo4jConstants.labelSensor);
-			for (final Node sensor : sensors) {
-				// (sensor:Sensor)<-[:sensor]-(segment1:Segment)
-				final Iterable<Node> segment1s = Neo4jUtil.getAdjacentNodes(sensor, Neo4jConstants.relationshipTypeMonitoredBy, Direction.INCOMING,
-						Neo4jConstants.labelSegment);
-
-				for (final Node segment1 : segment1s) {
-					// (segment1:Segment)-[:connectsTo]->(segment3:Segment)
-					final Iterable<Node> segment3s = Neo4jUtil.getAdjacentNodes(segment1, Neo4jConstants.relationshipTypeConnectsTo, Direction.OUTGOING,
-							Neo4jConstants.labelSegment);
-					for (final Node segment3 : segment3s) {
-						// (segment3:Segment)-[:sensor]->(sensor:Sensor)
-						if (!Neo4jUtil.isConnected(segment3, sensor, Neo4jConstants.relationshipTypeMonitoredBy)) {
-							continue;
-						}
-
-						final Map<String, Object> match = new HashMap<>();
-						match.put(VAR_SENSOR, sensor);
-						match.put(VAR_SEGMENT1, segment1);
-						match.put(VAR_SEGMENT3, segment3);
-						matches.add(new Neo4jConnectedSegmentsInjectMatch(match));
-					}
-				}
-			}
-		}
-		return matches;
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryPosLength.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryPosLength.java
deleted file mode 100644
index 21d9e30de7145f6485560dc71e7ee7b0e5c815a3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryPosLength.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQueryPosLength extends Neo4jCoreQuery<Neo4jPosLengthMatch> {
-
-	public Neo4jCoreQueryPosLength(final Neo4jDriver driver) {
-		super(RailwayQuery.POSLENGTH, driver);
-	}
-
-	@Override
-	public Collection<Neo4jPosLengthMatch> evaluate() {
-		final Collection<Neo4jPosLengthMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (Transaction tx = graphDb.beginTx()) {
-			// (segment:Segment)
-			final Iterable<Node> segments = () -> graphDb.findNodes(Neo4jConstants.labelSegment);
-			for (final Node segment : segments) {
-				final Integer length = (Integer) segment.getProperty(LENGTH);
-
-				// segment.length <= 0
-				if (length <= 0) {
-					final Map<String, Object> match = new HashMap<>();
-					match.put(VAR_SEGMENT, segment);
-					match.put(VAR_LENGTH, length);
-					matches.add(new Neo4jPosLengthMatch(match));
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryPosLengthInject.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryPosLengthInject.java
deleted file mode 100644
index 0153f3157fe648e3d188ee14f083bf1ea539ddcb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryPosLengthInject.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQueryPosLengthInject extends Neo4jCoreQuery<Neo4jPosLengthInjectMatch> {
-
-	public Neo4jCoreQueryPosLengthInject(final Neo4jDriver driver) {
-		super(RailwayQuery.POSLENGTH_INJECT, driver);
-	}
-
-	@Override
-	public Collection<Neo4jPosLengthInjectMatch> evaluate() {
-		final Collection<Neo4jPosLengthInjectMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (Transaction tx = graphDb.beginTx()) {
-			// (segment:Segment)
-			final Iterable<Node> segments = () -> graphDb.findNodes(Neo4jConstants.labelSegment);
-			for (final Node segment : segments) {
-				final Map<String, Object> match = new HashMap<>();
-				match.put(VAR_SEGMENT, segment);
-				matches.add(new Neo4jPosLengthInjectMatch(match));
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryRouteSensor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryRouteSensor.java
deleted file mode 100644
index c0e730bbbf408621619f16ef9c42176459768c59..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryRouteSensor.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.util.Neo4jUtil;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQueryRouteSensor extends Neo4jCoreQuery<Neo4jRouteSensorMatch> {
-
-	public Neo4jCoreQueryRouteSensor(final Neo4jDriver driver) {
-		super(RailwayQuery.ROUTESENSOR, driver);
-	}
-
-	@Override
-	public Collection<Neo4jRouteSensorMatch> evaluate() {
-		final Collection<Neo4jRouteSensorMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (final Transaction tx = graphDb.beginTx()) {
-			final Iterable<Node> routes = () -> graphDb.findNodes(Neo4jConstants.labelRoute);
-			for (final Node route : routes) {
-				// (route:Route)-[:follows]->(swp:switchPosition)
-				final Iterable<Node> swPs = Neo4jUtil.getAdjacentNodes(route, Neo4jConstants.relationshipTypeFollows, Direction.OUTGOING, Neo4jConstants.labelSwitchPosition);
-				for (final Node swP : swPs) {								
-					// (swP:switchPosition)-[:target]->(sw:Switch)
-					final Iterable<Node> sws = Neo4jUtil.getAdjacentNodes(swP, Neo4jConstants.relationshipTypeTarget, Direction.OUTGOING, Neo4jConstants.labelSwitch);
-					for (final Node sw : sws) {						
-						// (sw:Switch)-[:sensor]->(sensor:Sensor)
-						final Iterable<Node> sensors = Neo4jUtil.getAdjacentNodes(sw, Neo4jConstants.relationshipTypeMonitoredBy, Direction.OUTGOING, Neo4jConstants.labelSensor);
-						for (final Node sensor : sensors) {
-							// (sensor:Sensor)<-[:requires]-(route:Route) NAC
-							if (!Neo4jUtil.isConnected(route, sensor, Neo4jConstants.relationshipTypeRequires)) {
-								final Map<String, Object> match = new HashMap<>();
-								match.put(VAR_ROUTE, route);
-								match.put(VAR_SENSOR, sensor);
-								match.put(VAR_SWP, swP);
-								match.put(VAR_SW, sw);
-								matches.add(new Neo4jRouteSensorMatch(match));
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryRouteSensorInject.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryRouteSensorInject.java
deleted file mode 100644
index 2fe4992ee6df50c14c4b070d9132ec4a3355340c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQueryRouteSensorInject.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.util.Neo4jUtil;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQueryRouteSensorInject extends Neo4jCoreQuery<Neo4jRouteSensorInjectMatch> {
-
-	public Neo4jCoreQueryRouteSensorInject(final Neo4jDriver driver) {
-		super(RailwayQuery.ROUTESENSOR_INJECT, driver);
-	}
-
-	@Override
-	public Collection<Neo4jRouteSensorInjectMatch> evaluate() {
-		final Collection<Neo4jRouteSensorInjectMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (Transaction tx = graphDb.beginTx()) {
-			// (route:Route)
-			final Iterable<Node> routes = () -> graphDb.findNodes(Neo4jConstants.labelRoute);
-			for (final Node route : routes) {
-	
-				final Iterable<Node> sensors = Neo4jUtil.getAdjacentNodes(route, Neo4jConstants.relationshipTypeRequires,
-						Direction.OUTGOING, Neo4jConstants.labelSensor);
-
-				for (final Node sensor : sensors) {
-					final Map<String, Object> match = new HashMap<>();
-					match.put(QueryConstants.VAR_ROUTE, route);
-					match.put(QueryConstants.VAR_SENSOR, sensor);
-					matches.add(new Neo4jRouteSensorInjectMatch(match));					
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySemaphoreNeighbor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySemaphoreNeighbor.java
deleted file mode 100644
index 77aec26bf3446e88e9e99938de27a5cc0e2df12d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySemaphoreNeighbor.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.util.Neo4jUtil;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQuerySemaphoreNeighbor extends Neo4jCoreQuery<Neo4jSemaphoreNeighborMatch> {
-
-	public Neo4jCoreQuerySemaphoreNeighbor(final Neo4jDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR, driver);
-	}
-
-	@Override
-	public Collection<Neo4jSemaphoreNeighborMatch> evaluate() {
-		final Collection<Neo4jSemaphoreNeighborMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (final Transaction tx = graphDb.beginTx()) {
-			final Iterable<Node> route1s = () -> graphDb.findNodes(Neo4jConstants.labelRoute);
-			for (final Node route1 : route1s) {
-				// (route1:Route)-[:exit]->(semaphore:Semaphore)
-				final Iterable<Node> semaphores = Neo4jUtil.getAdjacentNodes(route1, Neo4jConstants.relationshipTypeExit,
-						Direction.OUTGOING, Neo4jConstants.labelSemaphore);
-				for (final Node semaphore : semaphores) {
-
-					// (route1:Route)-[:requires]->(sensor1:Sensor)
-					final Iterable<Node> sensor1s = Neo4jUtil.getAdjacentNodes(route1, Neo4jConstants.relationshipTypeRequires,
-							Direction.OUTGOING, Neo4jConstants.labelSensor);
-					for (final Node sensor1 : sensor1s) {
-						// (sensor1:Sensor)<-[:sensor]-(te1:TrackElement)
-						final Iterable<Node> te1s = Neo4jUtil.getAdjacentNodes(sensor1, Neo4jConstants.relationshipTypeMonitoredBy, Direction.INCOMING, Neo4jConstants.labelTrackElement);					
-						for (final Node te1 : te1s) {
-							// (te1:TrackElement)-[:connectsTo]->(te2:TrackElement)
-							final Iterable<Node> te2s = Neo4jUtil.getAdjacentNodes(te1, Neo4jConstants.relationshipTypeConnectsTo, Direction.OUTGOING, Neo4jConstants.labelTrackElement);
-							for (final Node te2 : te2s) {							
-								// (te2:TrackElement)-[:sensor]->(sensor2:Sensor)
-								final Iterable<Node> sensor2s = Neo4jUtil.getAdjacentNodes(te2, Neo4jConstants.relationshipTypeMonitoredBy, Direction.OUTGOING, Neo4jConstants.labelSensor);								
-								for (final Node sensor2 : sensor2s) {
-									// (sensor2:Sensor)<-[:requires]-(route2:Route),								
-									final Iterable<Node> route2s = Neo4jUtil.getAdjacentNodes(sensor2, Neo4jConstants.relationshipTypeRequires, Direction.INCOMING, Neo4jConstants.labelRoute);
-									for (final Node route2 : route2s) {
-										// route1 != route2 --> if (route1 == route2), continue
-										if (route1.equals(route2)) {
-											continue;
-										}
-
-										// (route2)-[:entry]->(semaphore) NAC
-										if (!Neo4jUtil.isConnected(route2, semaphore, Neo4jConstants.relationshipTypeEntry)) {
-											final Map<String, Object> match = new HashMap<>();
-											match.put(VAR_SEMAPHORE, semaphore);
-											match.put(VAR_ROUTE1, route1);
-											match.put(VAR_ROUTE2, route2);
-											match.put(VAR_SENSOR1, sensor1);
-											match.put(VAR_SENSOR2, sensor2);
-											match.put(VAR_TE1, te1);
-											match.put(VAR_TE2, te2);
-											matches.add(new Neo4jSemaphoreNeighborMatch(match));
-											break;
-										}
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySemaphoreNeighborInject.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySemaphoreNeighborInject.java
deleted file mode 100644
index 60e6d0c0241329bb97a39b157c0d6c422975508e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySemaphoreNeighborInject.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Relationship;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQuerySemaphoreNeighborInject extends Neo4jCoreQuery<Neo4jSemaphoreNeighborInjectMatch> {
-
-	public Neo4jCoreQuerySemaphoreNeighborInject(final Neo4jDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR_INJECT, driver);
-	}
-
-	@Override
-	public Collection<Neo4jSemaphoreNeighborInjectMatch> evaluate() {
-		final Collection<Neo4jSemaphoreNeighborInjectMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (Transaction tx = graphDb.beginTx()) {
-			// (route:Route)
-			final Iterable<Node> routes = () -> graphDb.findNodes(Neo4jConstants.labelRoute);
-			for (final Node route : routes) {
-				Iterable<Relationship> entries = route.getRelationships(Direction.OUTGOING, Neo4jConstants.relationshipTypeEntry);
-
-				for (Relationship entry : entries) {
-					final Node semaphore = entry.getEndNode();
-
-					final Map<String, Object> match = new HashMap<>();
-					match.put(QueryConstants.VAR_ROUTE, route);
-					match.put(QueryConstants.VAR_SEMAPHORE, semaphore);
-					matches.add(new Neo4jSemaphoreNeighborInjectMatch(match));
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchMonitored.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchMonitored.java
deleted file mode 100644
index 5964ff6bcb6ff03c34ac080a75ac5cb234e13f93..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchMonitored.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Relationship;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQuerySwitchMonitored extends Neo4jCoreQuery<Neo4jSwitchMonitoredMatch> {
-
-	public Neo4jCoreQuerySwitchMonitored(final Neo4jDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED, driver);
-	}
-
-	@Override
-	public Collection<Neo4jSwitchMonitoredMatch> evaluate() {
-		final Collection<Neo4jSwitchMonitoredMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (Transaction tx = graphDb.beginTx()) {
-			final Iterable<Node> sws = () -> graphDb.findNodes(Neo4jConstants.labelSwitch);
-			// (sw:Switch)
-			for (final Node sw : sws) {
-				// (sw)-[:sensor]->(Sensor) NAC
-				final Iterable<Relationship> relationshipSensors = sw.getRelationships(Direction.OUTGOING, Neo4jConstants.relationshipTypeMonitoredBy);
-
-				boolean hasSensor = false;
-				for (final Relationship relationshipSensor : relationshipSensors) {
-					final Node sensor = relationshipSensor.getEndNode();
-					if (sensor.hasLabel(Neo4jConstants.labelSensor)) {
-						hasSensor = true;
-						break;
-					}
-				}
-
-				if (!hasSensor) {
-					final Map<String, Object> match = new HashMap<>();
-					match.put(VAR_SW, sw);
-					matches.add(new Neo4jSwitchMonitoredMatch(match));
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchMonitoredInject.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchMonitoredInject.java
deleted file mode 100644
index 88d2733f00bd6281944a81e8e2ea6dd51f5574c1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchMonitoredInject.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQuerySwitchMonitoredInject extends Neo4jCoreQuery<Neo4jSwitchMonitoredInjectMatch> {
-
-	public Neo4jCoreQuerySwitchMonitoredInject(final Neo4jDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED_INJECT, driver);
-	}
-
-	@Override
-	public Collection<Neo4jSwitchMonitoredInjectMatch> evaluate() {
-		final Collection<Neo4jSwitchMonitoredInjectMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (final Transaction tx = graphDb.beginTx()) {
-			// (sw:Switch)
-			final Iterable<Node> sws = () -> graphDb.findNodes(Neo4jConstants.labelSwitch);
-			for (final Node sw : sws) {
-				final Map<String, Object> match = new HashMap<>();
-				match.put(QueryConstants.VAR_SW, sw);
-				matches.add(new Neo4jSwitchMonitoredInjectMatch(match));
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchSet.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchSet.java
deleted file mode 100644
index d584212562c36601b8c292d8063b7106b01110d4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchSet.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SIGNAL;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.util.Neo4jUtil;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.constants.Signal;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQuerySwitchSet extends Neo4jCoreQuery<Neo4jSwitchSetMatch> {
-
-	public Neo4jCoreQuerySwitchSet(final Neo4jDriver driver) {
-		super(RailwayQuery.SWITCHSET, driver);
-	}
-
-	@Override
-	public Collection<Neo4jSwitchSetMatch> evaluate() {
-		final Collection<Neo4jSwitchSetMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (final Transaction tx = graphDb.beginTx()) {
-			// (route:Route)
-			final Iterable<Node> routes = () -> graphDb.findNodes(Neo4jConstants.labelRoute);
-			for (final Node route : routes) {
-				final boolean active = (boolean) route.getProperty(ModelConstants.ACTIVE);
-				if (!active) {
-					continue;
-				}
-				
-				// (route:Route)-[:entry]->(semaphore:Semaphore)
-				final Iterable<Node> semaphores = Neo4jUtil.getAdjacentNodes(route, Neo4jConstants.relationshipTypeEntry, Direction.OUTGOING,
-						Neo4jConstants.labelSemaphore);
-				for (final Node semaphore : semaphores) {
-
-					// semaphore.signal = "GO"
-					final String signal = (String) semaphore.getProperty(SIGNAL);
-					if (!Signal.GO.toString().equals(signal)) {
-						continue;
-					}
-
-					// (route:Route)-[:follows]->(swP:SwitchPosition)
-					final Iterable<Node> swPs = Neo4jUtil.getAdjacentNodes(route, Neo4jConstants.relationshipTypeFollows, Direction.OUTGOING,
-							Neo4jConstants.labelSwitchPosition);
-					for (final Node swP : swPs) {
-						// (swP:SwitchPosition)-[:target]->(sw:Switch)
-						final Iterable<Node> sws = Neo4jUtil.getAdjacentNodes(swP, Neo4jConstants.relationshipTypeTarget,
-								Direction.OUTGOING, Neo4jConstants.labelSwitch);
-
-						for (final Node sw : sws) {
-							final Object currentPosition = sw.getProperty(ModelConstants.CURRENTPOSITION);
-							final Object position = swP.getProperty(ModelConstants.POSITION);
-
-							if (!currentPosition.equals(position)) {
-								final Map<String, Object> match = new HashMap<>();
-								match.put(QueryConstants.VAR_SEMAPHORE, semaphore);
-								match.put(QueryConstants.VAR_ROUTE, route);
-								match.put(QueryConstants.VAR_SWP, swP);
-								match.put(QueryConstants.VAR_SW, sw);
-								match.put(QueryConstants.VAR_CURRENTPOSITION, currentPosition);
-								match.put(QueryConstants.VAR_POSITION, position);
-								matches.add(new Neo4jSwitchSetMatch(match));
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchSetInject.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchSetInject.java
deleted file mode 100644
index a25d420738ac2959ed8a53396e5b5a86b3a8e71d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/core/Neo4jCoreQuerySwitchSetInject.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.core;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.neo4j.graphdb.GraphDatabaseService;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Transaction;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreQuerySwitchSetInject extends Neo4jCoreQuery<Neo4jSwitchSetInjectMatch> {
-
-	public Neo4jCoreQuerySwitchSetInject(final Neo4jDriver driver) {
-		super(RailwayQuery.SWITCHSET_INJECT, driver);
-	}
-
-	@Override
-	public Collection<Neo4jSwitchSetInjectMatch> evaluate() {
-		final Collection<Neo4jSwitchSetInjectMatch> matches = new ArrayList<>();
-
-		final GraphDatabaseService graphDb = driver.getGraphDb();
-		try (Transaction tx = graphDb.beginTx()) {
-			// (sw:Switch)
-			final Iterable<Node> sws = () -> graphDb.findNodes(Neo4jConstants.labelSwitch);
-			for (final Node sw : sws) {
-				final Map<String, Object> match = new HashMap<>();
-				match.put(QueryConstants.VAR_SW, sw);
-				matches.add(new Neo4jSwitchSetInjectMatch(match));
-			}
-		}
-
-		return matches;
-	}
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/cypher/Neo4jCypherQuery.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/cypher/Neo4jCypherQuery.java
deleted file mode 100644
index 0b9db283cde7d1386009e5b20c3cf8355737fca2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/queries/cypher/Neo4jCypherQuery.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.cypher;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.queries.Neo4jQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCypherQuery<TNeo4jMatch extends Neo4jMatch> extends Neo4jQuery<TNeo4jMatch> {
-
-	protected final RailwayQuery query;
-	protected final String queryDefinition;
-
-	public Neo4jCypherQuery(final Neo4jDriver driver, final String workspaceDir, final RailwayQuery query)
-			throws IOException {
-		super(query, driver);
-
-		this.query = query;
-		this.queryDefinition = FileUtils.readFileToString(new File(
-				workspaceDir + Neo4jConstants.CYPHER_DIR + "queries/" + query + "." + Neo4jConstants.QUERY_EXTENSION));
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TNeo4jMatch> evaluate() throws IOException {
-		return (Collection<TNeo4jMatch>) driver.runQuery(query, queryDefinition);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jCoreTransformation.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jCoreTransformation.java
deleted file mode 100644
index 49408522505344bb110ecc186f1baa3cb313703f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jCoreTransformation.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-
-public abstract class Neo4jCoreTransformation<TNeo4jMatch extends Neo4jMatch> extends Neo4jTransformation<TNeo4jMatch> {
-	
-	protected Neo4jCoreTransformation(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jCypherTransformation.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jCypherTransformation.java
deleted file mode 100644
index af1964b2f696a9a8ff95c9b6e720df83aa3eb980..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jCypherTransformation.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public abstract class Neo4jCypherTransformation<TNeo4jMatch extends Neo4jMatch>
-		extends Neo4jTransformation<TNeo4jMatch> {
-
-	protected final String transformationDefinition;
-
-	public Neo4jCypherTransformation(final Neo4jDriver driver, final String workspaceDir,
-			final RailwayOperation operation) throws IOException {
-		super(driver);
-		this.transformationDefinition = FileUtils.readFileToString(new File(workspaceDir + Neo4jConstants.CYPHER_DIR
-				+ "transformations/" + operation + "Rhs." + Neo4jConstants.QUERY_EXTENSION));
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jTransformation.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jTransformation.java
deleted file mode 100644
index e9811004b0ee59fed285325db489d943bd09a927..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/Neo4jTransformation.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-
-public abstract class Neo4jTransformation<TNeo4jMatch extends Neo4jMatch> extends ModelTransformation<TNeo4jMatch, Neo4jDriver> {
-
-	public Neo4jTransformation(final Neo4jDriver driver) {
-		super(driver);
-	}
-	
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectConnectedSegments.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectConnectedSegments.java
deleted file mode 100644
index 0666997b825812f2dfef15b4eef943dd7ca77790..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Relationship;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationInjectConnectedSegments
-		extends Neo4jCoreTransformation<Neo4jConnectedSegmentsInjectMatch> {
-
-	public Neo4jCoreTransformationInjectConnectedSegments(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jConnectedSegmentsInjectMatch> matches) {
-		for (final Neo4jConnectedSegmentsInjectMatch match : matches) {
-			// create (segment2) node
-			final Node segment2 = driver.getGraphDb().createNode(Neo4jConstants.labelSegment);
-			segment2.setProperty(ModelConstants.LENGTH, TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH);
-
-			// (segment2)-[:monitoredBy]->(sensor)
-			segment2.createRelationshipTo(match.getSensor(), Neo4jConstants.relationshipTypeMonitoredBy);
-
-			// (segment1)-[:connectsTo]->(segment2)
-			match.getSegment1().createRelationshipTo(segment2, Neo4jConstants.relationshipTypeConnectsTo);
-			// (segment2)-[:connectsTo]->(segment3)
-			segment2.createRelationshipTo(match.getSegment3(), Neo4jConstants.relationshipTypeConnectsTo);
-
-			// remove (segment1)-[:connectsTo]->(segment3)
-			final Iterable<Relationship> connectsToEdges = match.getSegment1().getRelationships(Direction.OUTGOING,
-					Neo4jConstants.relationshipTypeConnectsTo);
-			for (final Relationship connectsToEdge : connectsToEdges) {
-				if (connectsToEdge.getEndNode().equals(match.getSegment3())) {
-					connectsToEdge.delete();
-				}
-			}
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectPosLength.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectPosLength.java
deleted file mode 100644
index c53c0bb69bfb2ea12afe63ae4ba07e5947a787ea..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectPosLength.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject;
-
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class Neo4jCoreTransformationInjectPosLength extends Neo4jCoreTransformation<Neo4jPosLengthInjectMatch> {
-
-	public Neo4jCoreTransformationInjectPosLength(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jPosLengthInjectMatch> matches) {
-		for (final Neo4jPosLengthInjectMatch match : matches) {
-			match.getSegment().setProperty(ModelConstants.LENGTH, 0);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectRouteSensor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectRouteSensor.java
deleted file mode 100644
index b11e069201f0f2da505c98f5cc7c42e3a5487660..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Relationship;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationInjectRouteSensor extends Neo4jCoreTransformation<Neo4jRouteSensorInjectMatch> {
-
-	public Neo4jCoreTransformationInjectRouteSensor(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jRouteSensorInjectMatch> matches) {
-		for (final Neo4jRouteSensorInjectMatch match : matches) {
-			final Iterable<Relationship> requiress = match.getRoute().getRelationships(Neo4jConstants.relationshipTypeRequires);
-			for (final Relationship requires : requiress) {
-				if (requires.getEndNode().equals(match.getSensor())) {
-					requires.delete();
-				}
-			}
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 9abd5f689f471e704202097a6e03537374c438fe..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Relationship;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationInjectSemaphoreNeighbor extends Neo4jCoreTransformation<Neo4jSemaphoreNeighborInjectMatch> {
-
-	public Neo4jCoreTransformationInjectSemaphoreNeighbor(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSemaphoreNeighborInjectMatch> matches) {
-		for (final Neo4jSemaphoreNeighborInjectMatch match : matches) {
-			final Iterable<Relationship> entries = match.getRoute().getRelationships(Neo4jConstants.relationshipTypeEntry);
-			for (final Relationship entry : entries) {
-				if (entry.getEndNode().equals(match.getSemaphore())) {
-					entry.delete();
-				}
-			}
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSwitchMonitored.java
deleted file mode 100644
index efaf57f606e124752e92b91a382081cff28350bc..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Relationship;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationInjectSwitchMonitored
-		extends Neo4jCoreTransformation<Neo4jSwitchMonitoredInjectMatch> {
-
-	public Neo4jCoreTransformationInjectSwitchMonitored(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchMonitoredInjectMatch> matches) {
-		for (final Neo4jSwitchMonitoredInjectMatch match : matches) {
-			final Iterable<Relationship> monitoredBys = match.getSw()
-					.getRelationships(Neo4jConstants.relationshipTypeMonitoredBy);
-			for (final Relationship monitoredBy : monitoredBys) {
-				monitoredBy.delete();
-			}
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSwitchSet.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSwitchSet.java
deleted file mode 100644
index b7c61823b832943f5709577f70855c3fd76d30d2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/inject/Neo4jCoreTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.inject;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.constants.Position;
-
-public class Neo4jCoreTransformationInjectSwitchSet extends Neo4jCoreTransformation<Neo4jSwitchSetInjectMatch> {
-
-	public Neo4jCoreTransformationInjectSwitchSet(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchSetInjectMatch> matches) {
-		for (final Neo4jSwitchSetInjectMatch match : matches) {
-			final Node sw = match.getSw();
-			final String currentPositionString = (String) sw.getProperty(ModelConstants.CURRENTPOSITION);
-			final Position currentPosition = Position.valueOf(currentPositionString);
-			final Position newCurrentPosition = Position.values()[(currentPosition.ordinal() + 1) % Position.values().length];
-			sw.setProperty(ModelConstants.CURRENTPOSITION, newCurrentPosition.toString());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairConnectedSegments.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairConnectedSegments.java
deleted file mode 100644
index 967635a47b00c77353358757312edaf2404e0446..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Relationship;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationRepairConnectedSegments extends Neo4jCoreTransformation<Neo4jConnectedSegmentsMatch> {
-
-	public Neo4jCoreTransformationRepairConnectedSegments(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jConnectedSegmentsMatch> matches) {
-		for (final Neo4jConnectedSegmentsMatch csm : matches) {
-			// delete segment2 with all its relationships
-			final Node segment2 = csm.getSegment2();
-			for (final Relationship relationship : segment2.getRelationships()) {
-				relationship.delete();
-			}
-			segment2.delete();
-			// (segment1)-[:connectsTo]->(segment3)
-			csm.getSegment1().createRelationshipTo(csm.getSegment3(), Neo4jConstants.relationshipTypeConnectsTo);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairPosLength.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairPosLength.java
deleted file mode 100644
index 1055a49f8874be7e27638dd4173b86c0b694729a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairPosLength.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.NotFoundException;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class Neo4jCoreTransformationRepairPosLength extends Neo4jCoreTransformation<Neo4jPosLengthMatch> {
-
-	public Neo4jCoreTransformationRepairPosLength(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jPosLengthMatch> matches) {
-		for (final Neo4jPosLengthMatch plm : matches) {
-			final Node segment = plm.getSegment();
-			try {
-				final Integer length = (Integer) segment.getProperty(ModelConstants.LENGTH);
-				segment.setProperty(ModelConstants.LENGTH, -length + 1);
-			} catch (final NotFoundException e) {
-				// do nothing (node has been removed)
-			}
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairRouteSensor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairRouteSensor.java
deleted file mode 100644
index 52bfac5e03c914d50ae5f67012ec16b7b420e986..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationRepairRouteSensor extends Neo4jCoreTransformation<Neo4jRouteSensorMatch> {
-
-	public Neo4jCoreTransformationRepairRouteSensor(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jRouteSensorMatch> matches) {
-		for (final Neo4jRouteSensorMatch rsm : matches) {
-			final Node route = rsm.getRoute();
-			final Node sensor = rsm.getSensor();
-			route.createRelationshipTo(sensor, Neo4jConstants.relationshipTypeRequires);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index c7aa0de2b7e4670e88a7690f4c1ca12802fb7a36..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationRepairSemaphoreNeighbor extends Neo4jCoreTransformation<Neo4jSemaphoreNeighborMatch> {
-
-	public Neo4jCoreTransformationRepairSemaphoreNeighbor(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSemaphoreNeighborMatch> matches) {
-		for (final Neo4jSemaphoreNeighborMatch snm : matches) {
-			final Node semaphore = snm.getSemaphore();
-			final Node route2 = snm.getRoute2();
-			route2.createRelationshipTo(semaphore, Neo4jConstants.relationshipTypeEntry);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 4e4aa27196baf651c2e1d7eaa196308d87605cc9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-public class Neo4jCoreTransformationRepairSwitchMonitored extends Neo4jCoreTransformation<Neo4jSwitchMonitoredMatch> {
-
-	public Neo4jCoreTransformationRepairSwitchMonitored(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchMonitoredMatch> matches) {
-		for (final Neo4jSwitchMonitoredMatch ssnm : matches) {
-			final Node sw = ssnm.getSw();
-			final Node sensor = driver.getGraphDb().createNode(Neo4jConstants.labelSensor);
-			sw.createRelationshipTo(sensor, Neo4jConstants.relationshipTypeMonitoredBy);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSwitchSet.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSwitchSet.java
deleted file mode 100644
index 79ec054df2717c290ffbf082f7fec09fd7345648..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/core/repair/Neo4jCoreTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.core.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-
-import java.util.Collection;
-
-import org.neo4j.graphdb.Node;
-
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCoreTransformation;
-
-public class Neo4jCoreTransformationRepairSwitchSet extends Neo4jCoreTransformation<Neo4jSwitchSetMatch> {
-
-	public Neo4jCoreTransformationRepairSwitchSet(final Neo4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchSetMatch> matches) {
-		for (final Neo4jSwitchSetMatch sstm : matches) {
-			final Node sw = sstm.getSw();
-			final String position = sstm.getPosition();
-			sw.setProperty(CURRENTPOSITION, position);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectConnectedSegments.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectConnectedSegments.java
deleted file mode 100644
index b7174ef64090ff5df6060a646cc1af441037185f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationInjectConnectedSegments extends Neo4jCypherTransformation<Neo4jConnectedSegmentsInjectMatch> {
-
-	public Neo4jCypherTransformationInjectConnectedSegments(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.CONNECTEDSEGMENTS_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jConnectedSegmentsInjectMatch> matches) throws IOException {
-		for (final Neo4jConnectedSegmentsInjectMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SENSOR, match.getSensor().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SEGMENT1, match.getSegment1().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SEGMENT3, match.getSegment3().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_LENGTH, TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectPosLength.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectPosLength.java
deleted file mode 100644
index 59009722304994610f1ce75edb34b79ac991a957..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectPosLength.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationInjectPosLength extends Neo4jCypherTransformation<Neo4jPosLengthInjectMatch> {
-
-	public Neo4jCypherTransformationInjectPosLength(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.POSLENGTH_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jPosLengthInjectMatch> matches) throws IOException {
-		for (final Neo4jPosLengthInjectMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SEGMENT, match.getSegment().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectRouteSensor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectRouteSensor.java
deleted file mode 100644
index 5b41bd7a9928948cc6f56e3404241f2479fae559..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationInjectRouteSensor extends Neo4jCypherTransformation<Neo4jRouteSensorInjectMatch> {
-
-	public Neo4jCypherTransformationInjectRouteSensor(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.ROUTESENSOR_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jRouteSensorInjectMatch> matches) throws IOException {
-		for (final Neo4jRouteSensorInjectMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_ROUTE, match.getRoute().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SENSOR, match.getSensor().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 3bd8499ecc97000416386cc43271b8de98c39e1c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationInjectSemaphoreNeighbor
-		extends Neo4jCypherTransformation<Neo4jSemaphoreNeighborInjectMatch> {
-
-	public Neo4jCypherTransformationInjectSemaphoreNeighbor(final Neo4jDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SEMAPHORENEIGHBOR_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSemaphoreNeighborInjectMatch> matches) throws IOException {
-		for (final Neo4jSemaphoreNeighborInjectMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_ROUTE, match.getRoute().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SEMAPHORE, match.getSemaphore().getProperty(Neo4jConstants.ID) //
-			);
-
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSwitchMonitored.java
deleted file mode 100644
index cba03fc7f536f423766380e9566e256f94821bf1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationInjectSwitchMonitored
-		extends Neo4jCypherTransformation<Neo4jSwitchMonitoredInjectMatch> {
-
-	public Neo4jCypherTransformationInjectSwitchMonitored(final Neo4jDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHMONITORED_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchMonitoredInjectMatch> matches) throws IOException {
-		for (final Neo4jSwitchMonitoredInjectMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SW, match.getSw().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSwitchSet.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSwitchSet.java
deleted file mode 100644
index d15ea121bfb5d76ef72d68a0f264ba5b556b2e4f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/inject/Neo4jCypherTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.inject;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.constants.Position;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationInjectSwitchSet extends Neo4jCypherTransformation<Neo4jSwitchSetInjectMatch> {
-
-	public Neo4jCypherTransformationInjectSwitchSet(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHSET_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchSetInjectMatch> matches) throws IOException {
-		for (final Neo4jSwitchSetInjectMatch match : matches) {
-			final String currentPositionString = (String) match.getSw().getProperty(ModelConstants.CURRENTPOSITION);
-			final Position currentPosition = Position.valueOf(currentPositionString);
-			final Position newCurrentPosition = Position.values()[(currentPosition.ordinal() + 1) % Position.values().length];
-
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SW, match.getSw().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_CURRENTPOSITION, newCurrentPosition.toString()
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairConnectedSegments.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairConnectedSegments.java
deleted file mode 100644
index 3b57067568782a29a53876b04df186045f39be92..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationRepairConnectedSegments extends Neo4jCypherTransformation<Neo4jConnectedSegmentsMatch> {
-
-	public Neo4jCypherTransformationRepairConnectedSegments(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.CONNECTEDSEGMENTS_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jConnectedSegmentsMatch> matches) throws IOException {
-		for (final Neo4jConnectedSegmentsMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SEGMENT2, match.getSegment2().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairPosLength.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairPosLength.java
deleted file mode 100644
index baa86ec4dd248dc5ab737c819aaeb0a2d37b3a7b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairPosLength.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-import org.neo4j.graphdb.NotFoundException;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationRepairPosLength extends Neo4jCypherTransformation<Neo4jPosLengthMatch> {
-
-	public Neo4jCypherTransformationRepairPosLength(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.POSLENGTH_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jPosLengthMatch> matches) throws IOException {
-		for (final Neo4jPosLengthMatch match : matches) {
-			try {
-				final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SEGMENT, match.getSegment().getProperty(Neo4jConstants.ID) //
-				);
-				driver.runTransformation(transformationDefinition, parameters);
-			} catch (final NotFoundException e) {
-				// do nothing (node has been removed)
-			}
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairRouteSensor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairRouteSensor.java
deleted file mode 100644
index e44c310769316ccb9aa55f58de51cd1079597d8c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationRepairRouteSensor extends Neo4jCypherTransformation<Neo4jRouteSensorMatch> {
-
-	public Neo4jCypherTransformationRepairRouteSensor(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.ROUTESENSOR_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jRouteSensorMatch> matches) throws IOException {
-		for (final Neo4jRouteSensorMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of(//
-					QueryConstants.VAR_ROUTE, match.getRoute().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SENSOR, match.getSensor().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 04ee2cd56c03ba545287b276e25c6f390c5290c3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationRepairSemaphoreNeighbor extends Neo4jCypherTransformation<Neo4jSemaphoreNeighborMatch> {
-
-	public Neo4jCypherTransformationRepairSemaphoreNeighbor(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SEMAPHORENEIGHBOR_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSemaphoreNeighborMatch> matches) throws IOException {
-		for (final Neo4jSemaphoreNeighborMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of(//
-					QueryConstants.VAR_ROUTE2, match.getRoute2().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SEMAPHORE, match.getSemaphore().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 454f566f4ef9766ce544096ad81edf1fb850832a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationRepairSwitchMonitored extends Neo4jCypherTransformation<Neo4jSwitchMonitoredMatch> {
-
-	public Neo4jCypherTransformationRepairSwitchMonitored(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHMONITORED_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchMonitoredMatch> matches) throws IOException {
-		for (final Neo4jSwitchMonitoredMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SW, match.getSw().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSwitchSet.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSwitchSet.java
deleted file mode 100644
index 9cf2c68f112d36361d2a8c291ef7168ad8fbdec9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/transformations/cypher/repair/Neo4jCypherTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.cypher.repair;
-
-import com.google.common.collect.ImmutableMap;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.driver.Neo4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.matches.Neo4jSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.transformations.Neo4jCypherTransformation;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.neo4j.Neo4jConstants;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-
-public class Neo4jCypherTransformationRepairSwitchSet extends Neo4jCypherTransformation<Neo4jSwitchSetMatch> {
-
-	public Neo4jCypherTransformationRepairSwitchSet(final Neo4jDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHSET_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<Neo4jSwitchSetMatch> matches) throws IOException {
-		for (final Neo4jSwitchSetMatch match : matches) {
-			final Map<String, Object> parameters = ImmutableMap.of( //
-					QueryConstants.VAR_SW, match.getSw().getProperty(Neo4jConstants.ID), //
-					QueryConstants.VAR_SWP, match.getSwP().getProperty(Neo4jConstants.ID) //
-			);
-			driver.runTransformation(transformationDefinition, parameters);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/util/Neo4jUtil.java b/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/util/Neo4jUtil.java
deleted file mode 100644
index a8f32f8fbac3d286f82e2f8c2f9d4d61897e3fdf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/util/Neo4jUtil.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import org.neo4j.graphdb.Direction;
-import org.neo4j.graphdb.Label;
-import org.neo4j.graphdb.Node;
-import org.neo4j.graphdb.Relationship;
-import org.neo4j.graphdb.RelationshipType;
-
-public class Neo4jUtil {
-	
-	public static boolean isConnected(final Node source, final Node target, final RelationshipType relationshipType) {
-		final int sourceDegree = source.getDegree(relationshipType, Direction.OUTGOING);
-		final int targetDegree = target.getDegree(relationshipType, Direction.INCOMING);
-		
-		final Direction searchDirection;
-		final Node searchSource;
-		final Node searchTarget;
-		if (sourceDegree <= targetDegree) {
-			searchDirection = Direction.OUTGOING;
-			searchSource = source;
-			searchTarget = target;
-		} else {
-			searchDirection = Direction.INCOMING;
-			searchSource = target;
-			searchTarget = source;
-		}
-		
-		final Iterator<Relationship> edges = searchSource.getRelationships(searchDirection, relationshipType).iterator();
-		while (edges.hasNext()) {
-			final Relationship edge = edges.next();
-			final Node otherNode = edge.getOtherNode(searchSource);
-			if (searchTarget.equals(otherNode)) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	public static Iterable<Node> getAdjacentNodes(final Node sourceNode, final RelationshipType relationshipType, final Direction direction, final Label targetNodeLabel) {
-		final Collection<Node> nodes = new ArrayList<>();
-		
-		final Iterable<Relationship> relationships = sourceNode.getRelationships(relationshipType, direction);
-		for (final Relationship relationship : relationships) {
-			final Node candidate;
-			switch (direction) {
-			case INCOMING:
-				candidate = relationship.getStartNode();
-				break;
-			case OUTGOING:
-				candidate = relationship.getEndNode();			
-				break;
-			default:
-				throw new UnsupportedOperationException("Direction: " + direction + " not supported.");
-			}
-			if (!candidate.hasLabel(targetNodeLabel)) {
-				continue;
-			}
-			nodes.add(candidate);
-		}
-		return nodes;
-	}
-	
-}
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/ConnectedSegments.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/ConnectedSegments.cypher
deleted file mode 100644
index c27f5af37aa2b8f463a3746c77b25441245c8c24..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/ConnectedSegments.cypher
+++ /dev/null
@@ -1,13 +0,0 @@
-MATCH
-  (sensor:Sensor)<-[:monitoredBy]-(segment1:Segment),
-  (segment1:Segment)-[:connectsTo]->
-  (segment2:Segment)-[:connectsTo]->
-  (segment3:Segment)-[:connectsTo]->
-  (segment4:Segment)-[:connectsTo]->
-  (segment5:Segment)-[:connectsTo]->(segment6:Segment),
-  (segment2:Segment)-[:monitoredBy]->(sensor:Sensor),
-  (segment3:Segment)-[:monitoredBy]->(sensor:Sensor),
-  (segment4:Segment)-[:monitoredBy]->(sensor:Sensor),
-  (segment5:Segment)-[:monitoredBy]->(sensor:Sensor),
-  (segment6:Segment)-[:monitoredBy]->(sensor:Sensor)
-RETURN sensor, segment1, segment2, segment3, segment4, segment5, segment6
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/ConnectedSegmentsInject.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/ConnectedSegmentsInject.cypher
deleted file mode 100644
index bd64980835ac8301274f1672c0acfa9130c8181e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/ConnectedSegmentsInject.cypher
+++ /dev/null
@@ -1,5 +0,0 @@
-MATCH
-  (segment1:Segment)-[:connectsTo]->(segment3:Segment),
-  (segment1)-[:monitoredBy]->(sensor:Sensor),
-  (segment3)-[:monitoredBy]->(sensor)
-RETURN sensor, segment1, segment3
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/PosLength.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/PosLength.cypher
deleted file mode 100644
index 881b12d7f03a965b1cf8c15c1fb59523f01bff41..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/PosLength.cypher
+++ /dev/null
@@ -1,3 +0,0 @@
-MATCH (segment:Segment)
-WHERE segment.length <= 0
-RETURN segment, segment.length AS length
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/PosLengthInject.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/PosLengthInject.cypher
deleted file mode 100644
index 367256121b8fbb4cbbe9ef26ef1f80b71840466c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/PosLengthInject.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (segment:Segment)
-RETURN segment
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/RouteSensor.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/RouteSensor.cypher
deleted file mode 100644
index 9fc4bc63d54d7a0bf44bf0465fcff2992e323f0d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/RouteSensor.cypher
+++ /dev/null
@@ -1,3 +0,0 @@
-MATCH (route:Route)-[:follows]->(swP:SwitchPosition)-[:target]->(sw:Switch)-[:monitoredBy]->(sensor:Sensor)
-WHERE NOT (route)-[:requires]->(sensor)
-RETURN route, sensor, swP, sw
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/RouteSensorInject.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/RouteSensorInject.cypher
deleted file mode 100644
index b748ecb1696538a80ecf42d6f3f58af8f3492da9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/RouteSensorInject.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (route)-[:requires]->(sensor)
-RETURN route, sensor
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/SemaphoreNeighbor.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/SemaphoreNeighbor.cypher
deleted file mode 100644
index a30da4ed801860a6d7300a43546722266489cedd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/SemaphoreNeighbor.cypher
+++ /dev/null
@@ -1,6 +0,0 @@
-MATCH
-  (semaphore:Semaphore)<-[:exit]-(route1:Route)-[:requires]->(sensor1:Sensor),
-  (sensor1)<-[:monitoredBy]-(te1)-[:connectsTo]->(te2)-[:monitoredBy]->(sensor2:Sensor)<-[:requires]-(route2:Route)
-WHERE NOT (semaphore)<-[:entry]-(route2)
-  AND route1 <> route2
-RETURN DISTINCT semaphore, route1, route2, sensor1, sensor2, te1, te2
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/SemaphoreNeighborInject.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/SemaphoreNeighborInject.cypher
deleted file mode 100644
index 924deff9d39dbea642ee459c50964c07ffacacc1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/SemaphoreNeighborInject.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (route:Route)-[:entry]->(semaphore:Semaphore)
-RETURN route, semaphore
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchMonitored.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchMonitored.cypher
deleted file mode 100644
index 1f4bc193c90462f4b72b19d42e3331788679fe40..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchMonitored.cypher
+++ /dev/null
@@ -1,3 +0,0 @@
-MATCH (sw:Switch)
-WHERE NOT (sw)-[:monitoredBy]->()
-RETURN sw
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchMonitoredInject.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchMonitoredInject.cypher
deleted file mode 100644
index 6d0618746eeadc58bf3e29b35cfa868378a7896f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchMonitoredInject.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (sw:Switch)
-RETURN sw
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchSet.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchSet.cypher
deleted file mode 100644
index 6fc1b38a95d77ef2f114039b1210502be2d00c4e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchSet.cypher
+++ /dev/null
@@ -1,5 +0,0 @@
-MATCH (semaphore:Semaphore)<-[:entry]-(route:Route)-[:follows]->(swP:SwitchPosition)-[:target]->(sw:Switch)
-WHERE semaphore.signal = "GO"
-  AND route.active = true
-  AND sw.currentPosition <> swP.position
-RETURN semaphore, route, swP, sw, sw.currentPosition AS currentPosition, swP.position AS position
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchSetInject.cypher b/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchSetInject.cypher
deleted file mode 100644
index 6d0618746eeadc58bf3e29b35cfa868378a7896f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/queries/SwitchSetInject.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (sw:Switch)
-RETURN sw
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/ConnectedSegmentsInjectRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/ConnectedSegmentsInjectRhs.cypher
deleted file mode 100644
index d44f5e7ed9b037266a5f99816d1f0ab3085da872..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/ConnectedSegmentsInjectRhs.cypher
+++ /dev/null
@@ -1,8 +0,0 @@
-MATCH
-  (sensor {id: $sensor}),
-  (segment1 {id: $segment1})-[c:connectsTo]->(segment3 {id: $segment3})
-CREATE
-  (segment2:Segment {length: $length})-[:monitoredBy]->(sensor),
-  (segment1)-[:connectsTo]->(segment2),
-  (segment2)-[:connectsTo]->(segment3)
-DELETE c
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/ConnectedSegmentsRepairRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/ConnectedSegmentsRepairRhs.cypher
deleted file mode 100644
index 64c7630729e7e65b70466b347fb39dab1284150f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/ConnectedSegmentsRepairRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (segment2 {id: $segment2})
-DETACH DELETE segment2
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/PosLengthInjectRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/PosLengthInjectRhs.cypher
deleted file mode 100644
index 9f0e83df51a0f59e69c85632cb3385437dcaa6fe..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/PosLengthInjectRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (segment {id: $segment})
-SET segment.length = 0
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/PosLengthRepairRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/PosLengthRepairRhs.cypher
deleted file mode 100644
index aa30069b6a6deb91e664eb4556c7dd00755fe6e5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/PosLengthRepairRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (segment {id: $segment})
-SET segment.length = -segment.length + 1
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/RouteSensorInjectRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/RouteSensorInjectRhs.cypher
deleted file mode 100644
index 1891e085176b636c79dcb8e4bb9ee0ba9218b985..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/RouteSensorInjectRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (route {id: $route})-[g:requires]->(sensor {id: $sensor})
-DELETE g
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/RouteSensorRepairRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/RouteSensorRepairRhs.cypher
deleted file mode 100644
index d6a68aaa67e4a1631b4017cddc549e7165ed8023..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/RouteSensorRepairRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (route {id: $route}), (sensor {id: $sensor})
-CREATE (route)-[:requires]->(sensor)
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SemaphoreNeighborInjectRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/SemaphoreNeighborInjectRhs.cypher
deleted file mode 100644
index cdcb4fba4fe2ea4e145616453d407d9c6d80951d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SemaphoreNeighborInjectRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (route {id: $route})-[e:entry]->(semaphore {id: $semaphore})
-DELETE e
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SemaphoreNeighborRepairRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/SemaphoreNeighborRepairRhs.cypher
deleted file mode 100644
index 8398f1dd43b549fe6ab18e643b0a762bc5989670..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SemaphoreNeighborRepairRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (route2 {id: $route2}), (semaphore {id: $semaphore})
-CREATE (route2)-[:entry]->(semaphore)
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchMonitoredInjectRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchMonitoredInjectRhs.cypher
deleted file mode 100644
index dfcffbe75aed8acc9567f233aa595d987d1f49b1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchMonitoredInjectRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (sw {id: $sw})-[m:monitoredBy]->(:Sensor)
-DELETE m
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchMonitoredRepairRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchMonitoredRepairRhs.cypher
deleted file mode 100644
index 02241915f401b984be5a63310a4f02f49037ab01..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchMonitoredRepairRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (sw {id: $sw})
-CREATE (sw)-[:monitoredBy]->(:Sensor)
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchSetInjectRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchSetInjectRhs.cypher
deleted file mode 100644
index 183eaecefc90ae826e8151035ace5e2f6271e6d2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchSetInjectRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (sw {id: $sw})
-SET sw.currentPosition = $currentPosition
diff --git a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchSetRepairRhs.cypher b/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchSetRepairRhs.cypher
deleted file mode 100644
index 30b234d3898739a2876663294621c7a47eb85aff..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/main/resources/transformations/SwitchSetRepairRhs.cypher
+++ /dev/null
@@ -1,2 +0,0 @@
-MATCH (sw {id: $sw}), (swP {id: $swP})
-SET sw.currentPosition = swP.position
diff --git a/trainbenchmark-tool-neo4j/src/test/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/test/Neo4jTest.java b/trainbenchmark-tool-neo4j/src/test/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/test/Neo4jTest.java
deleted file mode 100644
index c36748f686e33e12f1bfb14a5caf5b053a3fe1e2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-neo4j/src/test/java/hu/bme/mit/trainbenchmark/benchmark/neo4j/test/Neo4jTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.neo4j.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.Neo4jBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jEngine;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-import java.util.Arrays;
-
-@RunWith(Parameterized.class)
-public class Neo4jTest extends TrainBenchmarkTest {
-
-	@Parameters(name = "engine={0}, format={1}")
-	public static Iterable<? extends Object[]> data() {
-		return Arrays.asList(new Object[][]{ //
-			{ Neo4jEngine.CYPHER,  Neo4jGraphFormat.CSV     }, //
-//			{ Neo4jEngine.COREAPI, Neo4jGraphFormat.CSV     }, //
-//			{ Neo4jEngine.CYPHER,  Neo4jGraphFormat.GRAPHML }, //
-//			{ Neo4jEngine.COREAPI, Neo4jGraphFormat.GRAPHML }, //
-//			{ Neo4jEngine.CYPHER,  Neo4jGraphFormat.CYPHER  }, //
-//			{ Neo4jEngine.COREAPI, Neo4jGraphFormat.CYPHER  }, //
-		});
-	}
-
-	@Parameter(value = 0)
-	public Neo4jEngine engine;
-
-	@Parameter(value = 1)
-	public Neo4jGraphFormat graphFormat;
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final Neo4jBenchmarkConfig bc = new Neo4jBenchmarkConfigBuilder().setConfigBase(bcb).setEngine(engine)
-				.setGraphFormat(graphFormat).createConfig();
-		final Neo4jBenchmarkScenario scenario = new Neo4jBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-neo4j/src/test/resources/.gitignore b/trainbenchmark-tool-neo4j/src/test/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-racr-cpp/build.gradle b/trainbenchmark-tool-racr-cpp/build.gradle
deleted file mode 100644
index c7a1ed8f3d3ac44539a4fd663daee8ea32b7c8b7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/build.gradle
+++ /dev/null
@@ -1,31 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.racr.cpp.RacrCppBenchmarkMain' }
-	dependsOn ":trainbenchmark-tool-racr:shadowJar"
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-racr')
-}
-
-task build_cpp(type: Exec) {
-	group "build"
-	workingDir '../racr-cpp/Release'
-	commandLine './build.sh'
-}
-
-task startRacrCppServer(type: Exec) {
-	workingDir '../racr-cpp/Release'
-	commandLine './trainbenchmark-main'
-	dependsOn build_cpp
-}
-
-task killPracrServers(type: Exec) {
-	// send system exit event to cpp server
-	commandLine 'bash', '-c', 'echo \'{"class_name": "SystemExitEvent"}\' | nc localhost 9999'
-}
-
-test.outputs.upToDateWhen {false}
diff --git a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/RacrCppBenchmarkMain.java b/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/RacrCppBenchmarkMain.java
deleted file mode 100644
index 8486e5d6ca61aa841cd7728ca469b697933cb74c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/RacrCppBenchmarkMain.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.tudresden.inf.st.train.racr.cpp;
-
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-
-public class RacrCppBenchmarkMain {
-
-	public static void main(String[] args) throws Exception {
-		final RacrBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], RacrBenchmarkConfig.class);
-		final RacrCppBenchmarkScenario scenario = new RacrCppBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/RacrCppBenchmarkScenario.java b/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/RacrCppBenchmarkScenario.java
deleted file mode 100644
index 1e8b8e793ceeb54ca2efeb973fd6fc2724b556f7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/RacrCppBenchmarkScenario.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.tudresden.inf.st.train.racr.cpp;
-
-import de.tudresden.inf.st.train.racr.comparators.RacrMatchComparator;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.cpp.driver.RacrCppDriver;
-import de.tudresden.inf.st.train.racr.cpp.driver.RacrCppDriverFactory;
-import de.tudresden.inf.st.train.racr.cpp.operations.RacrCppModelOperationFactory;
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class RacrCppBenchmarkScenario extends
-	BenchmarkScenario<RacrMatch, RacrCppDriver, RacrBenchmarkConfig> {
-
-	public RacrCppBenchmarkScenario(final RacrBenchmarkConfig bc) throws Exception {
-		super(new RacrCppDriverFactory(bc.config), new RacrCppModelOperationFactory(), new RacrMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/driver/RacrCppDriver.java b/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/driver/RacrCppDriver.java
deleted file mode 100644
index 56103d3ac5c7724feda33fa50a1d89f5388c51d3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/driver/RacrCppDriver.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package de.tudresden.inf.st.train.racr.cpp.driver;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-
-import java.io.*;
-
-
-public class RacrCppDriver extends RacrDriver {
-
-	private final File workDir;
-	private final File stopFile;
-
-	public RacrCppDriver(RacrConfig config) {
-		super(config);
-		workDir = new File("../racr-cpp/Release/");
-		stopFile = new File(workDir, "stop");
-	}
-
-	public static RacrCppDriver create(RacrConfig config) {
-		return new RacrCppDriver(config);
-	}
-
-	private boolean removeStopFile() {
-		return stopFile.delete();
-	}
-
-	private boolean createStopFile() throws IOException {
-		return stopFile.createNewFile();
-	}
-
-	@Override
-	public void initialize() throws Exception {
-		super.initialize();
-		if (!config.startStopOwnServer) return;
-
-		makeCleanState();
-
-//		PrintStream realOut = new PrintStream(new FileOutputStream(FileDescriptor.out));
-		PrintStream realOut = System.out;
-		realOut.println("Starting racr-cpp server");
-
-		ProcessBuilder pb = new ProcessBuilder("./serve-forever.sh", "-n");
-		pb.directory(workDir);
-		pb.start();
-
-		// and wait for first successful query
-		realOut.println("Attempting to connect to racr-cpp");
-		while (true) {
-			try {
-				if (RacrUtils.connectToPracr(5, config).callServerTime().isPresent()) {
-					break;
-				}
-			} catch (Exception e) { /* empty */ }
-			try { Thread.sleep(200); } catch (InterruptedException e) { /* empty */ }
-			realOut.println("...");
-		}
-	}
-
-	/**
-	 * Tries to terminate any server that might be running currently
-	 * @throws IOException if the stopFile could not be created, or upon any other I/O Error
-	 */
-	private void makeCleanState() throws IOException {
-		createStopFile();
-		try {
-			RacrUtils.connectToPracr(5, config ).callSystemExit();
-		} catch (Exception e) { /* empty */ }
-		removeStopFile();
-	}
-
-	@Override
-	public void destroy() throws Exception {
-		super.destroy();
-		if (!config.startStopOwnServer) return;
-		System.out.println("Shutting down racr-cpp server");
-		makeCleanState();
-	}
-}
diff --git a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/driver/RacrCppDriverFactory.java b/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/driver/RacrCppDriverFactory.java
deleted file mode 100644
index 192318d73c54fe138274720067e70ae18120da77..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/driver/RacrCppDriverFactory.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tudresden.inf.st.train.racr.cpp.driver;
-
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public class RacrCppDriverFactory extends DriverFactory<RacrCppDriver> {
-
-	public final RacrConfig config;
-
-	public RacrCppDriverFactory(RacrConfig config) {
-		super();
-		this.config = config;
-	}
-
-	@Override
-	public RacrCppDriver createInstance() throws Exception {
-		return RacrCppDriver.create(config);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/operations/RacrCppModelOperationFactory.java b/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/operations/RacrCppModelOperationFactory.java
deleted file mode 100644
index d343e3abd2fd5f3745d494a394f6ebb436cfee07..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/src/main/java/de/tudresden/inf/st/train/racr/cpp/operations/RacrCppModelOperationFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package de.tudresden.inf.st.train.racr.cpp.operations;
-
-import de.tudresden.inf.st.train.racr.cpp.driver.RacrCppDriver;
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.*;
-import de.tudresden.inf.st.train.racr.operations.RacrModelOperationFactory;
-import de.tudresden.inf.st.train.racr.queries.*;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.transformations.inject.*;
-import de.tudresden.inf.st.train.racr.transformations.repair.*;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-import java.util.Collection;
-
-public class RacrCppModelOperationFactory extends ModelOperationFactory<RacrMatch, RacrCppDriver> {
-
-	private final RacrModelOperationFactory delegate;
-
-	public RacrCppModelOperationFactory() {
-		this.delegate = new RacrModelOperationFactory();
-	}
-
-	private static <TMatch extends RacrMatch> ModelOperation<? extends RacrMatch, RacrCppDriver> reshape(
-			ModelOperation<TMatch, RacrDriver> operation,
-			RacrCppDriver new_driver) {
-		RacrQuery<TMatch, RacrDriver> oldQuery = (RacrQuery<TMatch, RacrDriver>) operation.getQuery();
-		ModelQuery<TMatch, RacrCppDriver> newQuery = new ModelQuery<TMatch, RacrCppDriver>(oldQuery.getQuery(), new_driver) {
-			public Collection<TMatch> evaluate() throws Exception {
-				return RacrQuery.evaluate_shared(oldQuery.getTimeout(), new_driver,
-						oldQuery::getResponse,
-						oldQuery::constructMatches,
-						oldQuery.getClass().getSimpleName());
-			}
-		};
-		if (operation.getTransformation().isPresent()) {
-			RacrTransformation<TMatch, RacrDriver> oldTransformation = (RacrTransformation<TMatch, RacrDriver>) operation.getTransformation().get();
-			ModelTransformation<TMatch, RacrCppDriver> newTansformation = new ModelTransformation<TMatch, RacrCppDriver>(new_driver) {
-				@Override
-				public void activate(Collection<TMatch> tMatches) throws Exception {
-					RacrTransformation.activate_shared(tMatches, oldTransformation.getTimeout(), new_driver,
-							oldTransformation::handleResponse, oldTransformation::handleEmptyResponse,
-							oldTransformation::getResponse, oldTransformation.getClass().getSimpleName());
-				}
-			};
-			return ModelOperation.of(newQuery, newTansformation);
-		} else {
-			return ModelOperation.of(newQuery);
-		}
-	}
-
-	@Override
-	public ModelOperation<? extends RacrMatch, RacrCppDriver> createOperation(
-			final RailwayOperation operationEnum, final String workspaceDir,
-			final RacrCppDriver driver) throws Exception {
-		ModelOperation<? extends RacrMatch, RacrDriver> result = this.delegate.createOperation(operationEnum, workspaceDir, driver);
-		return reshape(result, driver);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr-cpp/src/test/java/de/tudresden/inf/st/train/racr/test/RacrCppTest.java b/trainbenchmark-tool-racr-cpp/src/test/java/de/tudresden/inf/st/train/racr/test/RacrCppTest.java
deleted file mode 100644
index 368e2a9246bbd7c23da4e5d2b82c1a1d5853e5b0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-cpp/src/test/java/de/tudresden/inf/st/train/racr/test/RacrCppTest.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package de.tudresden.inf.st.train.racr.test;
-
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfigBuilder;
-import de.tudresden.inf.st.train.racr.cpp.RacrCppBenchmarkScenario;
-import de.tudresden.inf.st.train.racr.cpp.driver.RacrCppDriver;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import de.tudresden.inf.st.train.racr.util.TestUtils;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-import org.junit.AfterClass;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.BeforeClass;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * This class instantiate the Test for the TrainBenchmark applied for RACR-CPP.
- *
- * The initialize and destroy method of the used RacrCppDriver is not used in the normal way.
- * Instead, initialize is called upon the invocation of the first test. This is needed,
- * because a normal @BeforeClass method does not have a proper BenchmarkConfig object.
- * However, at the end of the whole test, the server is shut down.
- *
- * In both cases, the methods of a new driver is used, because the configuration needs
- * to set {@link RacrBenchmarkConfigBuilder#useExternalServer()}. Otherwise a new server would
- * be started upon each test. This is done only for the benchmark.
- */
-public class RacrCppTest extends TrainBenchmarkTest {
-
-	private static RacrCppDriver s_driver;
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		maybe_start_cpp_server(bcb);
-		return TestUtils.runTest(bcb, RacrBenchmarkConfigBuilder::useCpp, RacrCppBenchmarkScenario::new);
-	}
-
-	private static void maybe_start_cpp_server(final BenchmarkConfigBase bcb) throws Exception {
-		if (s_driver != null) {
-			// server is already presumed to be running
-			return;
-		}
-		final RacrBenchmarkConfigBuilder builder = new RacrBenchmarkConfigBuilder().useCpp();//.useInternalServer();
-		final RacrBenchmarkConfig bc = builder.setConfigBase(bcb).createConfig();
-		s_driver = new RacrCppDriver(new RacrConfig(bc.config));
-		// this change is only local
-		s_driver.config.startStopOwnServer = true;
-
-		s_driver.initialize();
-	}
-
-	@AfterClass
-	public static void exit_cpp_server() throws Exception {
-		if (s_driver != null) {
-			s_driver.destroy();
-		}
-	}
-
-	private void no() { Assume.assumeTrue(false); }
-
-	@Override public void batchTest() throws Exception { no(); }
-	@Override public void injectTest() throws Exception { no(); }
-	@Override public void repairTest() throws Exception { no(); }
-
-//	 @Override public void posLengthInjectTest() throws Exception { no(); }
-//	 @Override public void posLengthRepairTest() throws Exception { no(); }
-//
-//	 @Override public void connectedSegmentsInjectTest() throws Exception { no(); }
-//	 @Override public void connectedSegmentsRepairTest() throws Exception { no(); }
-//
-//	 @Override public void routeSensorInjectTest() throws Exception { no(); }
-//	 @Override public void routeSensorRepairTest() throws Exception { no(); }
-//
-//	 @Override public void semaphoreNeighborInjectTest() throws Exception { no(); }
-//	 @Override public void semaphoreNeighborRepairTest() throws Exception { no(); }
-//
-//	 @Override public void switchMonitoredInjectTest() throws Exception { no(); }
-//	 @Override public void switchMonitoredRepairTest() throws Exception { no(); }
-//
-//	 @Override public void switchSetInjectTest() throws Exception { no(); }
-//	 @Override public void switchSetRepairTest() throws Exception { no(); }
-}
diff --git a/trainbenchmark-tool-racr-python/build.gradle b/trainbenchmark-tool-racr-python/build.gradle
deleted file mode 100644
index d9ed9cb931533d7a1be5e5a1bcda4b24054e68bf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-python/build.gradle
+++ /dev/null
@@ -1,19 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.racr.python.RacrPythonBenchmarkMain' }
-	dependsOn ":trainbenchmark-tool-racr:shadowJar"
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-racr')
-}
-
-task startPracrPythonServer(type: Exec) {
-	workingDir '../pracr-python/pracr/'
-	commandLine 'bash', 'tools/build-and-server.sh', 'trainbenchmark python'
-}
-
-test.outputs.upToDateWhen {false}
diff --git a/trainbenchmark-tool-racr-python/src/main/java/de/tudresden/inf/st/train/racr/python/RacrPythonBenchmarkMain.java b/trainbenchmark-tool-racr-python/src/main/java/de/tudresden/inf/st/train/racr/python/RacrPythonBenchmarkMain.java
deleted file mode 100644
index 062e7e5b893d23bcc8170aaced2b6332628ee74a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-python/src/main/java/de/tudresden/inf/st/train/racr/python/RacrPythonBenchmarkMain.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.tudresden.inf.st.train.racr.python;
-
-import de.tudresden.inf.st.train.racr.RacrBenchmarkScenario;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-
-public class RacrPythonBenchmarkMain {
-
-	public static void main(String[] args) throws Exception {
-		final RacrBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], RacrBenchmarkConfig.class);
-		final RacrBenchmarkScenario scenario = new RacrBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-racr-python/src/test/java/de/tudresden/inf/st/train/racr/python/test/RacrPythonTest.java b/trainbenchmark-tool-racr-python/src/test/java/de/tudresden/inf/st/train/racr/python/test/RacrPythonTest.java
deleted file mode 100644
index fd87e185c4ce2a17b20f0c13c4639b8cced7552e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-python/src/test/java/de/tudresden/inf/st/train/racr/python/test/RacrPythonTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package de.tudresden.inf.st.train.racr.python.test;
-
-import de.tudresden.inf.st.train.racr.RacrBenchmarkScenario;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfigBuilder;
-import de.tudresden.inf.st.train.racr.util.TestUtils;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-import org.junit.Assume;
-
-public class RacrPythonTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		Assume.assumeTrue(TestUtils.pracrServerReachable(bcb, RacrBenchmarkConfigBuilder::usePython));
-		return TestUtils.runTest(bcb, RacrBenchmarkConfigBuilder::usePython, RacrBenchmarkScenario::new);
-	}
-
-	private void no() { Assume.assumeTrue(false); }
-
-	@Override public void batchTest() throws Exception { no(); }
-	@Override public void injectTest() throws Exception { no(); }
-	@Override public void repairTest() throws Exception { no(); }
-
-//	@Override public void posLengthInjectTest() throws Exception { no(); }
-//	@Override public void posLengthRepairTest() throws Exception { no(); }
-//
-//	@Override public void connectedSegmentsInjectTest() throws Exception { no(); }
-//	@Override public void connectedSegmentsRepairTest() throws Exception { no(); }
-//
-//	@Override public void routeSensorInjectTest() throws Exception { no(); }
-//	@Override public void routeSensorRepairTest() throws Exception { no(); }
-//
-//	@Override public void semaphoreNeighborInjectTest() throws Exception { no(); }
-//	@Override public void semaphoreNeighborRepairTest() throws Exception { no(); }
-//
-//	@Override public void switchMonitoredInjectTest() throws Exception { no(); }
-//	@Override public void switchMonitoredRepairTest() throws Exception { no(); }
-//
-//	@Override public void switchSetInjectTest() throws Exception { no(); }
-//	@Override public void switchSetRepairTest() throws Exception { no(); }
-}
diff --git a/trainbenchmark-tool-racr-scheme/build.gradle b/trainbenchmark-tool-racr-scheme/build.gradle
deleted file mode 100644
index 2f3bc8e92a36f7f61e50205fbb8ec25b9bc7fad5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-scheme/build.gradle
+++ /dev/null
@@ -1,19 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.racr.scheme.RacrSchemeBenchmarkMain' }
-	dependsOn ":trainbenchmark-tool-racr:shadowJar"
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-racr')
-}
-
-task startPracrSchemeServer(type: Exec) {
-	workingDir '../pracr-scheme/pracr/'
-	commandLine 'bash', 'tools/build-and-server.sh', 'trainbenchmark scheme'
-}
-
-test.outputs.upToDateWhen {false}
diff --git a/trainbenchmark-tool-racr-scheme/src/main/java/de/tudresden/inf/st/train/racr/scheme/RacrSchemeBenchmarkMain.java b/trainbenchmark-tool-racr-scheme/src/main/java/de/tudresden/inf/st/train/racr/scheme/RacrSchemeBenchmarkMain.java
deleted file mode 100644
index cf13e4bacd1671f19a8b86b34dcd8d2404550973..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-scheme/src/main/java/de/tudresden/inf/st/train/racr/scheme/RacrSchemeBenchmarkMain.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package de.tudresden.inf.st.train.racr.scheme;
-
-import de.tudresden.inf.st.train.racr.RacrBenchmarkScenario;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-
-public class RacrSchemeBenchmarkMain {
-
-	public static void main(String[] args) throws Exception {
-		final RacrBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], RacrBenchmarkConfig.class);
-		final RacrBenchmarkScenario scenario = new RacrBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-}
diff --git a/trainbenchmark-tool-racr-scheme/src/test/java/de/tudresden/inf/st/train/racr/test/RacrSchemeTest.java b/trainbenchmark-tool-racr-scheme/src/test/java/de/tudresden/inf/st/train/racr/test/RacrSchemeTest.java
deleted file mode 100644
index d8ea846b1b20caa51ffa318f3e4a561409bbfd03..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr-scheme/src/test/java/de/tudresden/inf/st/train/racr/test/RacrSchemeTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package de.tudresden.inf.st.train.racr.test;
-
-import de.tudresden.inf.st.train.racr.RacrBenchmarkScenario;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfigBuilder;
-import de.tudresden.inf.st.train.racr.util.TestUtils;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-import org.junit.Assume;
-import org.junit.Ignore;
-
-public class RacrSchemeTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		Assume.assumeTrue(TestUtils.pracrServerReachable(bcb, RacrBenchmarkConfigBuilder::useScheme));
-		return TestUtils.runTest(bcb, RacrBenchmarkConfigBuilder::useScheme, RacrBenchmarkScenario::new);
-	}
-
-	private void no() { Assume.assumeTrue(false); }
-
-	@Override public void batchTest() throws Exception { no(); }
-	@Override public void injectTest() throws Exception { no(); }
-	@Override public void repairTest() throws Exception { no(); }
-
-//	@Override public void posLengthInjectTest() throws Exception { no(); }
-//	@Override public void posLengthRepairTest() throws Exception { no(); }
-//
-//	@Override public void connectedSegmentsInjectTest() throws Exception { no(); }
-//	@Override public void connectedSegmentsRepairTest() throws Exception { no(); }
-//
-//	@Override public void routeSensorInjectTest() throws Exception { no(); }
-//	@Override public void routeSensorRepairTest() throws Exception { no(); }
-//
-//	@Override public void semaphoreNeighborInjectTest() throws Exception { no(); }
-//	@Override public void semaphoreNeighborRepairTest() throws Exception { no(); }
-//
-//	@Override public void switchMonitoredInjectTest() throws Exception { no(); }
-//	@Override public void switchMonitoredRepairTest() throws Exception { no(); }
-//
-//	@Override public void switchSetInjectTest() throws Exception { no(); }
-//	@Override public void switchSetRepairTest() throws Exception { no(); }
-}
diff --git a/trainbenchmark-tool-racr/build.gradle b/trainbenchmark-tool-racr/build.gradle
deleted file mode 100644
index 514f0120c7e316eac6e7b9bd1e00d6d14ba0c6dc..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/build.gradle
+++ /dev/null
@@ -1,17 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.racr.RacrBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile group: 'com.google.http-client', name: 'google-http-client', version: '1.22.0'
-	compile group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1'
-}
-
-task killPracrServers(type: Exec) {
-	// send ctrl+c (SIGINT) to running servers
-	commandLine 'pkill', '--signal', 'SIGINT', '-f', 'main.py'
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/RacrBenchmarkMain.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/RacrBenchmarkMain.java
deleted file mode 100644
index 8009bad8f234b260850ae5497dba324fd93d4da0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/RacrBenchmarkMain.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package de.tudresden.inf.st.train.racr;
-
-import com.google.common.collect.ImmutableMap;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrConnectedSegmentsInjectMatch;
-import de.tudresden.inf.st.train.racr.matches.RacrRouteSensorInjectMatch;
-import de.tudresden.inf.st.train.racr.queries.RacrQueryConnectedSegmentsInject;
-import de.tudresden.inf.st.train.racr.queries.RacrQueryRouteSensorInject;
-import de.tudresden.inf.st.train.racr.util.*;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-
-import java.io.IOException;
-import java.net.ConnectException;
-import java.util.Collection;
-
-public class RacrBenchmarkMain {
-
-	public static void main(String[] args) throws Exception {
-//		testSocketPosLength();
-//		testHttpClient();
-//		testHttpSystemTime();
-//		testHttpPosLength();
-//		testHttpRouteSensor();
-		normal_main(args);
-	}
-
-	private static void normal_main(String[] args) throws Exception {
-		System.out.println("Start");
-		final RacrBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], RacrBenchmarkConfig.class);
-		int tries = 5;
-		boolean dead = true;
-		while (dead && --tries >= 0) {
-			try (AbstractClient client = RacrUtils.connectToPracr(1, bc.config)) {
-				dead = !client.callServerTime().isPresent();
-			} catch (Exception e) {
-				if (!(e.getCause() instanceof ConnectException)) {
-					System.err.println("Got an error, but not ConnectException");
-					e.printStackTrace();
-				}
-				// not ready yet, wait a second
-				System.out.println("Waiting for pracr " + System.currentTimeMillis());
-				Thread.sleep(1000);
-			}
-		}
-		if (dead) {
-			throw new IllegalStateException("Server at " + bc.config.host + ":" +
-					bc.config.port + " is not reachable!");
-		}
-		final RacrBenchmarkScenario scenario = new RacrBenchmarkScenario(bc);
-		scenario.performBenchmark();
-		try (AbstractClient client = RacrUtils.connectToPracr(5, bc.config)) {
-			client.callSystemExit();
-		}
-		System.out.println("End");
-	}
-
-	private static void testSocketPosLength() throws IOException {
-		RacrConfig config = new RacrConfig();
-		config.host = "localhost";
-		config.port = 9999;
-		config.verbose = true;
-		try (SocketClient client = new SocketClient(30, config)) {
-			client.callInitModel("../models/railway-inject-2-ag.json");
-		}
-		RacrQueryConnectedSegmentsInject<RacrDriver> query = new RacrQueryConnectedSegmentsInject<>(new RacrDriver(config));
-		Collection<RacrConnectedSegmentsInjectMatch> matches = query.evaluate();
-		System.out.println(matches);
-		System.out.println("Size: " + matches.size());
-	}
-
-	private static void testHttpClient() {
-		RacrConfig config = new RacrConfig();
-		config.host = "httpbin.org";
-		config.port = 80;
-		config.verbose = true;
-		try (RacrHttpClient client = new RacrHttpClient("post", 5, config)) {
-			Event event = new Event("testClassName", ImmutableMap.of("attribute", "value"));
-			String response = client.call(event, true);
-			System.out.println(response);
-		}
-	}
-
-	private static void testHttpSystemTime() {
-		RacrConfig config = new RacrConfig();
-		config.verbose = true;
-		try (RacrHttpClient client = RacrHttpClient.connectToPracr(5, config)) {
-			Event event = new Event("pracr.event", "ServerTimeEvent");
-			String response = client.call(event, true);
-			System.out.println(response);
-		}
-	}
-
-	private static void testHttpPosLength() throws IOException {
-		RacrConfig config = new RacrConfig();
-		config.verbose = true;
-		config.loadUsingScheme = false;
-		config.port = 9444;
-		config.clientType = RacrConfig.ClientType.HTTP;
-		try (RacrHttpClient client = RacrHttpClient.connectToPracr(5, config)) {
-			client.callInitModel("../models/railway-inject-2-ag.json");
-		}
-		RacrQueryConnectedSegmentsInject<RacrDriver> query = new RacrQueryConnectedSegmentsInject<>(new RacrDriver(config));
-		Collection<RacrConnectedSegmentsInjectMatch> matches = query.evaluate();
-		System.out.println(matches);
-		System.out.println("Size: " + matches.size());
-	}
-
-	private static void testHttpRouteSensor() throws IOException {
-		RacrConfig config = new RacrConfig();
-		try (RacrHttpClient client = RacrHttpClient.connectToPracr(5, config)) {
-			client.callInitModel("../models/railway-inject-1-ag.json");
-		}
-		RacrQueryRouteSensorInject<RacrDriver> query = new RacrQueryRouteSensorInject<>(new RacrDriver(config));
-		Collection<RacrRouteSensorInjectMatch> matches = query.evaluate();
-		System.out.println(matches);
-		System.out.println("Size: " + matches.size());
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/RacrBenchmarkScenario.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/RacrBenchmarkScenario.java
deleted file mode 100644
index 10d4a3c3d026f9b4161a46ff71e55891a7c66d36..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/RacrBenchmarkScenario.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package de.tudresden.inf.st.train.racr;
-
-import de.tudresden.inf.st.train.racr.comparators.RacrMatchComparator;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.driver.RacrDriverFactory;
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import de.tudresden.inf.st.train.racr.operations.RacrModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-
-public class RacrBenchmarkScenario extends
-	BenchmarkScenario<RacrMatch, RacrDriver, RacrBenchmarkConfig> {
-
-	public RacrBenchmarkScenario(final RacrBenchmarkConfig bc) throws Exception {
-		super(new RacrDriverFactory(bc.config), new RacrModelOperationFactory(), new RacrMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/SocketTestMain.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/SocketTestMain.java
deleted file mode 100644
index cf10e42ed5352c79b3f29b4801bed6412605b1d5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/SocketTestMain.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package de.tudresden.inf.st.train.racr;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrConnectedSegmentsInjectMatch;
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import de.tudresden.inf.st.train.racr.matches.RacrRouteSensorMatch;
-import de.tudresden.inf.st.train.racr.queries.RacrQuery;
-import de.tudresden.inf.st.train.racr.queries.RacrQueryConnectedSegmentsInject;
-import de.tudresden.inf.st.train.racr.queries.RacrQueryPosLength;
-import de.tudresden.inf.st.train.racr.queries.RacrQueryRouteSensor;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.Event;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import de.tudresden.inf.st.train.racr.util.SocketClient;
-
-import java.io.IOException;
-import java.util.Collection;
-
-/**
- * Testing the SocketClient with racr-c++
- * Created by rschoene on 8/18/17.
- */
-public class SocketTestMain {
-
-	private static <T extends RacrMatch, TRacrDriver extends RacrDriver> void run(RacrQuery<T, TRacrDriver> query) {
-		Collection<T> matches;
-		try {
-			matches = query.evaluate();
-		} catch (Exception e) {
-			e.printStackTrace();
-			return;
-		}
-		System.out.println(matches);
-		System.out.println("Size: " + matches.size());
-	}
-
-	public static void main(String[] args) throws IOException {
-		RacrConfig config = new RacrConfig();
-		config.host = "localhost";
-		config.port = 9999;
-		config.verbose = true;
-		config.clientType = RacrConfig.ClientType.SOCKET;
-		try (AbstractClient client = SocketClient.connectToPracr(10, config)) {
-			client.callInitModel("../models/railway-inject-2-ag.json");
-		}
-		RacrDriver driver = new RacrDriver(config);
-		run(new RacrQueryRouteSensor<>(driver));
-		run(new RacrQueryPosLength<>(driver));
-		try (AbstractClient client = SocketClient.connectToPracr(10, config)) {
-			client.call(new Event("SystemExitEvent"));
-		}
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/comparators/RacrMatchComparator.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/comparators/RacrMatchComparator.java
deleted file mode 100644
index 83f32be0a73e75f5de3cba3cc28e6f72406e7c12..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/comparators/RacrMatchComparator.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.racr.comparators;
-
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import hu.bme.mit.trainbenchmark.benchmark.comparators.LongMatchComparator;
-
-public class RacrMatchComparator extends LongMatchComparator<RacrMatch> {
-
-//	public RacrMatchComparator() {
-//		super(new ASTNodeComparator());
-//	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/config/RacrBenchmarkConfig.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/config/RacrBenchmarkConfig.java
deleted file mode 100644
index 342ac0bf6a69c4bfbf9c31bb9188e1a899f4e573..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/config/RacrBenchmarkConfig.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package de.tudresden.inf.st.train.racr.config;
-
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class RacrBenchmarkConfig extends BenchmarkConfig {
-
-	public final RacrConfig config;
-
-	RacrBenchmarkConfig(final BenchmarkConfigBase configBase, RacrConfig config) {
-		super(configBase);
-		this.config = config;
-	}
-
-	@Override
-	public String getToolName() {
-		return "Racr (" + config.flavor + ")";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "racr-" + config.projectNameSuffix;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/config/RacrBenchmarkConfigBuilder.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/config/RacrBenchmarkConfigBuilder.java
deleted file mode 100644
index 937030fa24a7c68e82625c9e01e838bd808353e9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/config/RacrBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package de.tudresden.inf.st.train.racr.config;
-
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class RacrBenchmarkConfigBuilder extends BenchmarkConfigBuilder<RacrBenchmarkConfig, RacrBenchmarkConfigBuilder> {
-
-	private RacrConfig config = new RacrConfig();
-
-	@Override
-	public RacrBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new RacrBenchmarkConfig(configBase, config);
-	}
-
-	public RacrBenchmarkConfigBuilder setVerbose(boolean verbose) {
-		this.config.verbose = verbose;
-		return this;
-	}
-
-	@Deprecated
-	public RacrBenchmarkConfigBuilder setUseScheme(boolean useScheme) {
-		if (useScheme) {
-			config.loadUsingScheme = true;
-			config.port = 9567;
-		} else {
-			config.loadUsingScheme = false;
-			config.port = 9444;
-		}
-		return this;
-	}
-
-	public RacrBenchmarkConfigBuilder usePython() {
-		config.loadUsingScheme = false;
-		config.port = 9567;
-		config.flavor = "Python";
-		config.projectNameSuffix = "python";
-		return this;
-	}
-
-	public RacrBenchmarkConfigBuilder useScheme() {
-		config.loadUsingScheme = true;
-		config.port = 9444;
-		config.flavor = "Scheme";
-		config.projectNameSuffix = "scheme";
-		return this;
-	}
-
-	public RacrBenchmarkConfigBuilder useCpp() {
-		config.loadUsingScheme = false;
-		config.port = 9999;
-		config.flavor = "CPP";
-		config.projectNameSuffix = "cpp";
-		return setClientType(RacrConfig.ClientType.SOCKET);
-	}
-
-	public RacrBenchmarkConfigBuilder useExternalServer() {
-		config.startStopOwnServer = false;
-		return this;
-	}
-
-	public RacrBenchmarkConfigBuilder useInternalServer() {
-		config.startStopOwnServer = true;
-		return this;
-	}
-
-	public RacrBenchmarkConfigBuilder setClientType(RacrConfig.ClientType new_type) {
-		config.clientType = new_type;
-		return this;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/driver/RacrDriver.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/driver/RacrDriver.java
deleted file mode 100644
index dc0d28bc09dfdf56ba6f71aeba253ec909c64d34..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/driver/RacrDriver.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package de.tudresden.inf.st.train.racr.driver;
-
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-
-import java.io.IOException;
-
-
-public class RacrDriver extends Driver {
-
-	public final RacrConfig config;
-
-	public RacrDriver(RacrConfig config) {
-		super();
-		this.config = config;
-	}
-
-	public static RacrDriver create(RacrConfig config) {
-		return new RacrDriver(config);
-	}
-
-	@Override
-	public void read(final String modelPath) throws IOException {
-		try (AbstractClient client = RacrUtils.connectToPracr(10, this)) {
-			client.callInitModel(modelPath);
-		}
-	}
-
-	@Override
-	public String getPostfix() {
-		return "-ag.json";
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/driver/RacrDriverFactory.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/driver/RacrDriverFactory.java
deleted file mode 100644
index db30441182b49747f0712b722bece040effd39a0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/driver/RacrDriverFactory.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package de.tudresden.inf.st.train.racr.driver;
-
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public class RacrDriverFactory extends DriverFactory<RacrDriver> {
-
-	public final RacrConfig config;
-
-	public RacrDriverFactory(RacrConfig config) {
-		super();
-		this.config = config;
-	}
-
-	@Override
-	public RacrDriver createInstance() throws Exception {
-		return RacrDriver.create(config);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrConnectedSegmentsInjectMatch.java
deleted file mode 100644
index eb19160409e7e66f12e2466362a9066fc33a9ab9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-
-public class RacrConnectedSegmentsInjectMatch extends RacrMatch implements ConnectedSegmentsInjectMatch {
-
-	protected final Long sensor;
-	protected final Long segment1;
-	protected final Long segment3;
-
-	public RacrConnectedSegmentsInjectMatch(final Long sensor, final Long segment1, final Long segment3) {
-		super(sensor, segment1, segment3);
-		this.sensor = sensor;
-		this.segment1 = segment1;
-		this.segment3 = segment3;
-	}
-
-	public RacrConnectedSegmentsInjectMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1], (Long) objects[2]);
-	}
-
-	@Override
-	public Long getSensor() {
-		return sensor;
-	}
-
-	@Override
-	public Long getSegment1() {
-		return segment1;
-	}
-
-	@Override
-	public Long getSegment3() {
-		return segment3;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrConnectedSegmentsMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrConnectedSegmentsMatch.java
deleted file mode 100644
index 5b764cbdf8b8c9abe4b34aa5c618747689b26117..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-
-public class RacrConnectedSegmentsMatch extends RacrMatch implements ConnectedSegmentsMatch {
-
-	protected final Long sensor;
-	protected final Long segment1;
-	protected final Long segment2;
-	protected final Long segment3;
-	protected final Long segment4;
-	protected final Long segment5;
-	protected final Long segment6;
-
-	public RacrConnectedSegmentsMatch(final Long sensor, final Long segment1, final Long segment2,
-			final Long segment3, final Long segment4, final Long segment5, final Long segment6) {
-		super(sensor, segment1, segment2, segment3, segment4, segment5, segment6);
-		this.sensor = sensor;
-		this.segment1 = segment1;
-		this.segment2 = segment2;
-		this.segment3 = segment3;
-		this.segment4 = segment4;
-		this.segment5 = segment5;
-		this.segment6 = segment6;
-	}
-
-	public RacrConnectedSegmentsMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1], (Long) objects[2], (Long) objects[3], (Long) objects[4], (Long) objects[5], (Long) objects[6]);
-	}
-
-	@Override
-	public Long getSensor() {
-		return sensor;
-	}
-
-	@Override
-	public Long getSegment1() {
-		return segment1;
-	}
-
-	@Override
-	public Long getSegment2() {
-		return segment2;
-	}
-
-	@Override
-	public Long getSegment3() {
-		return segment3;
-	}
-
-	@Override
-	public Long getSegment4() {
-		return segment4;
-	}
-
-	@Override
-	public Long getSegment5() {
-		return segment5;
-	}
-
-	@Override
-	public Long getSegment6() {
-		return segment6;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrMatch.java
deleted file mode 100644
index 90c40644c708756166267cc47b70079fd7f30b63..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrMatch.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.LongMatch;
-
-public abstract class RacrMatch extends LongMatch {
-
-	RacrMatch(Long... ids) {
-		super();
-		this.match = ids;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrPosLengthInjectMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrPosLengthInjectMatch.java
deleted file mode 100644
index f57a9048a9aca26e85fec33e8615694a81c7b6f2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrPosLengthInjectMatch.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthInjectMatch;
-
-public class RacrPosLengthInjectMatch extends RacrMatch implements PosLengthInjectMatch {
-
-	protected final Long segment_id;
-
-	public RacrPosLengthInjectMatch(final Long segment_id) {
-		super(segment_id);
-		this.segment_id = segment_id;
-	}
-
-	@Override
-	public Long getSegment() {
-		return segment_id;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrPosLengthMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrPosLengthMatch.java
deleted file mode 100644
index c400b5386a64bd15cd9ef1db60010feea74fe210..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrPosLengthMatch.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class RacrPosLengthMatch extends RacrMatch implements PosLengthMatch {
-
-	protected final Long segment_id;
-
-	public RacrPosLengthMatch(final Long segment_id) {
-		super(segment_id);
-		this.segment_id = segment_id;
-	}
-
-	@Override
-	public Long getSegment() {
-		return segment_id;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrRouteSensorInjectMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrRouteSensorInjectMatch.java
deleted file mode 100644
index 56aea5619b024cbc1d59cb3c98179becd0fbbc94..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-
-public class RacrRouteSensorInjectMatch extends RacrMatch implements RouteSensorInjectMatch {
-
-	protected final Long route;
-	protected final Long sensor;
-
-	public RacrRouteSensorInjectMatch(final Long route, final Long sensor) {
-		super();
-		this.route = route;
-		this.sensor = sensor;
-	}
-
-	public RacrRouteSensorInjectMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1]);
-	}
-
-	@Override
-	public Long getRoute() {
-		return route;
-	}
-
-	@Override
-	public Long getSensor() {
-		return sensor;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrRouteSensorMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrRouteSensorMatch.java
deleted file mode 100644
index 0c26c3434ee9d790b40ca1756bbd8faf2cc84222..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrRouteSensorMatch.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-
-public class RacrRouteSensorMatch extends RacrMatch implements RouteSensorMatch {
-
-	protected final Long route;
-	protected final Long sensor;
-	protected final Long swP;
-	protected final Long sw;
-
-	public RacrRouteSensorMatch(final Long route, final Long sensor, final Long swP, final Long sw) {
-		super(route, sensor, swP, sw);
-		this.route = route;
-		this.sensor = sensor;
-		this.swP = swP;
-		this.sw = sw;
-	}
-
-	public RacrRouteSensorMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1], (Long) objects[2], (Long) objects[3]);
-	}
-
-	@Override
-	public Long getRoute() {
-		return route;
-	}
-
-	@Override
-	public Long getSensor() {
-		return sensor;
-	}
-
-	@Override
-	public Long getSwP() {
-		return swP;
-	}
-
-	@Override
-	public Long getSw() {
-		return sw;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 15d3ee72adc5630471bfafcc03be5cac8e41a7d2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class RacrSemaphoreNeighborInjectMatch extends RacrMatch implements SemaphoreNeighborInjectMatch {
-
-	protected final Long route;
-	protected final Long semaphore;
-
-	public RacrSemaphoreNeighborInjectMatch(final Long route, final Long semaphore) {
-		super(route, semaphore);
-		this.route = route;
-		this.semaphore = semaphore;
-	}
-
-	public RacrSemaphoreNeighborInjectMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1]);
-	}
-
-	@Override
-	public Long getRoute() {
-		return route;
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return semaphore;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSemaphoreNeighborMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSemaphoreNeighborMatch.java
deleted file mode 100644
index a8ae42091100f7289bb7a8700923395ddc6e34fc..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class RacrSemaphoreNeighborMatch extends RacrMatch implements SemaphoreNeighborMatch {
-
-	protected final Long semaphore;
-	protected final Long route1;
-	protected final Long route2;
-	protected final Long sensor1;
-	protected final Long sensor2;
-	protected final Long te1;
-	protected final Long te2;
-
-	public RacrSemaphoreNeighborMatch(final Long semaphore, final Long route1, final Long route2, final Long sensor1, final Long sensor2,
-			final Long te1, final Long te2) {
-		super(semaphore, route1, route2, sensor1, sensor2, te1, te2);
-		this.semaphore = semaphore;
-		this.route1 = route1;
-		this.route2 = route2;
-		this.sensor1 = sensor1;
-		this.sensor2 = sensor2;
-		this.te1 = te1;
-		this.te2 = te2;
-	}
-
-	public RacrSemaphoreNeighborMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1], (Long) objects[2], (Long) objects[3], (Long) objects[4], (Long) objects[5], (Long) objects[6]);
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return semaphore;
-	}
-
-	@Override
-	public Long getRoute1() {
-		return route1;
-	}
-
-	@Override
-	public Long getRoute2() {
-		return route2;
-	}
-
-	@Override
-	public Long getSensor1() {
-		return sensor1;
-	}
-
-	@Override
-	public Long getSensor2() {
-		return sensor2;
-	}
-
-	@Override
-	public Long getTe1() {
-		return te1;
-	}
-
-	@Override
-	public Long getTe2() {
-		return te2;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchMonitoredInjectMatch.java
deleted file mode 100644
index 50d5da513eaaa1eaccc3367c823d07681db7a788..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class RacrSwitchMonitoredInjectMatch extends RacrMatch implements SwitchMonitoredInjectMatch {
-
-	protected final Long sw;
-
-	public RacrSwitchMonitoredInjectMatch(final Long sw) {
-		super(sw);
-		this.sw = sw;
-	}
-
-	public RacrSwitchMonitoredInjectMatch(Object[] objects) {
-		this((Long) objects[0]);
-	}
-
-	@Override
-	public Long getSw() {
-		return sw;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchMonitoredMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchMonitoredMatch.java
deleted file mode 100644
index 31918b5b90c96b30e16320a8ee6ce01d3f5e74d9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class RacrSwitchMonitoredMatch extends RacrMatch implements SwitchMonitoredMatch {
-
-	protected final Long sw;
-
-	public RacrSwitchMonitoredMatch(final Long sw) {
-		super(sw);
-		this.sw = sw;
-	}
-
-	public RacrSwitchMonitoredMatch(Object[] objects) {
-		this((Long) objects[0]);
-	}
-
-	@Override
-	public Long getSw() {
-		return sw;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchSetInjectMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchSetInjectMatch.java
deleted file mode 100644
index 7162d92c7014bc13de62cfc4a3ff5bd81146dc06..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class RacrSwitchSetInjectMatch extends RacrMatch implements SwitchSetInjectMatch {
-
-	protected final Long sw;
-
-	public RacrSwitchSetInjectMatch(final Long sw) {
-		super(sw);
-		this.sw = sw;
-	}
-
-	public RacrSwitchSetInjectMatch(Object[] objects) {
-		this((Long) objects[0]);
-	}
-
-	@Override
-	public Long getSw() {
-		return sw;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchSetMatch.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchSetMatch.java
deleted file mode 100644
index 396e74ae9b0c3bddc78c782133d00b655412eb26..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/matches/RacrSwitchSetMatch.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package de.tudresden.inf.st.train.racr.matches;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-
-public class RacrSwitchSetMatch extends RacrMatch implements SwitchSetMatch {
-
-	private final Long semaphore;
-	private final Long route;
-	private final Long swP;
-	private final Long sw;
-
-	public RacrSwitchSetMatch(final Long semaphore, final Long route, final Long swP, final Long sw) {
-		super(semaphore, route, swP, sw);
-		this.semaphore = semaphore;
-		this.route = route;
-		this.swP = swP;
-		this.sw = sw;
-	}
-
-	public RacrSwitchSetMatch(Object[] objects) {
-		this((Long) objects[0], (Long) objects[1], (Long) objects[2], (Long) objects[3]);
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return semaphore;
-	}
-
-	@Override
-	public Long getRoute() {
-		return route;
-	}
-
-	@Override
-	public Long getSwP() {
-		return swP;
-	}
-
-	@Override
-	public Long getSw() {
-		return sw;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/operations/RacrModelOperationFactory.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/operations/RacrModelOperationFactory.java
deleted file mode 100644
index 88941d2af54ea45e1b0fa4c6bcc086c7eb7b8169..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/operations/RacrModelOperationFactory.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package de.tudresden.inf.st.train.racr.operations;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.*;
-import de.tudresden.inf.st.train.racr.queries.*;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.transformations.inject.*;
-import de.tudresden.inf.st.train.racr.transformations.repair.*;
-import de.tudresden.inf.st.train.racr.util.RacrConfig;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class RacrModelOperationFactory extends ModelOperationFactory<RacrMatch, RacrDriver> {
-
-	public RacrModelOperationFactory() {
-	}
-
-	@Override
-	public ModelOperation<? extends RacrMatch, RacrDriver> createOperation(
-			final RailwayOperation operationEnum, final String workspaceDir,
-			final RacrDriver driver) throws Exception {
-
-		switch (operationEnum) {
-
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final RacrQuery<RacrConnectedSegmentsMatch, RacrDriver> query = new RacrQueryConnectedSegments<>(driver);
-			return ModelOperation.of(query);
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final RacrQuery<RacrConnectedSegmentsInjectMatch, RacrDriver> query = new RacrQueryConnectedSegmentsInject<>(driver);
-			final RacrTransformation<RacrConnectedSegmentsInjectMatch, RacrDriver> transformation = new RacrTransformationInjectConnectedSegments<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final RacrQuery<RacrConnectedSegmentsMatch, RacrDriver> query = new RacrQueryConnectedSegments<>(driver);
-			final RacrTransformation<RacrConnectedSegmentsMatch, RacrDriver> transformation = new RacrTransformationRepairConnectedSegments<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-
-		// PosLength
-		case POSLENGTH: {
-			final RacrQuery<RacrPosLengthMatch, RacrDriver> query = new RacrQueryPosLength<>(driver);
-			return ModelOperation.of(query);
-		}
-		case POSLENGTH_INJECT: {
-			final RacrQuery<RacrPosLengthInjectMatch, RacrDriver> query = new RacrQueryPosLengthInject<>(driver);
-			final RacrTransformation<RacrPosLengthInjectMatch, RacrDriver> transformation = new RacrTransformationInjectPosLength<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-		case POSLENGTH_REPAIR: {
-			final RacrQuery<RacrPosLengthMatch, RacrDriver> query = new RacrQueryPosLength<>(driver);
-			final RacrTransformation<RacrPosLengthMatch, RacrDriver> transformation = new RacrTransformationRepairPosLength<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-
-		// RouteSensor
-		case ROUTESENSOR: {
-			final RacrQuery<RacrRouteSensorMatch, RacrDriver> query = new RacrQueryRouteSensor<>(driver);
-			return ModelOperation.of(query);
-		}
-		case ROUTESENSOR_INJECT: {
-			final RacrQuery<RacrRouteSensorInjectMatch, RacrDriver> query = new RacrQueryRouteSensorInject<>(driver);
-			final RacrTransformation<RacrRouteSensorInjectMatch, RacrDriver> transformation = new RacrTransformationInjectRouteSensor<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-		case ROUTESENSOR_REPAIR: {
-			final RacrQuery<RacrRouteSensorMatch, RacrDriver> query = new RacrQueryRouteSensor<>(driver);
-			final RacrTransformation<RacrRouteSensorMatch, RacrDriver> transformation = new RacrTransformationRepairRouteSensor<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-
-		// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final RacrQuery<RacrSemaphoreNeighborMatch, RacrDriver> query = new RacrQuerySemaphoreNeighbor<>(driver);
-			return ModelOperation.of(query);
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final RacrQuery<RacrSemaphoreNeighborInjectMatch, RacrDriver> query = new RacrQuerySemaphoreNeighborInject<>(driver);
-			final RacrTransformation<RacrSemaphoreNeighborInjectMatch, RacrDriver> transformation = new RacrTransformationInjectSemaphoreNeighbor<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final RacrQuery<RacrSemaphoreNeighborMatch, RacrDriver> query = new RacrQuerySemaphoreNeighbor<>(driver);
-			final RacrTransformation<RacrSemaphoreNeighborMatch, RacrDriver> transformation = new RacrTransformationRepairSemaphoreNeighbor<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-
-		// SwitchMonitored
-		case SWITCHMONITORED: {
-			final RacrQuery<RacrSwitchMonitoredMatch, RacrDriver> query = new RacrQuerySwitchMonitored<>(driver);
-			return ModelOperation.of(query);
-		}
-		case SWITCHMONITORED_INJECT: {
-			final RacrQuery<RacrSwitchMonitoredInjectMatch, RacrDriver> query = new RacrQuerySwitchMonitoredInject<>(driver);
-			final RacrTransformation<RacrSwitchMonitoredInjectMatch, RacrDriver> transformation = new RacrTransformationInjectSwitchMonitored<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final RacrQuery<RacrSwitchMonitoredMatch, RacrDriver> query = new RacrQuerySwitchMonitored<>(driver);
-			final RacrTransformation<RacrSwitchMonitoredMatch, RacrDriver> transformation = new RacrTransformationRepairSwitchMonitored<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-
-		// SwitchSet
-		case SWITCHSET: {
-			final RacrQuery<RacrSwitchSetMatch, RacrDriver> query = new RacrQuerySwitchSet<>(driver);
-			return ModelOperation.of(query);
-		}
-		case SWITCHSET_INJECT: {
-			final RacrQuery<RacrSwitchSetInjectMatch, RacrDriver> query = new RacrQuerySwitchSetInject<>(driver);
-			final RacrTransformation<RacrSwitchSetInjectMatch, RacrDriver> transformation = new RacrTransformationInjectSwitchSet<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-		case SWITCHSET_REPAIR: {
-			final RacrQuery<RacrSwitchSetMatch, RacrDriver> query = new RacrQuerySwitchSet<>(driver);
-			final RacrTransformation<RacrSwitchSetMatch, RacrDriver> transformation = new RacrTransformationRepairSwitchSet<>(driver);
-			return ModelOperation.of(query, transformation);
-		}
-
-		default:
-			throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/ConstructMatches.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/ConstructMatches.java
deleted file mode 100644
index f3e6bfe4bab3907cb78d225ad42ff13f9b55cb0b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/ConstructMatches.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import java.util.Collection;
-
-/**
- * Created by rschoene on 10/4/17.
- */
-public interface ConstructMatches<TPatternMatch> {
-	Collection<TPatternMatch> op(String response);
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/GetResponseQuery.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/GetResponseQuery.java
deleted file mode 100644
index 2e0a47f59951e47fcedf5f15364837cc8079e32b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/GetResponseQuery.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Optional;
-
-/**
- * Created by rschoene on 10/4/17.
- */
-public interface GetResponseQuery {
-	Optional<String> op(AbstractClient client);
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuery.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuery.java
deleted file mode 100644
index 5da6850b941558e815c8c140235337f3a630b9f4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuery.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Optional;
-
-public abstract class RacrQuery<TPatternMatch extends RacrMatch, TRacrDriver extends RacrDriver> extends
-	ModelQuery<TPatternMatch, TRacrDriver> {
-
-	public RacrQuery(final RailwayQuery query, final TRacrDriver driver) {
-		super(query, driver);
-	}
-
-	public static <TPatternMatch> Collection<TPatternMatch> evaluate_shared(int timeout, RacrDriver driver, GetResponseQuery gr, ConstructMatches<TPatternMatch> cm, String name) throws IOException {
-		try (AbstractClient client = RacrUtils.connectToPracr(timeout, driver)) {
-			Optional<String> resonse = gr.op(client);
-			if (!resonse.isPresent()) {
-				if (driver.config.verbose) {
-					System.err.println("Did not get answer from pracr!");
-				}
-				return Collections.emptyList();
-			}
-			String responseString = resonse.get();
-			if (driver.config.verbose) {
-				System.out.println(name + "-Response: " + responseString);
-			}
-			return cm.op(responseString);
-		}
-	}
-
-	@Override
-	public Collection<TPatternMatch> evaluate() throws IOException {
-		return evaluate_shared(this.getTimeout(), this.getDriver(),
-				this::getResponse, this::constructMatches, this.getClass().getSimpleName());
-	}
-
-	/**
-	 * Default implementation for timeout with 30 seconds
-	 * @return the number of seconds to wait for calls to pracr
-	 */
-	public int getTimeout() {
-		return 30;
-	}
-
-	/**
-	 * Retrieve a response, usually be constructing an event and awaiting an answer
-	 * @param client the socket client to use for a connection
-	 * @return the retrieved answer
-	 */
-	public abstract Optional<String> getResponse(AbstractClient client);
-
-	/**
-	 * Process the response and construct the matches
-	 * @param response the retrieved response, always non-<code>null</code>
-	 * @return the matches
-	 */
-	public abstract Collection<TPatternMatch> constructMatches(String response);
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryConnectedSegments.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryConnectedSegments.java
deleted file mode 100644
index d2c0c07b9b304b70e7386fb442fe2d976b857aff..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryConnectedSegments.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrConnectedSegmentsMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQueryConnectedSegments<TRacrDriver extends RacrDriver> extends RacrQuery<RacrConnectedSegmentsMatch, TRacrDriver> {
-
-	public RacrQueryConnectedSegments(final TRacrDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callConnectedSegmentsQuery();
-	}
-
-	@Override
-	public Collection<RacrConnectedSegmentsMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrConnectedSegmentsMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryConnectedSegmentsInject.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryConnectedSegmentsInject.java
deleted file mode 100644
index ac7d5b683bc1e67fc682dcee30df2986a0746c70..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryConnectedSegmentsInject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrConnectedSegmentsInjectMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQueryConnectedSegmentsInject<TRacrDriver extends RacrDriver> extends RacrQuery<RacrConnectedSegmentsInjectMatch, TRacrDriver> {
-
-	public RacrQueryConnectedSegmentsInject(final TRacrDriver driver) {
-		super(RailwayQuery.CONNECTEDSEGMENTS_INJECT, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callConnectedSegmentsInjectQuery();
-	}
-
-	@Override
-	public Collection<RacrConnectedSegmentsInjectMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrConnectedSegmentsInjectMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryPosLength.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryPosLength.java
deleted file mode 100644
index f0e834d61ad4095273be0115dd2dc2243944f459..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryPosLength.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrPosLengthMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQueryPosLength<TRacrDriver extends RacrDriver> extends RacrQuery<RacrPosLengthMatch, TRacrDriver> {
-
-	public RacrQueryPosLength(final TRacrDriver driver) {
-		super(RailwayQuery.POSLENGTH, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callPosLengthQuery();
-	}
-
-	@Override
-	public Collection<RacrPosLengthMatch> constructMatches(String response) {
-		return RacrUtils.parseAsList(response, s -> new RacrPosLengthMatch(Long.valueOf(s.trim())));
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryPosLengthInject.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryPosLengthInject.java
deleted file mode 100644
index 453beb0d8ba4db27b200594358fc9aeda0dd60c3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryPosLengthInject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrPosLengthInjectMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQueryPosLengthInject<TRacrDriver extends RacrDriver> extends RacrQuery<RacrPosLengthInjectMatch, TRacrDriver> {
-
-	public RacrQueryPosLengthInject(final TRacrDriver driver) {
-		super(RailwayQuery.POSLENGTH_INJECT, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callAllSegmentsQuery();
-	}
-
-	@Override
-	public Collection<RacrPosLengthInjectMatch> constructMatches(String response) {
-		return RacrUtils.parseAsList(response, s -> new RacrPosLengthInjectMatch(Long.valueOf(s.trim())));
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryRouteSensor.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryRouteSensor.java
deleted file mode 100644
index c53e2886206f00c2c50822e264d1ceb52ed800c0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryRouteSensor.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrRouteSensorMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQueryRouteSensor<TRacrDriver extends RacrDriver> extends RacrQuery<RacrRouteSensorMatch, TRacrDriver> {
-
-	public RacrQueryRouteSensor(final TRacrDriver driver) {
-		super(RailwayQuery.ROUTESENSOR, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callRouteSensorQuery();
-	}
-
-	@Override
-	public Collection<RacrRouteSensorMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrRouteSensorMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 300;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryRouteSensorInject.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryRouteSensorInject.java
deleted file mode 100644
index e363ebee4014b5355abd68468623b5b42581e097..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQueryRouteSensorInject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrRouteSensorInjectMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQueryRouteSensorInject<TRacrDriver extends RacrDriver> extends RacrQuery<RacrRouteSensorInjectMatch, TRacrDriver> {
-
-	public RacrQueryRouteSensorInject(final TRacrDriver driver) {
-		super(RailwayQuery.ROUTESENSOR_INJECT, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callRouteSensorInjectQuery();
-	}
-
-	@Override
-	public Collection<RacrRouteSensorInjectMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrRouteSensorInjectMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 300;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySemaphoreNeighbor.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySemaphoreNeighbor.java
deleted file mode 100644
index 8a3a9370f3eaad9e0c8a585e8f83f1399cb6f050..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySemaphoreNeighbor.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSemaphoreNeighborMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQuerySemaphoreNeighbor<TRacrDriver extends RacrDriver> extends RacrQuery<RacrSemaphoreNeighborMatch, TRacrDriver> {
-
-	public RacrQuerySemaphoreNeighbor(final TRacrDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		if (driver.config.loadUsingScheme) {
-			throw new RuntimeException("Semaphore Neighbor not working with Scheme");
-		}
-		return client.callSemaphoreNeighborQuery();
-	}
-
-	@Override
-	public Collection<RacrSemaphoreNeighborMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrSemaphoreNeighborMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 30;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySemaphoreNeighborInject.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySemaphoreNeighborInject.java
deleted file mode 100644
index 46d0369030c546754030e1d8aeb744b0c6945d98..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySemaphoreNeighborInject.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSemaphoreNeighborInjectMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQuerySemaphoreNeighborInject<TRacrDriver extends RacrDriver> extends RacrQuery<RacrSemaphoreNeighborInjectMatch, TRacrDriver> {
-
-	public RacrQuerySemaphoreNeighborInject(final TRacrDriver driver) {
-		super(RailwayQuery.SEMAPHORENEIGHBOR_INJECT, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		if (driver.config.loadUsingScheme) {
-			throw new RuntimeException("Semaphore Neighbor not working with Scheme");
-		}
-		return client.callSemaphoreNeighborInjectQuery();
-	}
-
-	@Override
-	public Collection<RacrSemaphoreNeighborInjectMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrSemaphoreNeighborInjectMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 30;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchMonitored.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchMonitored.java
deleted file mode 100644
index 09e822324e4d7af4eb6f6fa66cdf4a4f01215c65..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchMonitored.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchMonitoredMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQuerySwitchMonitored<TRacrDriver extends RacrDriver> extends RacrQuery<RacrSwitchMonitoredMatch, TRacrDriver> {
-
-	public RacrQuerySwitchMonitored(final TRacrDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callSwitchMonitoredQuery();
-	}
-
-	@Override
-	public Collection<RacrSwitchMonitoredMatch> constructMatches(String response) {
-		return RacrUtils.parseAsList(response, s -> new RacrSwitchMonitoredMatch(Long.parseLong(s.trim())));
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchMonitoredInject.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchMonitoredInject.java
deleted file mode 100644
index 20771ce417162d230d467bcd3e78037fe0f9ea81..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchMonitoredInject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchMonitoredInjectMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQuerySwitchMonitoredInject<TRacrDriver extends RacrDriver> extends RacrQuery<RacrSwitchMonitoredInjectMatch, TRacrDriver> {
-
-	public RacrQuerySwitchMonitoredInject(final TRacrDriver driver) {
-		super(RailwayQuery.SWITCHMONITORED_INJECT, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callAllSwitchesQuery();
-	}
-
-	@Override
-	public Collection<RacrSwitchMonitoredInjectMatch> constructMatches(String response) {
-		return RacrUtils.parseAsList(response, s -> new RacrSwitchMonitoredInjectMatch(Long.parseLong(s)));
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchSet.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchSet.java
deleted file mode 100644
index a6feed4bc2c62843c9f87abb4a23f2cfd0c4a1aa..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchSet.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchSetMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQuerySwitchSet<TRacrDriver extends RacrDriver> extends RacrQuery<RacrSwitchSetMatch, TRacrDriver> {
-
-	public RacrQuerySwitchSet(final TRacrDriver driver) {
-		super(RailwayQuery.SWITCHSET, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callSwitchSetQuery();
-	}
-
-	@Override
-	public Collection<RacrSwitchSetMatch> constructMatches(String response) {
-		return RacrUtils.parseNestedLists(response, RacrSwitchSetMatch::new);
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchSetInject.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchSetInject.java
deleted file mode 100644
index c9bf60e2a96d50c947d214d5daa64240c81a7ce5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/queries/RacrQuerySwitchSetInject.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package de.tudresden.inf.st.train.racr.queries;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchSetInjectMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrQuerySwitchSetInject<TRacrDriver extends RacrDriver> extends RacrQuery<RacrSwitchSetInjectMatch, TRacrDriver> {
-
-	public RacrQuerySwitchSetInject(final TRacrDriver driver) {
-		super(RailwayQuery.SWITCHSET_INJECT, driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client) {
-		return client.callAllSwitchesQuery();
-	}
-
-	@Override
-	public Collection<RacrSwitchSetInjectMatch> constructMatches(String response) {
-		return RacrUtils.parseAsList(response, s -> new RacrSwitchSetInjectMatch(Long.parseLong(s)));
-	}
-
-	@Override
-	public int getTimeout() {
-		return 8;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/GetResponseTransformation.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/GetResponseTransformation.java
deleted file mode 100644
index 5a03e76aac573512a360fe372e925b9f9bc4d2d2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/GetResponseTransformation.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations;
-
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-/**
- * Created by rschoene on 10/4/17.
- */
-public interface GetResponseTransformation<TMatch> {
-	Optional<String> op(AbstractClient client, Collection<TMatch> tMatches);
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/HandleEmptyResponse.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/HandleEmptyResponse.java
deleted file mode 100644
index 5939432267ea02a8ecdf9e524656547cd7eaa587..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/HandleEmptyResponse.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations;
-
-/**
- * Created by rschoene on 10/4/17.
- */
-public interface HandleEmptyResponse {
-	void op();
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/HandleResponse.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/HandleResponse.java
deleted file mode 100644
index 4035a52a2277363a10877b701e88f14cd89a06ca..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/HandleResponse.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations;
-
-/**
- * Created by rschoene on 10/4/17.
- */
-public interface HandleResponse {
-	void op(String responseString);
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/RacrTransformation.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/RacrTransformation.java
deleted file mode 100644
index 3cb921f7a198388f861948c401fdae8231adcd1b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/RacrTransformation.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public abstract class RacrTransformation<TMatch extends RacrMatch, TRacrDriver extends RacrDriver>
-		extends ModelTransformation<TMatch, TRacrDriver> {
-
-	public RacrTransformation(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	public static <TMatch> void activate_shared(Collection<TMatch> matches, int timeout, RacrDriver driver,
-	                                            HandleResponse hr, HandleEmptyResponse her,
-	                                            GetResponseTransformation<TMatch> gr, String name) throws Exception {
-		if (driver.config.verbose) {
-			System.out.println(name + ", matches" + matches);
-		}
-		try (AbstractClient client = RacrUtils.connectToPracr(timeout, driver)) {
-			Optional<String> resonse = gr.op(client, matches);
-			if (!resonse.isPresent()) {
-				her.op();
-				return;
-			}
-			String responseString = resonse.get();
-			hr.op(responseString);
-		}
-	}
-
-	@Override
-	public void activate(Collection<TMatch> matches) throws Exception {
-		activate_shared(matches, this.getTimeout(), this.getDriver(),
-				this::handleResponse, this::handleEmptyResponse, this::getResponse,
-				this.getClass().getSimpleName());
-	}
-
-	public abstract Optional<String> getResponse(AbstractClient client, Collection<TMatch> tMatches);
-
-	public void handleResponse(String responseString) {
-		if (driver.config.verbose) {
-			System.out.println(String.format("Got reponse %s", responseString));
-		}
-	}
-
-	public void handleEmptyResponse() {
-		if (driver.config.verbose) {
-			System.err.println("Did not get an answer from pracr");
-		}
-	}
-
-	public int getTimeout() {
-		return 10;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectConnectedSegments.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectConnectedSegments.java
deleted file mode 100644
index 714a164c5e0a9b6a08a797d3ba47de997ada0e82..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.inject;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrConnectedSegmentsInjectMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationInjectConnectedSegments<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrConnectedSegmentsInjectMatch, TRacrDriver> {
-
-	public RacrTransformationInjectConnectedSegments(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrConnectedSegmentsInjectMatch> matches) {
-		return client.callConnectedSegmentsInject(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectPosLength.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectPosLength.java
deleted file mode 100644
index 09a61608783e43c43b1e3ed8c2c6e4f684435b5d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectPosLength.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.inject;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrPosLengthInjectMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationInjectPosLength<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrPosLengthInjectMatch, TRacrDriver> {
-
-	public RacrTransformationInjectPosLength(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrPosLengthInjectMatch> matches) {
-		return client.callPosLengthInject(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectRouteSensor.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectRouteSensor.java
deleted file mode 100644
index 54fb44c5159846064e4aab84868252acbaece18b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.inject;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrRouteSensorInjectMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationInjectRouteSensor<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrRouteSensorInjectMatch, TRacrDriver> {
-
-	public RacrTransformationInjectRouteSensor(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrRouteSensorInjectMatch> matches) {
-		return client.callRouteSensorInject(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index d1f512ec096539c88ae662c8970064272137558e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.inject;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSemaphoreNeighborInjectMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationInjectSemaphoreNeighbor<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrSemaphoreNeighborInjectMatch, TRacrDriver> {
-
-	public RacrTransformationInjectSemaphoreNeighbor(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrSemaphoreNeighborInjectMatch> matches) {
-		return client.callSemaphoreNeighborInject(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSwitchMonitored.java
deleted file mode 100644
index 5e79b95ff84c7774195a3fcd7e4da5d8ca59ca4c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.inject;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchMonitoredInjectMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationInjectSwitchMonitored<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrSwitchMonitoredInjectMatch, TRacrDriver> {
-
-	public RacrTransformationInjectSwitchMonitored(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrSwitchMonitoredInjectMatch> matches) {
-		return client.callSwitchMonitoredInject(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSwitchSet.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSwitchSet.java
deleted file mode 100644
index 25b70152be8dffb95ed3613faad7ce7310a1890b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/inject/RacrTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.inject;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchSetInjectMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationInjectSwitchSet<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrSwitchSetInjectMatch, TRacrDriver> {
-
-	public RacrTransformationInjectSwitchSet(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrSwitchSetInjectMatch> matches) {
-		return client.callSwitchSetInject(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairConnectedSegments.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairConnectedSegments.java
deleted file mode 100644
index f0672fab737b60acff516530911e33010686f8a6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.repair;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrConnectedSegmentsMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationRepairConnectedSegments<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrConnectedSegmentsMatch, TRacrDriver> {
-
-	public RacrTransformationRepairConnectedSegments(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrConnectedSegmentsMatch> matches) {
-		return client.callConnectedSegmentsRepair(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairPosLength.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairPosLength.java
deleted file mode 100644
index 69547ddd1b654f7c231d3c2be8c34c733867ebdd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairPosLength.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.repair;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrPosLengthMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationRepairPosLength<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrPosLengthMatch, TRacrDriver> {
-
-	public RacrTransformationRepairPosLength(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrPosLengthMatch> matches) {
-		return client.callPosLengthRepair(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairRouteSensor.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairRouteSensor.java
deleted file mode 100644
index 65bb3e478a98fab1a54cb0b32dc47eb7709d3a64..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.repair;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrRouteSensorMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationRepairRouteSensor<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrRouteSensorMatch, TRacrDriver> {
-
-	public RacrTransformationRepairRouteSensor(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrRouteSensorMatch> matches) {
-		return client.callRouteSensorRepair(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 9769fb643dc88680c63401047c20c1c05c66c0a0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.repair;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSemaphoreNeighborMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationRepairSemaphoreNeighbor<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrSemaphoreNeighborMatch, TRacrDriver> {
-
-	public RacrTransformationRepairSemaphoreNeighbor(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrSemaphoreNeighborMatch> matches) {
-		return client.callSemaphoreNeighborRepair(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSwitchMonitored.java
deleted file mode 100644
index cf85ab9a443da077c92fdb5d43ec75d69df8c5ad..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.repair;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchMonitoredMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationRepairSwitchMonitored<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrSwitchMonitoredMatch, TRacrDriver> {
-
-	public RacrTransformationRepairSwitchMonitored(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrSwitchMonitoredMatch> matches) {
-		return client.callSwitchMonitoredRepair(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSwitchSet.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSwitchSet.java
deleted file mode 100644
index 442a7303f2ce32825e97cec26a7bfbad6ad7fbc1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/transformations/repair/RacrTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.tudresden.inf.st.train.racr.transformations.repair;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrSwitchSetMatch;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import de.tudresden.inf.st.train.racr.util.AbstractClient;
-
-import java.util.Collection;
-import java.util.Optional;
-
-public class RacrTransformationRepairSwitchSet<TRacrDriver extends RacrDriver>
-		extends RacrTransformation<RacrSwitchSetMatch, TRacrDriver> {
-
-	public RacrTransformationRepairSwitchSet(final TRacrDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public Optional<String> getResponse(AbstractClient client, Collection<RacrSwitchSetMatch> matches) {
-		return client.callSwitchSetRepair(matches);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/AbstractClient.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/AbstractClient.java
deleted file mode 100644
index e8665142087875412f38422bd4daa56094d8bcc0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/AbstractClient.java
+++ /dev/null
@@ -1,238 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import com.google.common.collect.ImmutableMap;
-import de.tudresden.inf.st.train.racr.matches.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-import java.util.Optional;
-
-/**
- * Client to connect to pRacr
- * Created by rschoene on 5/26/17.
- */
-public abstract class AbstractClient implements AutoCloseable {
-
-	final int timeout;
-	protected final RacrConfig config;
-
-	AbstractClient(int timeout, RacrConfig config) {
-		this.timeout = timeout;
-		this.config = config;
-	}
-
-	static String getDefaultHost() {
-		return "localhost";
-	}
-
-	public String call(Event event) {
-		return this.call(event, true);
-	}
-
-	protected abstract String call(Event event, boolean waitForAnswer);
-
-	/**
-	 * Send InitModel event
-	 * @param modelPath the path to the AST to load
-	 */
-	public void callInitModel(String modelPath) {
-		String absPath = new File(modelPath).getAbsolutePath();
-		if (config.verbose) {
-			System.out.println(String.format("Changing model path from '%s' to '%s",
-					modelPath, absPath));
-		}
-		this.call(new Event("LoadFromJsonEvent", ImmutableMap.of(
-			"filename", "\"" + absPath + "\"",
-			"use_scheme", config.loadUsingScheme ? "true" : "false")), false);
-//	    return response == null ? Optional.empty() : Optional.of("0".equals(response));
-	}
-
-	public void callSystemExit() {
-		this.call(new Event("pracr.event", "SystemExitEvent"));
-	}
-
-	public Optional<String> callServerTime() {
-		String response = this.call(new Event("pracr.event", "ServerTimeEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callAllSegmentsQuery() {
-		String response = this.call(new Event("AllSegmentIdsEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callAllRoutesQuery() {
-		String response = this.call(new Event("AllRouteIdsEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callAllSwitchesQuery() {
-		String response = this.call(new Event("AllSwitchIdsEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callConnectedSegmentsQuery() {
-		String response = this.call(new Event("ConnectedSegmentsQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callConnectedSegmentsInjectQuery() {
-		String response = this.call(new Event("ConnectedSegmentsInjectQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callConnectedSegmentsInject(Collection<RacrConnectedSegmentsInjectMatch> matches) {
-		String sensorList = RacrUtils.constructJSONList(matches, m -> m.getSensor().toString());
-		String segment1List = RacrUtils.constructJSONList(matches, m -> m.getSegment1().toString());
-		String segment3List = RacrUtils.constructJSONList(matches, m -> m.getSegment3().toString());
-		String response = this.call(new Event("ConnectedSegmentsInjectEvent", ImmutableMap.of(
-				"sensor_list", sensorList,
-				"segment1_list", segment1List,
-				"segment3_list", segment3List)));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callConnectedSegmentsRepair(Collection<RacrConnectedSegmentsMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-			.put("sensor_list", RacrUtils.constructJSONList(matches, m -> m.getSensor().toString()))
-			.put("segment1_list", RacrUtils.constructJSONList(matches, m -> m.getSegment1().toString()))
-			.put("segment2_list", RacrUtils.constructJSONList(matches, m -> m.getSegment2().toString()))
-			.put("segment3_list", RacrUtils.constructJSONList(matches, m -> m.getSegment3().toString()))
-			.put("segment4_list", RacrUtils.constructJSONList(matches, m -> m.getSegment4().toString()))
-			.put("segment5_list", RacrUtils.constructJSONList(matches, m -> m.getSegment5().toString()))
-			.put("segment6_list", RacrUtils.constructJSONList(matches, m -> m.getSegment6().toString()))
-			.build();
-		String response = this.call(new Event("ConnectedSegmentsRepairEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callPosLengthQuery() {
-		String response = this.call(new Event("PosLengthQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callPosLengthInject(Collection<RacrPosLengthInjectMatch> matches) {
-		String segmentList = RacrUtils.constructJSONList(matches, m -> m.getSegment().toString());
-	    String response = this.call(new Event("PosLengthInjectEvent", ImmutableMap.of("segment_list", segmentList)));
-	    return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callPosLengthRepair(Collection<RacrPosLengthMatch> matches) {
-		String segmentList = RacrUtils.constructJSONList(matches, m -> m.getSegment().toString());
-	    String response = this.call(new Event("PosLengthRepairEvent", ImmutableMap.of("segment_list", segmentList)));
-	    return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callRouteSensorQuery() {
-		String response = this.call(new Event("RouteSensorQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callRouteSensorInjectQuery() {
-		String response = this.call(new Event("RouteSensorInjectQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callRouteSensorInject(Collection<RacrRouteSensorInjectMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("route_list", RacrUtils.constructJSONList(matches, m -> m.getRoute().toString()))
-				.put("sensor_list", RacrUtils.constructJSONList(matches, m -> m.getSensor().toString()))
-				.build();
-		String response = this.call(new Event("RouteSensorInjectEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callRouteSensorRepair(Collection<RacrRouteSensorMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("route_list", RacrUtils.constructJSONList(matches, m -> m.getRoute().toString()))
-				.put("sensor_list", RacrUtils.constructJSONList(matches, m -> m.getSensor().toString()))
-				.put("sw_list", RacrUtils.constructJSONList(matches, m -> m.getSw().toString()))
-				.put("swp_list", RacrUtils.constructJSONList(matches, m -> m.getSwP().toString()))
-				.build();
-		String response = this.call(new Event("RouteSensorRepairEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSemaphoreNeighborQuery() {
-		String response = this.call(new Event("SemaphoreNeighborQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSemaphoreNeighborInjectQuery() {
-		String response = this.call(new Event("SemaphoreNeighborInjectQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSemaphoreNeighborInject(Collection<RacrSemaphoreNeighborInjectMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("route_list", RacrUtils.constructJSONList(matches, m -> m.getRoute().toString()))
-				.put("semaphore_list", RacrUtils.constructJSONList(matches, m -> m.getSemaphore().toString()))
-				.build();
-		String response = this.call(new Event("SemaphoreNeighborInjectEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSemaphoreNeighborRepair(Collection<RacrSemaphoreNeighborMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("route1_list", RacrUtils.constructJSONList(matches, m -> m.getRoute1().toString()))
-				.put("route2_list", RacrUtils.constructJSONList(matches, m -> m.getRoute2().toString()))
-				.put("semaphore_list", RacrUtils.constructJSONList(matches, m -> m.getSemaphore().toString()))
-				.put("sensor1_list", RacrUtils.constructJSONList(matches, m -> m.getSensor1().toString()))
-				.put("sensor2_list", RacrUtils.constructJSONList(matches, m -> m.getSensor2().toString()))
-				.put("te1_list", RacrUtils.constructJSONList(matches, m -> m.getTe1().toString()))
-				.put("te2_list", RacrUtils.constructJSONList(matches, m -> m.getTe2().toString()))
-				.build();
-		String response = this.call(new Event("SemaphoreNeighborRepairEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSwitchMonitoredQuery() {
-		String response = this.call(new Event("SwitchMonitoredQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSwitchMonitoredInject(Collection<RacrSwitchMonitoredInjectMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("sw_list", RacrUtils.constructJSONList(matches, m -> m.getSw().toString()))
-				.build();
-		String response = this.call(new Event("SwitchMonitoredInjectEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSwitchMonitoredRepair(Collection<RacrSwitchMonitoredMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("sw_list", RacrUtils.constructJSONList(matches, m -> m.getSw().toString()))
-				.build();
-		String response = this.call(new Event("SwitchMonitoredRepairEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSwitchSetQuery() {
-		String response = this.call(new Event("SwitchSetQueryEvent"));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSwitchSetInject(Collection<RacrSwitchSetInjectMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("sw_list", RacrUtils.constructJSONList(matches, m -> m.getSw().toString()))
-				.build();
-		String response = this.call(new Event("SwitchSetInjectEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	public Optional<String> callSwitchSetRepair(Collection<RacrSwitchSetMatch> matches) {
-		Map<String, String> params = new ImmutableMap.Builder<String, String>()
-				.put("route_list", RacrUtils.constructJSONList(matches, m -> m.getRoute().toString()))
-				.put("semaphore_list", RacrUtils.constructJSONList(matches, m -> m.getSemaphore().toString()))
-				.put("sw_list", RacrUtils.constructJSONList(matches, m -> m.getSw().toString()))
-				.put("swp_list", RacrUtils.constructJSONList(matches, m -> m.getSwP().toString()))
-				.build();
-		String response = this.call(new Event("SwitchSetRepairEvent", params));
-		return Optional.ofNullable(response);
-	}
-
-	@Override
-	public abstract void close() throws IOException;
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/AsyncSocketClient.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/AsyncSocketClient.java
deleted file mode 100644
index db5aaef4d269798be18af7b021f3d47b57dfa755..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/AsyncSocketClient.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import java.io.IOException;
-
-/**
- * Client using the ticket mechanism.
- * TODO Implement this class
- * Created by rschoene on 8/18/17.
- */
-public class AsyncSocketClient extends SocketClient {
-
-	AsyncSocketClient(int timeout, RacrConfig config) {
-		super(timeout, config);
-	}
-
-	@Override
-	protected String call(Event event, boolean waitForAnswer) {
-		return null;
-	}
-
-	@Override
-	public void close() {
-
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/Event.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/Event.java
deleted file mode 100644
index 6ff646e50f93a51fad4d32d4adc79d45b8ded24c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/Event.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-/**
- * General Event to be sent to and handled by pRacr
- * Created by rschoene on 5/26/17.
- */
-public class Event {
-	private Map<String, String> params;
-	private String commandLine;
-	protected static String defaultModuleName = "pracr.trainbenchmark.tb_event";
-
-	/**
-	 * Creates a new event with the default module name "pracr.trainbenchmark.tb_even", and no parameters.
-	 * @param className the name of the Python event class
-	 */
-	public Event(String className) {
-		this(null, className);
-	}
-
-	/**
-	 * Creates a new event with the default module name "pracr.trainbenchmark.tb_even".
-	 * @param className the name of the Python event class
-	 * @param params key-value parameters to pass to the event
-	 */
-	public Event(String className, Map<String, String> params) {
-		this(null, className, params);
-	}
-
-	/**
-	 * Creates a new event with no parameters.
-	 * @param className the name of the Python event class
-	 * @param moduleName the name of the module the Python event class resides in
-	 */
-	public Event(String moduleName, String className) {
-		this(moduleName, className, null);
-	}
-
-	/**
-	 * Creates a new event.
-	 * @param className the name of the Python event class
-	 * @param moduleName the name of the module the Python event class resides in, if <code>null</code>, use the {@link Event#defaultModuleName}
-	 * @param params key-value parameters to pass to the event
-	 */
-	public Event(String moduleName, String className, Map<String, String> params) {
-		if (moduleName == null) {
-			moduleName = defaultModuleName;
-		}
-		if (params == null) {
-			this.params = new HashMap<>();
-		} else {
-			this.params = new HashMap<>(params);
-		}
-		this.params.put("module_name", "\"" + moduleName + "\"");
-		this.params.put("class_name", "\"" + className + "\"");
-	}
-
-	String getCommandLine() {
-		if (this.commandLine == null) {
-			// compute commandline if not done before
-			String content = params.entrySet().stream()
-					.map(entry -> String.format("\"%s\": %s", entry.getKey(), entry.getValue()))
-					.collect(Collectors.joining(", "));
-			this.commandLine = "{" + content + "}";
-		}
-		return this.commandLine;
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrConfig.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrConfig.java
deleted file mode 100644
index a7d7eade40942d9121bf40caa86e8da491bbe13e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrConfig.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-/**
- * Configuration to communicate with RACR.
- * Created by rschoene on 6/23/17.
- */
-public class RacrConfig {
-
-	public enum ClientType {
-		SOCKET,
-		HTTP
-	}
-
-	public boolean verbose;
-
-	public boolean startStopOwnServer;
-
-	public int port;
-
-	public String host;
-
-	public String flavor;
-
-	public String projectNameSuffix;
-
-	public boolean loadUsingScheme;
-
-	public ClientType clientType;
-
-	public RacrConfig() {
-		verbose = false;
-		startStopOwnServer = false;
-		port = 9432;
-		host = "localhost";
-		flavor = "unset";
-		projectNameSuffix = "unset";
-		loadUsingScheme = false;
-		clientType = ClientType.HTTP;
-	}
-
-	public RacrConfig(RacrConfig other) {
-		verbose = other.verbose;
-		startStopOwnServer = other.startStopOwnServer;
-		port = other.port;
-		host = other.host;
-		flavor = other.flavor;
-		projectNameSuffix = other.projectNameSuffix;
-		loadUsingScheme = other.loadUsingScheme;
-		clientType = other.clientType;
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrHttpClient.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrHttpClient.java
deleted file mode 100644
index 34f20407f03822f6dbff563fc962a274e6d617d1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrHttpClient.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import com.google.api.client.http.*;
-import com.google.api.client.http.javanet.NetHttpTransport;
-
-import java.io.IOException;
-
-/**
- * Client to connect via HTTP.
- * Created by rschoene on 5/26/17.
- */
-public class RacrHttpClient extends AbstractClient {
-
-	private final HttpRequestFactory requestFactory;
-	private final String path;
-
-	public RacrHttpClient(String path, int timeout, RacrConfig config) {
-		super(timeout, config);
-		if (!path.startsWith("/")) {
-			path = "/" + path;
-		}
-		this.path = path;
-		HttpTransport httpTransport = new NetHttpTransport();
-//		hri = new HttpRequestInitializer() {
-//			@Override
-//			public void initialize(HttpRequest httpRequest) throws IOException {
-//				requestInitializer.initialize(httpRequest);
-//				httpRequest.setConnectTimeout(3 * 60000);  // 3 minutes connect timeout
-//				httpRequest.setReadTimeout(3 * 60000);  // 3 minutes read timeout
-//			};
-		this.requestFactory = httpTransport.createRequestFactory(request -> request.setConnectTimeout(30 * 1000).setReadTimeout(30 * 1000));  // 30 seconds read and connect timeout
-	}
-
-	/**
-	 * Creates a new RacrHttpClient to connect to a local pRacr server.
-	 * @param timeout Seconds to wait for answers, 0 for blocking
-	 * @return the new RacrHttpClient
-	 */
-	public static RacrHttpClient connectToPracr(int timeout, RacrConfig config) {
-		return new RacrHttpClient("event", timeout, config);
-	}
-
-	@Override
-	public String call(Event event, boolean waitForAnswer) {
-		try {
-			String path = "http://" + config.host + ":" + config.port + this.path;
-			HttpRequest request = requestFactory.buildPostRequest(
-					new GenericUrl(path),
-					ByteArrayContent.fromString("application/json", event.getCommandLine()));
-			request.getHeaders().setContentType("application/json");
-			HttpResponse response = request.execute();
-			return response.parseAsString();
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
-
-//	@Override
-//	public void callSystemExit() {
-//		try {
-//			String path = "http://" + config.host + ":" + config.port + "/exit";
-//			HttpRequest request = requestFactory.buildPostRequest(
-//					new GenericUrl(path), null);
-//			request.execute();
-//		} catch (IOException e) {
-//			throw new RuntimeException(e);
-//		}
-//	}
-
-	@Override
-	public void close() {
-		// nothing to do here
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrUtils.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrUtils.java
deleted file mode 100644
index 7e16934a547deffceeb8b29106ad8936c548fb44..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/RacrUtils.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-import de.tudresden.inf.st.train.racr.matches.RacrMatch;
-import de.tudresden.inf.st.train.racr.queries.RacrQuery;
-import de.tudresden.inf.st.train.racr.transformations.RacrTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.json.simple.parser.ParseException;
-
-import java.util.*;
-import java.util.function.Function;
-import java.util.function.UnaryOperator;
-import java.util.stream.Collectors;
-
-/**
- * Utils for pRacr communication
- * Created by rschoene on 5/19/17.
- */
-public class RacrUtils {
-	public static <T> Collection<T> parseAsList(String response, Function<? super String, T> func) {
-		// parse the list of the from "[1, 42, 8, 15]"
-		if (response.startsWith("[") && response.endsWith("]")) {
-			response = response.substring(1, response.length() - 1);
-		}
-		if (response.trim().isEmpty()) {
-			return Collections.emptyList();
-		}
-		String[] tokens = response.split(",");
-		UnaryOperator<String> trimFunction = String::trim;
-		return Arrays.stream(tokens)
-				.map(trimFunction.andThen(func))
-				.collect(Collectors.toList());
-	}
-
-	public static <T> Collection<T> parseFromMultipeLists(String response, Function<Object[], T> createElement, String... names) {
-		Map<String, Object[]> map_of_inputs = splitByName(response, names);
-		Object[] first_input = map_of_inputs.get(names[0]);
-		Collection<T> result = new ArrayList<>(first_input.length);
-		for (int i = 0; i < first_input.length; i++) {
-			Object[] params = new Object[names.length];
-			for (int j = 0; j < names.length; j++) {
-				params[j] = map_of_inputs.get(names[j])[i];
-			}
-			result.add(createElement.apply(params));
-		}
-		return result;
-	}
-
-	public static <T> Collection<T> parseNestedLists(String response, Function<Object[], T> createElement) {
-		JSONParser parser = new JSONParser();
-		Collection<T> result = new ArrayList<>();
-		try {
-			JSONArray rootObj = (JSONArray) parser.parse(response);
-			for (Object sublist: rootObj) {
-				result.add(createElement.apply(((JSONArray) sublist).toArray()));
-			}
-		} catch (ParseException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	private static Map<String, Object[]> splitByName(String content, String... names) {
-		JSONParser parser = new JSONParser();
-		Map<String, Object[]> result = new HashMap<>(names.length);
-		try {
-			Object rootObj = parser.parse(content);
-			if (rootObj instanceof JSONArray) {
-				if (!((JSONArray) rootObj).isEmpty()) {
-					System.err.println("Got Array instead of Dict: " + content);
-				}
-				return Arrays.stream(names).collect(Collectors.toMap(
-						Function.identity(),
-						s -> new Object[0]));
-			}
-			JSONObject root = (JSONObject) rootObj;
-			for (String name : names) {
-				JSONArray elements = (JSONArray) root.get(name);
-				result.put(name, elements.toArray());
-			}
-		} catch (ParseException e) {
-			e.printStackTrace();
-		}
-		return result;
-	}
-
-	public static <T> String constructJSONList(Collection<T> input, Function<T, String> func) {
-		return "[" + input.stream().map(func).collect(Collectors.joining(", ")) + "]";
-	}
-
-	public static AbstractClient connectToPracr(int timeout, RacrConfig config) {
-		switch (config.clientType) {
-			case SOCKET:
-				return SocketClient.connectToPracr(timeout, config);
-			case HTTP:
-				return RacrHttpClient.connectToPracr(timeout, config);
-			default:
-				throw new RuntimeException("Invalid clientType in config: " + config.clientType);
-		}
-	}
-
-	public static AbstractClient connectToPracr(RacrTransformation<? extends RacrMatch, ? extends RacrDriver> transformation) {
-		return connectToPracr(transformation.getTimeout(), transformation.getDriver());
-	}
-
-	public static AbstractClient connectToPracr(RacrQuery<? extends RacrMatch, ? extends RacrDriver> query) {
-		return connectToPracr(query.getTimeout(), query.getDriver());
-	}
-
-	public static AbstractClient connectToPracr(int timeout, RacrDriver driver) {
-		return connectToPracr(timeout, driver.config);
-	}
-
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/SocketClient.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/SocketClient.java
deleted file mode 100644
index 8baec39b16344e4e23911502bb32f731f4484263..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/SocketClient.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import de.tudresden.inf.st.train.racr.driver.RacrDriver;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.Socket;
-import java.util.Scanner;
-import java.util.concurrent.*;
-
-/**
- * Client to connect via sockets.
- * Created by rschoene on 5/19/17.
- */
-public class SocketClient extends AbstractClient {
-
-	private class SocketCall implements Callable<String> {
-		private final String commandLine;
-		private final Socket server;
-		private final boolean waitForAnswer;
-
-		SocketCall(Socket server, String commandLine, boolean waitForAnswer) {
-			this.server = server;
-			this.commandLine = commandLine;
-			this.waitForAnswer = waitForAnswer;
-		}
-
-		@Override
-		public String call() throws Exception {
-			String result;
-//			try {
-				Scanner in  = new Scanner( server.getInputStream() );
-				PrintWriter out = new PrintWriter( server.getOutputStream(), true );
-				out.println(commandLine);
-				if (waitForAnswer && in.hasNextLine()) {
-					if (config.verbose) System.out.println("waiting for an answer");
-					result = in.nextLine();
-				} else {
-					result = null;
-				}
-				out.println();
-//			} catch (IOException e) {
-//				e.printStackTrace();
-//				result = null;
-//			}
-			return result;
-		}
-	}
-
-	private final ExecutorService pool;
-
-	/**
-	 * Creates a new client which connect upon every call
-	 * @param timeout Seconds to wait for answers, 0 for blocking
-	 */
-	public SocketClient(int timeout, RacrConfig config) {
-		super(timeout, config);
-		this.pool = Executors.newFixedThreadPool(3);
-	}
-
-    /**
-     * Creates a new SocketClient to connect to a local pRacr server.
-     * @param timeout Seconds to wait for answers, 0 for blocking
-     * @return the new SocketClient
-     */
-	public static SocketClient connectToPracr(int timeout, RacrConfig config) {
-	    return new SocketClient(timeout, config);
-    }
-
-	protected String call(Event event, boolean waitForAnswer) {
-		return this.call(event.getCommandLine(), waitForAnswer);
-	}
-
-	/**
-	 * Sends the given line and waits for an answer.
-	 * @param commandLine the line to send (a newline is always appended)
-	 * @return the answer, or <code>null</code> if exceptions occurred
-	 */
-	private String call(String commandLine) {
-		return this.call(commandLine, true);
-	}
-
-	/**
-	 * Sends the given line.
-	 * @param commandLine the line to send (a newline is always appended)
-	 * @param waitForAnswer If the call expects an answer
-	 * @return the answer, or <code>null</code> if exceptions occurred or waitForAnswer is false
-	 */
-	private String call(String commandLine, boolean waitForAnswer) {
-		Socket server;
-		try {
-			server = new Socket(config.host, config.port);
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-//			e.printStackTrace();
-//			return null;
-		}
-		SocketCall sc = new SocketCall(server, commandLine, waitForAnswer);
-		Future<String> result = this.pool.submit(sc);
-		try {
-			return result.get(this.timeout, TimeUnit.SECONDS);
-		} catch (InterruptedException | ExecutionException | TimeoutException e) {
-			throw new RuntimeException(e);
-		} finally {
-			try {
-				server.close();
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-//		return null;
-	}
-
-	@Override
-	public void close() {
-		this.pool.shutdownNow();
-	}
-}
diff --git a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/TestUtils.java b/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/TestUtils.java
deleted file mode 100644
index 41fb1434f2243e180e6117d82b53325e3e035d39..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-racr/src/main/java/de/tudresden/inf/st/train/racr/util/TestUtils.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package de.tudresden.inf.st.train.racr.util;
-
-import de.tudresden.inf.st.train.racr.RacrBenchmarkScenario;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfig;
-import de.tudresden.inf.st.train.racr.config.RacrBenchmarkConfigBuilder;
-import de.tudresden.inf.st.train.racr.util.RacrUtils;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-
-/**
- * Utils to perform a test with RACR.
- * Created by rschoene on 6/23/17.
- */
-public class TestUtils {
-	public interface BenchmarkUpdate {
-		void op(RacrBenchmarkConfigBuilder a);
-	}
-	public interface CreateBenchmarkScenario {
-		BenchmarkScenario op(RacrBenchmarkConfig bc) throws Exception;
-	}
-
-	public static BenchmarkResult runTest(BenchmarkConfigBase bcb,
-	                                      BenchmarkUpdate bu,
-	                                      CreateBenchmarkScenario cbs) throws Exception {
-		final RacrBenchmarkConfigBuilder builder = new RacrBenchmarkConfigBuilder().setVerbose(true);
-		bu.op(builder);
-		final RacrBenchmarkConfig bc = builder.setConfigBase(bcb).createConfig();
-//		final RacrBenchmarkScenario scenario = new RacrBenchmarkScenario(bc);
-		final BenchmarkScenario scenario = cbs.op(bc);
-		return scenario.performBenchmark();
-	}
-
-	public static boolean pracrServerReachable(BenchmarkConfigBase bcb, BenchmarkUpdate bu) {
-		final RacrBenchmarkConfigBuilder builder = new RacrBenchmarkConfigBuilder();
-		bu.op(builder);
-		final RacrBenchmarkConfig bc = builder.setConfigBase(bcb).createConfig();
-		try {
-			return RacrUtils.connectToPracr(5, bc.config).callServerTime().isPresent();
-		} catch (RuntimeException e) {
-			return false;
-		}
-	}
-}
diff --git a/trainbenchmark-tool-rdf/build.gradle b/trainbenchmark-tool-rdf/build.gradle
deleted file mode 100644
index b7ae3f42b07793bc76162f45bfc0d0ec94131fb1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/build.gradle
+++ /dev/null
@@ -1,4 +0,0 @@
-dependencies {
-  compile project(':trainbenchmark-tool')
-  compile project(':trainbenchmark-format-rdf')
-}
diff --git a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/config/RdfBenchmarkConfig.java b/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/config/RdfBenchmarkConfig.java
deleted file mode 100644
index cf31574e4e699a3c619ffe2a17fb6ec90c0bf80f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/config/RdfBenchmarkConfig.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.rdf.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public abstract class RdfBenchmarkConfig extends BenchmarkConfig {
-
-	protected boolean inferencing;
-
-	protected RdfBenchmarkConfig(final BenchmarkConfigBase configBase, final boolean inferencing) {
-		super(configBase);
-		this.inferencing = inferencing;
-	}
-
-	public boolean isInferencing() {
-		return inferencing;
-	}
-
-	protected String getToolNamePostfix() {
-		return isInferencing() ? " (Inferencing)" : " (No Inferencing)";
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/config/RdfBenchmarkConfigBuilder.java b/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/config/RdfBenchmarkConfigBuilder.java
deleted file mode 100644
index e138c326c6a884e9024329a6251e85aa3c32f73f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/config/RdfBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf.config;
-
-import com.google.common.base.Preconditions;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public abstract class RdfBenchmarkConfigBuilder<T extends RdfBenchmarkConfig, B extends RdfBenchmarkConfigBuilder<T, ?>>
-		extends BenchmarkConfigBuilder<T, B> {
-
-	protected Boolean inferencing;
-
-	@SuppressWarnings("unchecked")
-	public B setInferencing(final boolean inferencing) {
-		this.inferencing = inferencing;
-		return (B) this;
-	}
-
-	@Override
-	public void checkNotNulls() {
-		super.checkNotNulls();
-		Preconditions.checkNotNull(inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/driver/RdfDriver.java b/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/driver/RdfDriver.java
deleted file mode 100644
index e55710f4d54e093c6e7406abe4c476faeddbac7d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/driver/RdfDriver.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf.driver;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.RDF_TYPE;
-
-import java.io.IOException;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-import hu.bme.mit.trainbenchmark.rdf.RdfHelper;
-
-public abstract class RdfDriver extends Driver {
-
-	protected Long newVertexId = null;
-	protected boolean inferencing;
-
-	public RdfDriver(final boolean inferencing) {
-		super();
-		this.inferencing = inferencing;
-	}
-
-	protected Long determineInitialNewVertexId() throws Exception {
-		Long id = 5000L;
-
-		// safety measure to avoid infinite loop in case of a driver bug
-		int iterationCount = 1;
-
-		final String askQuery = "PREFIX base: <" + BASE_PREFIX + "> " //
-				+ "PREFIX rdf:  <" + RDF_TYPE + "> " //
-				+ "ASK { base:" + ID_PREFIX + "%d ?y ?z }";
-		while (iterationCount <= 20 && ask(String.format(askQuery, id))) {
-			id *= 2;
-			iterationCount++;
-		}
-		if (iterationCount > 20) {
-			throw new IOException("Could not generate new unique id.");
-		}
-
-		return id;
-	}
-
-	public Long generateNewVertexId() throws Exception {
-		if (newVertexId == null) {
-			newVertexId = determineInitialNewVertexId();
-		}
-		newVertexId++;
-		return newVertexId;
-	}
-
-	@Override
-	public String getPostfix() {
-		return RdfHelper.getPostfix(inferencing);
-	}
-
-	protected abstract boolean ask(String askQuery) throws Exception;
-
-}
diff --git a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/driver/RdfDriverFactory.java b/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/driver/RdfDriverFactory.java
deleted file mode 100644
index 1090e15c1d9f9311936eb327e8c634bbd987bb21..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/driver/RdfDriverFactory.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public abstract class RdfDriverFactory<TRdfDriver extends RdfDriver> extends DriverFactory<TRdfDriver> {
-
-	protected final boolean inferencing;
-
-	public RdfDriverFactory(final boolean inferencing) {
-		this.inferencing = inferencing;
-	}
-	
-}
diff --git a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/queries/RdfModelQuery.java b/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/queries/RdfModelQuery.java
deleted file mode 100644
index 1f07281e90f04d21119d5e77a99f269b64cd21be..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/queries/RdfModelQuery.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf.queries;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class RdfModelQuery<TMatch, TDriver extends Driver> extends ModelQuery<TMatch, TDriver> {
-
-	protected final String queryPath;
-
-	public RdfModelQuery(final TDriver driver, final String workspaceDir, final RailwayQuery query) {
-		super(query, driver);
-		this.queryPath = workspaceDir + "trainbenchmark-tool-rdf/src/main/resources/queries/" + query + ".sparql";
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/tests/RdfTest.java b/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/tests/RdfTest.java
deleted file mode 100644
index 6b11327d3d2577f2c7449900d23a0bbda6ba7fdd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf/tests/RdfTest.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf.tests;
-
-import java.util.Arrays;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-@RunWith(Parameterized.class)
-public abstract class RdfTest extends TrainBenchmarkTest {
-
-	@Parameters(name="inferencing={0}")
-	public static Iterable<? extends Object> data() {
-		return Arrays.asList(false, true);
-	}
-
-	@Parameter
-	public boolean inferencing;
-
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/ConnectedSegments.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/ConnectedSegments.sparql
deleted file mode 100644
index 052d4664d995f1ecb41d562cdb3ab7697be5d765..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/ConnectedSegments.sparql
+++ /dev/null
@@ -1,30 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?sensor ?segment1 ?segment2 ?segment3 ?segment4 ?segment5 ?segment6
-WHERE
-{
-	?sensor rdf:type base:Sensor .
-	?segment1 base:monitoredBy ?sensor .
-	?segment1 rdf:type base:Segment .
-
-	?segment1 base:connectsTo ?segment2 .
-	?segment2 base:monitoredBy ?sensor .
-	?segment2 rdf:type base:Segment .
-
-	?segment2 base:connectsTo ?segment3 .
-	?segment3 base:monitoredBy ?sensor .
-	?segment3 rdf:type base:Segment .
-
-	?segment3 base:connectsTo ?segment4 .
-	?segment4 rdf:type base:Segment .
-	?segment4 base:monitoredBy ?sensor .
-
-	?segment4 base:connectsTo ?segment5 .
-	?segment5 rdf:type base:Segment .
-	?segment5 base:monitoredBy ?sensor .
-
-	?segment5 base:connectsTo ?segment6 .
-	?segment6 rdf:type base:Segment .
-	?segment6 base:monitoredBy ?sensor .
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/ConnectedSegmentsInject.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/ConnectedSegmentsInject.sparql
deleted file mode 100644
index c439601d9db3a8cdb16e0e9a8e8e400a14cfc9b1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/ConnectedSegmentsInject.sparql
+++ /dev/null
@@ -1,13 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?sensor ?segment1 ?segment3
-WHERE { 
-	?segment1 base:connectsTo ?segment3 .
-	?segment1 base:monitoredBy ?sensor .
-	?segment3 base:monitoredBy ?sensor .
-	
-	?sensor rdf:type base:Sensor .
-	?segment1 rdf:type base:Segment .
-	?segment3 rdf:type base:Segment .
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/PosLength.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/PosLength.sparql
deleted file mode 100644
index 2fd39f38b77c36fdf35e382817ff6f42edf9b04b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/PosLength.sparql
+++ /dev/null
@@ -1,11 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?segment ?length
-WHERE
-{
-	?segment rdf:type base:Segment .
-	?segment base:length ?length .
-
-	FILTER (?length <= 0)
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/PosLengthInject.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/PosLengthInject.sparql
deleted file mode 100644
index 5deb0ce423075ff330e30c584035c4e2550412b6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/PosLengthInject.sparql
+++ /dev/null
@@ -1,7 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?segment
-WHERE {
-	?segment rdf:type base:Segment .
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/RouteSensor.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/RouteSensor.sparql
deleted file mode 100644
index 796e4a45276902bb50d740ce337990ee0a4b451e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/RouteSensor.sparql
+++ /dev/null
@@ -1,20 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?route ?sensor ?swP ?sw
-WHERE
-{
-	?route base:follows ?swP .
-	?route rdf:type base:Route .
-	?swP rdf:type base:SwitchPosition .
-
-	?swP base:target ?sw .
-	?sw rdf:type base:Switch .
-
-	?sw base:monitoredBy ?sensor .
-	?sensor rdf:type base:Sensor .
-
-	FILTER NOT EXISTS {
-		?route base:requires ?sensor .
-	}
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/RouteSensorInject.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/RouteSensorInject.sparql
deleted file mode 100644
index 88d4d7f2568c0a93f760a61272230adbb55b0f9e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/RouteSensorInject.sparql
+++ /dev/null
@@ -1,9 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?route ?sensor
-WHERE { 
-	?route base:requires ?sensor .
-	?route rdf:type base:Route .
-	?sensor rdf:type base:Sensor .
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/SemaphoreNeighbor.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/SemaphoreNeighbor.sparql
deleted file mode 100644
index 17f3d60060171f5dee5a2a91729a80333dfe5912..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/SemaphoreNeighbor.sparql
+++ /dev/null
@@ -1,30 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?semaphore ?route1 ?route2 ?sensor1 ?sensor2 ?te1 ?te2
-WHERE
-{
-	?route1 base:exit ?semaphore .
-	?route1 rdf:type base:Route .
-	?semaphore rdf:type base:Semaphore .
-
-	?route1 base:requires ?sensor1 .
-	?sensor1 rdf:type base:Sensor .
-
-	?te1 base:monitoredBy ?sensor1 .
-	?te1 rdf:type base:TrackElement .
-
-	?te1 base:connectsTo ?te2 .
-	?te2 rdf:type base:TrackElement .
-
-	?te2 base:monitoredBy ?sensor2 .
-	?sensor2 rdf:type base:Sensor .
-
-	?route2 base:requires ?sensor2 .
-
-	FILTER (?route1 != ?route2) .
-
-	FILTER NOT EXISTS {
-		?route2 base:entry ?semaphore
-	}
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/SemaphoreNeighborInject.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/SemaphoreNeighborInject.sparql
deleted file mode 100644
index b329af51416f1126a66c5aa1104c10b65987344d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/SemaphoreNeighborInject.sparql
+++ /dev/null
@@ -1,9 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?route ?semaphore
-WHERE {
-	?route rdf:type base:Route .
-	?route base:entry ?semaphore .
-	?semaphore rdf:type base:Semaphore .
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchMonitored.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchMonitored.sparql
deleted file mode 100644
index ef7aa4f9645fa2c8d02780ed1825be069d6f369d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchMonitored.sparql
+++ /dev/null
@@ -1,13 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?sw
-WHERE
-{
-	?sw rdf:type base:Switch .
-
-	FILTER NOT EXISTS {
-		?sw base:monitoredBy ?sensor .
-		?sensor rdf:type base:Sensor .
-	}
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchMonitoredInject.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchMonitoredInject.sparql
deleted file mode 100644
index 39f809dd772476b735bd4af18a03b9775ee81d1a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchMonitoredInject.sparql
+++ /dev/null
@@ -1,7 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?sw
-WHERE {
-	?sw rdf:type base:Switch .
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchSet.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchSet.sparql
deleted file mode 100644
index c152a611c7c41cdf705f364c327c6a932fd61668..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchSet.sparql
+++ /dev/null
@@ -1,25 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
-PREFIX owl:  <http://www.w3.org/2002/07/owl#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?semaphore ?route ?swP ?sw ?currentPosition ?position
-WHERE
-{
-	?route base:entry ?semaphore .
-	?route rdf:type base:Route .
-	?route base:active true .
-	?semaphore rdf:type base:Semaphore .
-
-	?route base:follows ?swP .
-	?swP rdf:type base:SwitchPosition .
-
-	?swP base:target ?sw .
-	?sw rdf:type base:Switch .
-
-	?semaphore base:signal base:SIGNAL_GO .
-	?sw base:currentPosition ?currentPosition .
-	?swP base:position ?position .
-
-	FILTER (?currentPosition != ?position)
-}
diff --git a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchSetInject.sparql b/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchSetInject.sparql
deleted file mode 100644
index 39f809dd772476b735bd4af18a03b9775ee81d1a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf/src/main/resources/queries/SwitchSetInject.sparql
+++ /dev/null
@@ -1,7 +0,0 @@
-PREFIX base: <http://www.semanticweb.org/ontologies/2015/trainbenchmark#>
-PREFIX rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
-
-SELECT DISTINCT ?sw
-WHERE {
-	?sw rdf:type base:Switch .
-}
diff --git a/trainbenchmark-tool-rdf4j/.gitignore b/trainbenchmark-tool-rdf4j/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-tool-rdf4j/build.gradle b/trainbenchmark-tool-rdf4j/build.gradle
deleted file mode 100644
index 2d91cfce79d0ac3cb11027e04406958d1da85861..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/build.gradle
+++ /dev/null
@@ -1,22 +0,0 @@
-import java.nio.file.Path;
-
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.rdf4j.Rdf4jBenchmarkMain' }
-	mergeServiceFiles()
-}
-
-dependencies {
-	def rdf4jVersion = '2.1.4'
-	compile project(':trainbenchmark-tool-rdf')
-	compile group: 'org.slf4j', name: 'slf4j-nop', version: slf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-model', version: rdf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-repository-sail', version: rdf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-runtime', version: rdf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-sail-memory', version: rdf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-repository-contextaware', version: rdf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-rio-rdfxml', version: rdf4jVersion
-	compile group: 'org.eclipse.rdf4j', name: 'rdf4j-rio-turtle', version: rdf4jVersion
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/Rdf4jBenchmarkMain.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/Rdf4jBenchmarkMain.java
deleted file mode 100644
index 5195422e1324ee6c7a6bfb00e40610bab60b0716..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/Rdf4jBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.config.Rdf4jBenchmarkConfig;
-
-public class Rdf4jBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final Rdf4jBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], Rdf4jBenchmarkConfig.class);
-		final Rdf4jBenchmarkScenario scenario = new Rdf4jBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/Rdf4jBenchmarkScenario.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/Rdf4jBenchmarkScenario.java
deleted file mode 100644
index 57b291e4329cf4fff4382e3497299c83e49803c5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/Rdf4jBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j;
-
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.comparators.Rdf4jMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.config.Rdf4jBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.operations.Rdf4jModelOperationFactory;
-
-public class Rdf4jBenchmarkScenario extends BenchmarkScenario<Rdf4jMatch, Rdf4jDriver, Rdf4jBenchmarkConfig> {
-
-	public Rdf4jBenchmarkScenario(final Rdf4jBenchmarkConfig bc) throws Exception {
-		super(new Rdf4jDriverFactory(bc.isInferencing()), new Rdf4jModelOperationFactory<Rdf4jDriver>(), new Rdf4jMatchComparator(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/comparators/IriComparator.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/comparators/IriComparator.java
deleted file mode 100644
index d5bb369f824f4ba552c547b0780378fe97855115..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/comparators/IriComparator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.comparators;
-
-import java.util.Comparator;
-
-import org.eclipse.rdf4j.model.IRI;
-
-public class IriComparator implements Comparator<IRI> {
-
-	@Override
-	public int compare(final IRI iri1, final IRI iri2) {
-		final long id1 = Long.parseLong(iri1.getLocalName().substring(1));
-		final long id2 = Long.parseLong(iri2.getLocalName().substring(1));
-		return Long.compare(id1, id2);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/comparators/Rdf4jMatchComparator.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/comparators/Rdf4jMatchComparator.java
deleted file mode 100644
index 1b1bd347f52baff8829eebcf959cd1ce0526a632..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/comparators/Rdf4jMatchComparator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.comparators;
-
-import org.eclipse.rdf4j.model.IRI;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.comparators.BaseMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jMatch;
-
-public class Rdf4jMatchComparator extends BaseMatchComparator<Rdf4jMatch, IRI> {
-
-	public Rdf4jMatchComparator() {
-		super(new IriComparator());
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/config/Rdf4jBenchmarkConfig.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/config/Rdf4jBenchmarkConfig.java
deleted file mode 100644
index dbc9983e9990661998b72095dcbcab002cc7f0b2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/config/Rdf4jBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfig;
-
-public class Rdf4jBenchmarkConfig extends RdfBenchmarkConfig {
-
-	protected Rdf4jBenchmarkConfig(final BenchmarkConfigBase configBase, final boolean inferencing) {
-		super(configBase, inferencing);
-	}
-
-	@Override
-	public String getToolName() {
-		return "RDF4J" + getToolNamePostfix();
-	}
-
-	@Override
-	public String getProjectName() {
-		return "rdf4j";
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/config/Rdf4jBenchmarkConfigBuilder.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/config/Rdf4jBenchmarkConfigBuilder.java
deleted file mode 100644
index edbbe74b9df88413164f24ed36d9a9228cb96096..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/config/Rdf4jBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfigBuilder;
-
-public class Rdf4jBenchmarkConfigBuilder
-		extends RdfBenchmarkConfigBuilder<Rdf4jBenchmarkConfig, Rdf4jBenchmarkConfigBuilder> {
-
-	@Override
-	public Rdf4jBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new Rdf4jBenchmarkConfig(configBase, inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/driver/Rdf4jDriver.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/driver/Rdf4jDriver.java
deleted file mode 100644
index 0289778c8ef57ab33f184754cd766bbc504a4db8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/driver/Rdf4jDriver.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.List;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.query.BindingSet;
-import org.eclipse.rdf4j.query.BooleanQuery;
-import org.eclipse.rdf4j.query.MalformedQueryException;
-import org.eclipse.rdf4j.query.QueryEvaluationException;
-import org.eclipse.rdf4j.query.QueryLanguage;
-import org.eclipse.rdf4j.query.TupleQuery;
-import org.eclipse.rdf4j.query.TupleQueryResult;
-import org.eclipse.rdf4j.repository.Repository;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-import org.eclipse.rdf4j.repository.RepositoryException;
-import org.eclipse.rdf4j.repository.RepositoryResult;
-import org.eclipse.rdf4j.repository.sail.SailRepository;
-import org.eclipse.rdf4j.rio.RDFFormat;
-import org.eclipse.rdf4j.sail.inferencer.fc.ForwardChainingRDFSInferencer;
-import org.eclipse.rdf4j.sail.memory.MemoryStore;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.comparators.IriComparator;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.rdf.RdfConstants;
-
-public class Rdf4jDriver extends RdfDriver {
-
-    protected RepositoryConnection connection;
-    protected Repository repository;
-    protected ValueFactory vf;
-
-    protected final Comparator<IRI> elementComparator = new IriComparator();
-
-    public Rdf4jDriver(final boolean inferencing) {
-        super(inferencing);
-    }
-
-    @Override
-    public void beginTransaction() {
-    }
-
-    @Override
-    public void finishTransaction() {
-        connection.commit();
-    }
-
-    @Override
-    public void read(final String modelPath) throws IOException {
-        if (inferencing) {
-            repository = new SailRepository(new ForwardChainingRDFSInferencer(new MemoryStore()));
-        } else {
-            repository = new SailRepository(new MemoryStore());
-        }
-
-        final File modelFile = new File(modelPath);
-
-        repository.initialize();
-        vf = repository.getValueFactory();
-        connection = repository.getConnection();
-        connection.add(modelFile, RdfConstants.BASE_PREFIX, RDFFormat.TURTLE);
-    }
-
-    public Collection<? extends Rdf4jMatch> runQuery(final RailwayQuery query, final String queryDefinition) {
-        final Collection<Rdf4jMatch> results = new ArrayList<>();
-
-        final TupleQuery tupleQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL, queryDefinition);
-        final TupleQueryResult queryResults = tupleQuery.evaluate();
-        try {
-            while (queryResults.hasNext()) {
-                final BindingSet bs = queryResults.next();
-                final Rdf4jMatch match = Rdf4jMatch.createMatch(query, bs);
-                results.add(match);
-            }
-        } finally {
-            queryResults.close();
-        }
-
-        return results;
-    }
-
-    @Override
-    public void destroy() throws Exception {
-        if (connection != null) {
-            connection.clear();
-            connection.close();
-        }
-    }
-
-    // delete
-
-    public void deleteSingleOutgoingEdge(final Collection<IRI> vertices, final String edgeType) {
-        deleteEdges(vertices, edgeType, true, false);
-    }
-
-    public void deleteOutgoingEdges(final Collection<IRI> vertices, final String edgeType) {
-        deleteEdges(vertices, edgeType, true, true);
-    }
-
-    protected void deleteEdges(final Collection<IRI> vertices, final String edgeType, final boolean outgoing,
-                               final boolean all) throws RepositoryException {
-        final List<Statement> itemsToRemove = new ArrayList<>();
-
-        final IRI edge = vf.createIRI(BASE_PREFIX + edgeType);
-
-        for (final IRI vertex : vertices) {
-            final RepositoryResult<Statement> statementsToRemove;
-            if (outgoing) {
-                statementsToRemove = connection.getStatements(vertex, edge, null, true);
-            } else {
-                statementsToRemove = connection.getStatements(null, edge, vertex, true);
-            }
-
-            while (statementsToRemove.hasNext()) {
-                final Statement s = statementsToRemove.next();
-                itemsToRemove.add(s);
-
-                // break if we only want to delete one edge
-                if (!all) {
-                    break;
-                }
-            }
-
-            for (final Statement s : itemsToRemove) {
-                connection.remove(s);
-            }
-        }
-    }
-
-    // utility
-
-    @Override
-    protected boolean ask(final String askQuery)
-            throws RepositoryException, MalformedQueryException, QueryEvaluationException {
-        final BooleanQuery q = connection.prepareBooleanQuery(QueryLanguage.SPARQL, askQuery);
-        final boolean result = q.evaluate();
-        return result;
-    }
-
-    public RepositoryConnection getConnection() {
-        return connection;
-    }
-
-    public ValueFactory getValueFactory() {
-        return vf;
-    }
-
-    public boolean isInferencing() {
-        return inferencing;
-    }
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/driver/Rdf4jDriverFactory.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/driver/Rdf4jDriverFactory.java
deleted file mode 100644
index d0664e196ce63282a609bded4e8a7b89be74c0b8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/driver/Rdf4jDriverFactory.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriverFactory;
-
-public class Rdf4jDriverFactory extends RdfDriverFactory<Rdf4jDriver> {
-
-	public Rdf4jDriverFactory(final boolean inferencing) {
-		super(inferencing);
-	}
-
-	@Override
-	public Rdf4jDriver createInstance() throws Exception {
-		return new Rdf4jDriver(inferencing);
-	}
-	
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jConnectedSegmentsInjectMatch.java
deleted file mode 100644
index 17d8f3b7e90aa1dc9971aeb2e894d6b04ccc9268..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-
-public class Rdf4jConnectedSegmentsInjectMatch extends Rdf4jMatch implements ConnectedSegmentsInjectMatch {
-
-	public Rdf4jConnectedSegmentsInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSensor() {
-		return (IRI) bs.getValue(VAR_SENSOR);
-	}
-
-	@Override
-	public IRI getSegment1() {
-		return (IRI) bs.getValue(VAR_SEGMENT1);
-	}
-
-	@Override
-	public IRI getSegment3() {
-		return (IRI) bs.getValue(VAR_SEGMENT3);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jConnectedSegmentsMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jConnectedSegmentsMatch.java
deleted file mode 100644
index 8c852efada95ae366a8d0571bcab8d8dbe6c20be..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT4;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT5;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT6;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-
-public class Rdf4jConnectedSegmentsMatch extends Rdf4jMatch implements ConnectedSegmentsMatch {
-
-	public Rdf4jConnectedSegmentsMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSensor() {
-		return (IRI) bs.getValue(VAR_SENSOR);
-	}
-
-	@Override
-	public IRI getSegment1() {
-		return (IRI) bs.getValue(VAR_SEGMENT1);
-	}
-
-	@Override
-	public IRI getSegment2() {
-		return (IRI) bs.getValue(VAR_SEGMENT2);
-	}
-
-	@Override
-	public IRI getSegment3() {
-		return (IRI) bs.getValue(VAR_SEGMENT3);
-	}
-
-	@Override
-	public IRI getSegment4() {
-		return (IRI) bs.getValue(VAR_SEGMENT4);
-	}
-
-	@Override
-	public IRI getSegment5() {
-		return (IRI) bs.getValue(VAR_SEGMENT5);
-	}
-
-	@Override
-	public IRI getSegment6() {
-		return (IRI) bs.getValue(VAR_SEGMENT6);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jMatch.java
deleted file mode 100644
index 3a323704902772fa519e9e8c5ebe697355bc1256..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jMatch.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.BaseMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class Rdf4jMatch extends BaseMatch {
-
-	protected BindingSet bs;
-
-	public Rdf4jMatch(final BindingSet bs) {
-		this.bs = bs;
-	}
-
-	public static Rdf4jMatch createMatch(final RailwayQuery query, final BindingSet bs) {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new Rdf4jConnectedSegmentsMatch(bs);
-		case CONNECTEDSEGMENTS_INJECT:
-			return new Rdf4jConnectedSegmentsInjectMatch(bs);
-		case POSLENGTH:
-			return new Rdf4jPosLengthMatch(bs);
-		case POSLENGTH_INJECT:
-			return new Rdf4jPosLengthInjectMatch(bs);
-		case ROUTESENSOR:
-			return new Rdf4jRouteSensorMatch(bs);
-		case ROUTESENSOR_INJECT:
-			return new Rdf4jRouteSensorInjectMatch(bs);
-		case SEMAPHORENEIGHBOR:
-			return new Rdf4jSemaphoreNeighborMatch(bs);
-		case SEMAPHORENEIGHBOR_INJECT:
-			return new Rdf4jSemaphoreNeighborInjectMatch(bs);
-		case SWITCHMONITORED:
-			return new Rdf4jSwitchMonitoredMatch(bs);
-		case SWITCHMONITORED_INJECT:
-			return new Rdf4jSwitchMonitoredInjectMatch(bs);
-		case SWITCHSET:
-			return new Rdf4jSwitchSetMatch(bs);
-		case SWITCHSET_INJECT:
-			return new Rdf4jSwitchSetInjectMatch(bs);
-		default:
-			throw new UnsupportedOperationException("Pattern not supported: " + query);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jPosLengthInjectMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jPosLengthInjectMatch.java
deleted file mode 100644
index bdea53a9deda0804237c792c60d2be96ee4ce95e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jPosLengthInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class Rdf4jPosLengthInjectMatch extends Rdf4jMatch implements PosLengthMatch {
-
-	public Rdf4jPosLengthInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSegment() {
-		return (IRI) bs.getValue(VAR_SEGMENT);
-	}
-
-	public Value getLength() {
-		return bs.getValue(VAR_LENGTH);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jPosLengthMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jPosLengthMatch.java
deleted file mode 100644
index 8aafdf6f5c3978e2b4f861829c2dfa0a1e50f54e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jPosLengthMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class Rdf4jPosLengthMatch extends Rdf4jMatch implements PosLengthMatch {
-
-	public Rdf4jPosLengthMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSegment() {
-		return (IRI) bs.getValue(VAR_SEGMENT);
-	}
-
-	public Value getLength() {
-		return bs.getValue(VAR_LENGTH);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jRouteSensorInjectMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jRouteSensorInjectMatch.java
deleted file mode 100644
index d90ec9998c6658a10bb64e81da63f372d70339b3..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-
-public class Rdf4jRouteSensorInjectMatch extends Rdf4jMatch implements RouteSensorInjectMatch {
-
-	public Rdf4jRouteSensorInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getRoute() {
-		return (IRI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public IRI getSensor() {
-		return (IRI) bs.getValue(VAR_SENSOR);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jRouteSensorMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jRouteSensorMatch.java
deleted file mode 100644
index 600aa89e26609507338cd9a1bc3e4978f59a759c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jRouteSensorMatch.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-
-public class Rdf4jRouteSensorMatch extends Rdf4jMatch implements RouteSensorMatch {
-
-	public Rdf4jRouteSensorMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getRoute() {
-		return (IRI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public IRI getSensor() {
-		return (IRI) bs.getValue(VAR_SENSOR);
-	}
-
-	@Override
-	public IRI getSwP() {
-		return (IRI) bs.getValue(VAR_SWP);
-	}
-
-	@Override
-	public IRI getSw() {
-		return (IRI) bs.getValue(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 19ec04089eabaa73c9820413f92005d4af36e577..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class Rdf4jSemaphoreNeighborInjectMatch extends Rdf4jMatch implements SemaphoreNeighborInjectMatch {
-
-	public Rdf4jSemaphoreNeighborInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getRoute() {
-		return (IRI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public IRI getSemaphore() {
-		return (IRI) bs.getValue(VAR_SEMAPHORE);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSemaphoreNeighborMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSemaphoreNeighborMatch.java
deleted file mode 100644
index 6fb6e9180c80f65e61f377919830617e7583dfbf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class Rdf4jSemaphoreNeighborMatch extends Rdf4jMatch implements SemaphoreNeighborMatch {
-
-	public Rdf4jSemaphoreNeighborMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSemaphore() {
-		return (IRI) bs.getValue(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public IRI getRoute1() {
-		return (IRI) bs.getValue(VAR_ROUTE1);
-	}
-
-	@Override
-	public IRI getRoute2() {
-		return (IRI) bs.getValue(VAR_ROUTE2);
-	}
-
-	@Override
-	public IRI getSensor1() {
-		return (IRI) bs.getValue(VAR_SENSOR1);
-	}
-
-	@Override
-	public IRI getSensor2() {
-		return (IRI) bs.getValue(VAR_SENSOR2);
-	}
-
-	@Override
-	public IRI getTe1() {
-		return (IRI) bs.getValue(VAR_TE1);
-	}
-
-	@Override
-	public IRI getTe2() {
-		return (IRI) bs.getValue(VAR_TE2);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchMonitoredInjectMatch.java
deleted file mode 100644
index 60af0254c2731224d80bb5b8f5a0cf0f58363d04..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class Rdf4jSwitchMonitoredInjectMatch extends Rdf4jMatch implements SwitchMonitoredInjectMatch {
-
-	public Rdf4jSwitchMonitoredInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSw() {
-		return (IRI) bs.getValue(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchMonitoredMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchMonitoredMatch.java
deleted file mode 100644
index 9617f3be3083e722df88a272608333b2f183137e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class Rdf4jSwitchMonitoredMatch extends Rdf4jMatch implements SwitchMonitoredMatch {
-
-	public Rdf4jSwitchMonitoredMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSw() {
-		return (IRI) bs.getValue(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchSetInjectMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchSetInjectMatch.java
deleted file mode 100644
index 0feed6cc8bc2e76288514b00d79cac45572d0084..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class Rdf4jSwitchSetInjectMatch extends Rdf4jMatch implements SwitchSetInjectMatch {
-
-	public Rdf4jSwitchSetInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSw() {
-		return (IRI) bs.getValue(VAR_SW);
-	}
-
-	public Value getPosition() {
-		return bs.getValue(VAR_POSITION);
-	}
-
-	public Value getCurrentPosition() {
-		return bs.getValue(VAR_CURRENTPOSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchSetMatch.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchSetMatch.java
deleted file mode 100644
index 03c31197936f1a865c524b43db45deeeb87618a4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/matches/Rdf4jSwitchSetMatch.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-
-public class Rdf4jSwitchSetMatch extends Rdf4jMatch implements SwitchSetMatch {
-
-	public Rdf4jSwitchSetMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public IRI getSemaphore() {
-		return (IRI) bs.getValue(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public IRI getRoute() {
-		return (IRI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public IRI getSwP() {
-		return (IRI) bs.getValue(VAR_SWP);
-	}
-
-	@Override
-	public IRI getSw() {
-		return (IRI) bs.getValue(VAR_SW);
-	}
-
-	public Value getPosition() {
-		return bs.getValue(VAR_POSITION);
-	}
-
-	public Value getCurrentPosition() {
-		return bs.getValue(VAR_CURRENTPOSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/operations/Rdf4jModelOperationFactory.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/operations/Rdf4jModelOperationFactory.java
deleted file mode 100644
index 0914600d48934078ebedd0db24fba078185f8428..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/operations/Rdf4jModelOperationFactory.java
+++ /dev/null
@@ -1,206 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.queries.Rdf4jQuery;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject.Rdf4jTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject.Rdf4jTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject.Rdf4jTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject.Rdf4jTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject.Rdf4jTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject.Rdf4jTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair.Rdf4jTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair.Rdf4jTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair.Rdf4jTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair.Rdf4jTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair.Rdf4jTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair.Rdf4jTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class Rdf4jModelOperationFactory<TRdf4jDriver extends Rdf4jDriver>
-		extends ModelOperationFactory<Rdf4jMatch, TRdf4jDriver> {
-
-	@Override
-	public ModelOperation<? extends Rdf4jMatch, TRdf4jDriver> createOperation(final RailwayOperation operationEnum,
-			final String workspaceDir, final TRdf4jDriver driver) throws Exception {
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final Rdf4jQuery<Rdf4jConnectedSegmentsMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.CONNECTEDSEGMENTS);
-			final ModelOperation<Rdf4jConnectedSegmentsMatch, TRdf4jDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final Rdf4jQuery<Rdf4jConnectedSegmentsInjectMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver,
-					workspaceDir, RailwayQuery.CONNECTEDSEGMENTS_INJECT);
-			final Rdf4jTransformation<Rdf4jConnectedSegmentsInjectMatch, TRdf4jDriver> transformation = new Rdf4jTransformationInjectConnectedSegments<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jConnectedSegmentsInjectMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final Rdf4jQuery<Rdf4jConnectedSegmentsMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.CONNECTEDSEGMENTS);
-			final Rdf4jTransformation<Rdf4jConnectedSegmentsMatch, TRdf4jDriver> transformation = new Rdf4jTransformationRepairConnectedSegments<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jConnectedSegmentsMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// PosLength
-		case POSLENGTH: {
-			final Rdf4jQuery<Rdf4jPosLengthMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.POSLENGTH);
-			final ModelOperation<Rdf4jPosLengthMatch, TRdf4jDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final Rdf4jQuery<Rdf4jPosLengthInjectMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.POSLENGTH_INJECT);
-			final Rdf4jTransformation<Rdf4jPosLengthInjectMatch, TRdf4jDriver> transformation = new Rdf4jTransformationInjectPosLength<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jPosLengthInjectMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final Rdf4jQuery<Rdf4jPosLengthMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.POSLENGTH);
-			final Rdf4jTransformation<Rdf4jPosLengthMatch, TRdf4jDriver> transformation = new Rdf4jTransformationRepairPosLength<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jPosLengthMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// RouteSensor
-		case ROUTESENSOR: {
-			final Rdf4jQuery<Rdf4jRouteSensorMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.ROUTESENSOR);
-			final ModelOperation<Rdf4jRouteSensorMatch, TRdf4jDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final Rdf4jQuery<Rdf4jRouteSensorInjectMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.ROUTESENSOR_INJECT);
-			final Rdf4jTransformation<Rdf4jRouteSensorInjectMatch, TRdf4jDriver> transformation = new Rdf4jTransformationInjectRouteSensor<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jRouteSensorInjectMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final Rdf4jQuery<Rdf4jRouteSensorMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.ROUTESENSOR);
-			final Rdf4jTransformation<Rdf4jRouteSensorMatch, TRdf4jDriver> transformation = new Rdf4jTransformationRepairRouteSensor<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jRouteSensorMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final Rdf4jQuery<Rdf4jSemaphoreNeighborMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SEMAPHORENEIGHBOR);
-			final ModelOperation<Rdf4jSemaphoreNeighborMatch, TRdf4jDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final Rdf4jQuery<Rdf4jSemaphoreNeighborInjectMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver,
-					workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR_INJECT);
-			final Rdf4jTransformation<Rdf4jSemaphoreNeighborInjectMatch, TRdf4jDriver> transformation = new Rdf4jTransformationInjectSemaphoreNeighbor<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jSemaphoreNeighborInjectMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final Rdf4jQuery<Rdf4jSemaphoreNeighborMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SEMAPHORENEIGHBOR);
-			final Rdf4jTransformation<Rdf4jSemaphoreNeighborMatch, TRdf4jDriver> transformation = new Rdf4jTransformationRepairSemaphoreNeighbor<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jSemaphoreNeighborMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// SwitchMonitored
-		case SWITCHMONITORED: {
-			final Rdf4jQuery<Rdf4jSwitchMonitoredMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHMONITORED);
-			final ModelOperation<Rdf4jSwitchMonitoredMatch, TRdf4jDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final Rdf4jQuery<Rdf4jSwitchMonitoredInjectMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver,
-					workspaceDir, RailwayQuery.SWITCHMONITORED_INJECT);
-			final Rdf4jTransformation<Rdf4jSwitchMonitoredInjectMatch, TRdf4jDriver> transformation = new Rdf4jTransformationInjectSwitchMonitored<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jSwitchMonitoredInjectMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final Rdf4jQuery<Rdf4jSwitchMonitoredMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHMONITORED);
-			final Rdf4jTransformation<Rdf4jSwitchMonitoredMatch, TRdf4jDriver> transformation = new Rdf4jTransformationRepairSwitchMonitored<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jSwitchMonitoredMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// SwitchSet
-		case SWITCHSET: {
-			final Rdf4jQuery<Rdf4jSwitchSetMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHSET);
-			final ModelOperation<Rdf4jSwitchSetMatch, TRdf4jDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final Rdf4jQuery<Rdf4jSwitchSetInjectMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHSET_INJECT);
-			final Rdf4jTransformation<Rdf4jSwitchSetInjectMatch, TRdf4jDriver> transformation = new Rdf4jTransformationInjectSwitchSet<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jSwitchSetInjectMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final Rdf4jQuery<Rdf4jSwitchSetMatch, TRdf4jDriver> query = Rdf4jQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHSET);
-			final Rdf4jTransformation<Rdf4jSwitchSetMatch, TRdf4jDriver> transformation = new Rdf4jTransformationRepairSwitchSet<TRdf4jDriver>(
-					driver);
-			final ModelOperation<Rdf4jSwitchSetMatch, TRdf4jDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		default:
-			break;
-		}
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/queries/Rdf4jQuery.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/queries/Rdf4jQuery.java
deleted file mode 100644
index 875d28d36262505737e847b2ef7e7eda6f9d3f6a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/queries/Rdf4jQuery.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.queries;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.Collection;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.queries.RdfModelQuery;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class Rdf4jQuery<TPatternMatch, TRdf4jDriver extends Rdf4jDriver> extends RdfModelQuery<TPatternMatch, TRdf4jDriver> {
-
-	protected final String queryDefinition;
-
-	public Rdf4jQuery(final TRdf4jDriver driver, final String workspaceDir, final RailwayQuery query) throws IOException {
-		super(driver, workspaceDir, query);
-		this.queryDefinition = FileUtils.readFileToString(new File(queryPath), Charset.forName("UTF-8"));
-	}
-
-	public static <TPatternMatch, TRdf4jDriver extends Rdf4jDriver> Rdf4jQuery<TPatternMatch, TRdf4jDriver> create(final TRdf4jDriver driver,
-			final String workspaceDir, final RailwayQuery query) throws IOException {
-		return new Rdf4jQuery<TPatternMatch, TRdf4jDriver>(driver, workspaceDir, query);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TPatternMatch> evaluate() {
-		return (Collection<TPatternMatch>) driver.runQuery(query, queryDefinition);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/Rdf4jTransformation.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/Rdf4jTransformation.java
deleted file mode 100644
index 6029b596023e330abb4dffa4bb46594e5c46b8b4..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/Rdf4jTransformation.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jMatch;
-
-public abstract class Rdf4jTransformation<TRdf4jMatch extends Rdf4jMatch, TRdf4jDriver extends Rdf4jDriver>
-		extends ModelTransformation<TRdf4jMatch, TRdf4jDriver> {
-
-	protected Rdf4jTransformation(final TRdf4jDriver driver) {
-		super(driver);
-	}
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectConnectedSegments.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectConnectedSegments.java
deleted file mode 100644
index 22ed69b8dffb9ca238f8cbb2efe6fc84e247d3f0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CONNECTS_TO;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SEGMENT;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Literal;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.model.vocabulary.RDF;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-
-public class Rdf4jTransformationInjectConnectedSegments<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jConnectedSegmentsInjectMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationInjectConnectedSegments(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jConnectedSegmentsInjectMatch> matches) throws Exception {
-		final RepositoryConnection connection = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI length = vf.createIRI(BASE_PREFIX + LENGTH);
-		final IRI connectsTo = vf.createIRI(BASE_PREFIX + CONNECTS_TO);
-		final IRI monitoredBy = vf.createIRI(BASE_PREFIX + MONITORED_BY);
-		final IRI segmentType = vf.createIRI(BASE_PREFIX + SEGMENT);
-		final Literal lengthLiteral = vf.createLiteral(TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH);
-
-		for (final Rdf4jConnectedSegmentsInjectMatch csim : matches) {
-			// create (segment2) node
-			final Long newVertexId = driver.generateNewVertexId();
-			final IRI segment2 = vf.createIRI(BASE_PREFIX + ID_PREFIX + newVertexId);
-			connection.add(segment2, RDF.TYPE, segmentType);
-
-			// (segment1)-[:connectsTo]->(segment2)
-			connection.add(csim.getSegment1(), connectsTo, segment2);
-			// (segment2)-[:connectsTo]->(segment3)
-			connection.add(segment2, connectsTo, csim.getSegment3());
-
-			// (segment2)-[:monitoredBy]->(sensor)
-			connection.add(segment2, monitoredBy, csim.getSensor());
-
-			// remove (segment1)-[:connectsTo]->(segment3)
-			connection.remove(csim.getSegment1(), connectsTo, csim.getSegment3());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectPosLength.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectPosLength.java
deleted file mode 100644
index c8d4f9474691af4edd4d8ca1686ff0d973426597..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectPosLength.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Literal;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-import org.eclipse.rdf4j.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class Rdf4jTransformationInjectPosLength<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jPosLengthInjectMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationInjectPosLength(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jPosLengthInjectMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI typeIri = vf.createIRI(BASE_PREFIX + ModelConstants.LENGTH);
-		final Literal zeroLiteral = vf.createLiteral(0);
-
-		for (final Rdf4jPosLengthInjectMatch match : matches) {
-			final IRI segment = match.getSegment();
-
-			final RepositoryResult<Statement> statementsToRemove = con.getStatements(segment, typeIri, null, true);
-			con.remove(statementsToRemove);
-
-			con.add(segment, typeIri, zeroLiteral);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectRouteSensor.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectRouteSensor.java
deleted file mode 100644
index cbc8a19899dc6b96286f5afdbe95f4862cb69bb5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class Rdf4jTransformationInjectRouteSensor<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jRouteSensorInjectMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationInjectRouteSensor(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jRouteSensorInjectMatch> matches) {
-		final RepositoryConnection connection = driver.getConnection();
-		final ValueFactory vf = connection.getValueFactory();
-		
-		final List<Statement> statementsToRemove = new ArrayList<>(matches.size());
-		final IRI requires = vf.createIRI(BASE_PREFIX + ModelConstants.REQUIRES);				
-		for (final Rdf4jRouteSensorInjectMatch m : matches) {
-			final Statement statement = vf.createStatement(m.getRoute(), requires, m.getSensor());
-			statementsToRemove.add(statement);
-		}
-		connection.remove(statementsToRemove);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 8615a9cdca8d58f2a84ddcdec66507f7f926deb1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.rdf.RdfConstants;
-
-public class Rdf4jTransformationInjectSemaphoreNeighbor<TRdf4jDriver extends Rdf4jDriver>
-		extends Rdf4jTransformation<Rdf4jSemaphoreNeighborInjectMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationInjectSemaphoreNeighbor(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jSemaphoreNeighborInjectMatch> matches) {
-		final IRI entry = driver.getValueFactory().createIRI(RdfConstants.BASE_PREFIX + ModelConstants.ENTRY);
-
-		for (Rdf4jSemaphoreNeighborInjectMatch match : matches) {
-			driver.getConnection().remove(match.getRoute(), entry, match.getSemaphore());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSwitchMonitored.java
deleted file mode 100644
index 8f9bde31c339b19f90fd9dcf65ecd971eaa2323f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.eclipse.rdf4j.model.IRI;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class Rdf4jTransformationInjectSwitchMonitored<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jSwitchMonitoredInjectMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationInjectSwitchMonitored(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jSwitchMonitoredInjectMatch> matches) {
-		final List<IRI> switches = matches.stream().map(it -> it.getSw()).collect(Collectors.toList());
-		driver.deleteOutgoingEdges(switches, ModelConstants.MONITORED_BY);
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSwitchSet.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSwitchSet.java
deleted file mode 100644
index dea4806c8993293506c5fce7831de0850aa03b6c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/inject/Rdf4jTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-import org.eclipse.rdf4j.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-import hu.bme.mit.trainbenchmark.constants.Position;
-import hu.bme.mit.trainbenchmark.rdf.RdfHelper;
-
-public class Rdf4jTransformationInjectSwitchSet<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jSwitchSetInjectMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationInjectSwitchSet(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jSwitchSetInjectMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI currentPositionProperty = vf.createIRI(BASE_PREFIX + CURRENTPOSITION);
-
-		for (final Rdf4jSwitchSetInjectMatch match : matches) {
-			final IRI sw = match.getSw();
-			final RepositoryResult<Statement> statements = con.getStatements(sw, currentPositionProperty, null, true);
-			if (!statements.hasNext()) {
-				continue;
-			}
-
-			final Statement oldStatement = statements.next();
-
-			// delete old statement
-			con.remove(oldStatement);
-
-			// get next enum value
-			final IRI currentPositionIri = (IRI) oldStatement.getObject();
-			final String currentPositionRDFString = currentPositionIri.getLocalName();
-			final String currentPositionString = RdfHelper.removePrefix(Position.class, currentPositionRDFString);
-			final Position currentPosition = Position.valueOf(currentPositionString);
-			final Position newCurrentPosition = Position.values()[(currentPosition.ordinal() + 1) % Position.values().length];
-			final String newCurrentPositionString = RdfHelper.addEnumPrefix(newCurrentPosition);
-			final IRI newCurrentPositionIri = vf.createIRI(BASE_PREFIX + newCurrentPositionString);
-
-			// set new value
-			con.add(sw, currentPositionProperty, newCurrentPositionIri);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairConnectedSegments.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairConnectedSegments.java
deleted file mode 100644
index efd54ef79fd5e4c50ba3d25e1a60ddffbbbf8abb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CONNECTS_TO;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-import org.eclipse.rdf4j.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-
-public class Rdf4jTransformationRepairConnectedSegments<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jConnectedSegmentsMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationRepairConnectedSegments(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jConnectedSegmentsMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI connectsTo = vf.createIRI(BASE_PREFIX + CONNECTS_TO);
-		for (final Rdf4jConnectedSegmentsMatch match : matches) {
-			// delete segment2 by removing all (segment2, _, _) and (_, _, segment2) triples
-			final RepositoryResult<Statement> outgoingEdges = con.getStatements(match.getSegment2(), null, null, true);
-			while (outgoingEdges.hasNext()) {
-				con.remove(outgoingEdges.next());
-			}
-			final RepositoryResult<Statement> incomingEdges = con.getStatements(null, null, match.getSegment2(), true);
-			while (incomingEdges.hasNext()) {
-				con.remove(incomingEdges.next());
-			}
-
-			// insert (segment1)-[:connectsTo]->(segment3) edge
-			con.add(match.getSegment1(), connectsTo, match.getSegment3());
-		}
-	}
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairPosLength.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairPosLength.java
deleted file mode 100644
index c3c72a2588db898f41f2bcb86d960b38b6f3a126..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairPosLength.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Literal;
-import org.eclipse.rdf4j.model.Resource;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-import org.eclipse.rdf4j.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-
-public class Rdf4jTransformationRepairPosLength<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jPosLengthMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationRepairPosLength(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jPosLengthMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI lengthProperty = vf.createIRI(BASE_PREFIX + LENGTH);
-
-		for (final Rdf4jPosLengthMatch match : matches) {
-			final Resource segment = match.getSegment();
-			final Value length = match.getLength();
-
-			final RepositoryResult<Statement> statementsToRemove = con.getStatements(segment, lengthProperty, length, true);
-			while (statementsToRemove.hasNext()) {
-				final Statement oldStatement = statementsToRemove.next();
-				con.remove(oldStatement);
-			}
-
-			final Integer lengthInteger = new Integer(length.stringValue());
-			final Integer newLengthInteger = -lengthInteger + 1;
-			final Literal newLength = vf.createLiteral(newLengthInteger);
-			final Statement newStatement = vf.createStatement(segment, lengthProperty, newLength);
-			con.add(newStatement);
-		}
-	}
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairRouteSensor.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairRouteSensor.java
deleted file mode 100644
index 5929871803cc63a88ee7a7e9c158b10f24120763..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.REQUIRES;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Resource;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-
-public class Rdf4jTransformationRepairRouteSensor<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jRouteSensorMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationRepairRouteSensor(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jRouteSensorMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI requires = vf.createIRI(BASE_PREFIX + REQUIRES);
-
-		for (final Rdf4jRouteSensorMatch match : matches) {
-			final Resource route = match.getRoute();
-			final Resource sensor = match.getSensor();
-
-			con.add(route, requires, sensor);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 2d756734a37acd243fa9a8edb766a61e8df4f690..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ENTRY;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Resource;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-
-public class Rdf4jTransformationRepairSemaphoreNeighbor<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jSemaphoreNeighborMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationRepairSemaphoreNeighbor(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jSemaphoreNeighborMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI entry = vf.createIRI(BASE_PREFIX + ENTRY);
-
-		for (final Rdf4jSemaphoreNeighborMatch match : matches) {
-			final Resource route2 = match.getRoute2();
-			final Resource semaphore = match.getSemaphore();
-			con.add(route2, entry, semaphore);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 065e806c155868bc12838ecada483c0b8a45daab..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.TRACKELEMENT;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Resource;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.model.vocabulary.RDF;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-
-public class Rdf4jTransformationRepairSwitchMonitored<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jSwitchMonitoredMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationRepairSwitchMonitored(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jSwitchMonitoredMatch> matches) throws Exception {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI sensorEdgeType = vf.createIRI(BASE_PREFIX + MONITORED_BY);
-		final IRI sensorType = vf.createIRI(BASE_PREFIX + SENSOR);
-		final IRI trackElementType = vf.createIRI(BASE_PREFIX + TRACKELEMENT);
-
-		for (final Rdf4jSwitchMonitoredMatch match : matches) {
-			final Resource sw = match.getSw();
-
-			final IRI sensor = vf.createIRI(BASE_PREFIX + ID_PREFIX + driver.generateNewVertexId());
-
-			// set vertex type
-			con.add(sensor, RDF.TYPE, sensorType);
-
-			// insert the supertype as well
-			if (!driver.isInferencing()) {
-				con.add(sensor, RDF.TYPE, trackElementType);
-			}
-
-			// insert edge
-			con.add(sw, sensorEdgeType, sensor);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSwitchSet.java b/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSwitchSet.java
deleted file mode 100644
index a056947998aca5e55613446f42c935b21b7c661b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/main/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/transformations/repair/Rdf4jTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.eclipse.rdf4j.model.IRI;
-import org.eclipse.rdf4j.model.Resource;
-import org.eclipse.rdf4j.model.Statement;
-import org.eclipse.rdf4j.model.Value;
-import org.eclipse.rdf4j.model.ValueFactory;
-import org.eclipse.rdf4j.repository.RepositoryConnection;
-import org.eclipse.rdf4j.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.driver.Rdf4jDriver;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.matches.Rdf4jSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.transformations.Rdf4jTransformation;
-
-public class Rdf4jTransformationRepairSwitchSet<TRdf4jDriver extends Rdf4jDriver> extends Rdf4jTransformation<Rdf4jSwitchSetMatch, TRdf4jDriver> {
-
-	public Rdf4jTransformationRepairSwitchSet(final TRdf4jDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<Rdf4jSwitchSetMatch> matches) {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final IRI currentPositionProperty = vf.createIRI(BASE_PREFIX + CURRENTPOSITION);
-
-		for (final Rdf4jSwitchSetMatch match : matches) {
-			final Resource sw = match.getSw();
-			final Value position = match.getPosition();
-			final Value currentPosition = match.getCurrentPosition();
-
-			final RepositoryResult<Statement> statementsToRemove = con.getStatements(sw, currentPositionProperty, currentPosition, false);
-			while (statementsToRemove.hasNext()) {
-				con.remove(statementsToRemove.next());
-			}
-
-			con.add(sw, currentPositionProperty, position);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-rdf4j/src/main/resources/.gitignore b/trainbenchmark-tool-rdf4j/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-rdf4j/src/test/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/test/Rdf4jTest.java b/trainbenchmark-tool-rdf4j/src/test/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/test/Rdf4jTest.java
deleted file mode 100644
index de2745f27f728c19b9d6cae70d6ab14240c61f27..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-rdf4j/src/test/java/hu/bme/mit/trainbenchmark/benchmark/rdf4j/test/Rdf4jTest.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.rdf4j.test;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.tests.RdfTest;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.Rdf4jBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.config.Rdf4jBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.rdf4j.config.Rdf4jBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-
-@RunWith(Parameterized.class)
-public class Rdf4jTest extends RdfTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final Rdf4jBenchmarkConfig bc = new Rdf4jBenchmarkConfigBuilder().setConfigBase(bcb).setInferencing(inferencing)
-				.createConfig();
-		final Rdf4jBenchmarkScenario scenario = new Rdf4jBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/.gitignore b/trainbenchmark-tool-sesame/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-tool-sesame/build.gradle b/trainbenchmark-tool-sesame/build.gradle
deleted file mode 100644
index 328d55eb62ea2a02567273585d20314a37230a8b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/build.gradle
+++ /dev/null
@@ -1,19 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.sesame.SesameBenchmarkMain' }
-	mergeServiceFiles()
-}
-
-dependencies {
-	def sesameVersion = '2.7.10'
-	compile project(':trainbenchmark-tool-rdf')
-	compile group: 'org.openrdf.sesame', name: 'sesame-model', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-repository-sail', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-runtime', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-sail-memory', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-repository-contextaware', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-rio-rdfxml', version: sesameVersion
-	compile group: 'org.openrdf.sesame', name: 'sesame-rio-turtle', version: sesameVersion
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/SesameBenchmarkMain.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/SesameBenchmarkMain.java
deleted file mode 100644
index 13164e60298b200a1387b7ff845f28003ed10060..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/SesameBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.sesame;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.config.SesameBenchmarkConfig;
-
-public class SesameBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final SesameBenchmarkConfig sbc = BenchmarkConfig.fromFile(args[0], SesameBenchmarkConfig.class);
-		final SesameBenchmarkScenario scenario = new SesameBenchmarkScenario(sbc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/SesameBenchmarkScenario.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/SesameBenchmarkScenario.java
deleted file mode 100644
index ae38bc64aa145f18339102879a129280714ef2c7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/SesameBenchmarkScenario.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sesame;
-
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.comparators.SesameMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.config.SesameBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.operations.SesameModelOperationFactory;
-
-public class SesameBenchmarkScenario
-		extends BenchmarkScenario<SesameMatch, SesameDriver, SesameBenchmarkConfig> {
-
-	public SesameBenchmarkScenario(final SesameBenchmarkConfig sbc) throws Exception {
-		super(new SesameDriverFactory(sbc.isInferencing()), new SesameModelOperationFactory<SesameDriver>(), new SesameMatchComparator(), sbc);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/comparators/SesameMatchComparator.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/comparators/SesameMatchComparator.java
deleted file mode 100644
index b0efd9487891f2cf23d6e94536c61534a67a9fca..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/comparators/SesameMatchComparator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.comparators;
-
-import org.openrdf.model.URI;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.comparators.BaseMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameMatch;
-
-public class SesameMatchComparator extends BaseMatchComparator<SesameMatch, URI> {
-
-	public SesameMatchComparator() {
-		super(new UriComparator());
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/comparators/UriComparator.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/comparators/UriComparator.java
deleted file mode 100644
index 87ade7df6ffbf139a0db1121f5f5559dcfe8214f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/comparators/UriComparator.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.comparators;
-
-import java.util.Comparator;
-
-import org.openrdf.model.URI;
-
-public class UriComparator implements Comparator<URI> {
-
-	@Override
-	public int compare(final URI uri1, final URI uri2) {
-		final long id1 = Long.parseLong(uri1.getLocalName().substring(1));
-		final long id2 = Long.parseLong(uri2.getLocalName().substring(1));
-		return Long.compare(id1, id2);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/config/SesameBenchmarkConfig.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/config/SesameBenchmarkConfig.java
deleted file mode 100644
index 78d0aa7a5f753a2dbac51e39a2c0050ac7307e2c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/config/SesameBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.sesame.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfig;
-
-public class SesameBenchmarkConfig extends RdfBenchmarkConfig {
-
-	protected SesameBenchmarkConfig(final BenchmarkConfigBase configBase, final boolean inferencing) {
-		super(configBase, inferencing);
-	}
-
-	@Override
-	public String getToolName() {
-		return "Sesame" + getToolNamePostfix();
-	}
-
-	@Override
-	public String getProjectName() {
-		return "sesame";
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/config/SesameBenchmarkConfigBuilder.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/config/SesameBenchmarkConfigBuilder.java
deleted file mode 100644
index 3fd39b1d6aee508869b2f7d626f9a5d3113cc472..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/config/SesameBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sesame.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.config.RdfBenchmarkConfigBuilder;
-
-public class SesameBenchmarkConfigBuilder
-		extends RdfBenchmarkConfigBuilder<SesameBenchmarkConfig, SesameBenchmarkConfigBuilder> {
-
-	@Override
-	public SesameBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new SesameBenchmarkConfig(configBase, inferencing);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/driver/SesameDriver.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/driver/SesameDriver.java
deleted file mode 100644
index af76f4e52ade1953e272605986d16da16b3773fd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/driver/SesameDriver.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.driver;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.List;
-
-import org.openrdf.OpenRDFException;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.query.BindingSet;
-import org.openrdf.query.BooleanQuery;
-import org.openrdf.query.MalformedQueryException;
-import org.openrdf.query.QueryEvaluationException;
-import org.openrdf.query.QueryLanguage;
-import org.openrdf.query.TupleQuery;
-import org.openrdf.query.TupleQueryResult;
-import org.openrdf.repository.Repository;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.RepositoryResult;
-import org.openrdf.repository.sail.SailRepository;
-import org.openrdf.rio.RDFFormat;
-import org.openrdf.rio.RDFParseException;
-import org.openrdf.sail.inferencer.fc.ForwardChainingRDFSInferencer;
-import org.openrdf.sail.memory.MemoryStore;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.comparators.UriComparator;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-import hu.bme.mit.trainbenchmark.rdf.RdfConstants;
-
-public class SesameDriver extends RdfDriver {
-
-	protected RepositoryConnection connection;
-	protected Repository repository;
-	protected ValueFactory vf;
-
-	protected final Comparator<URI> elementComparator = new UriComparator();
-
-	public SesameDriver(final boolean inferencing) {
-		super(inferencing);
-	}
-	
-	@Override
-	public void beginTransaction() {
-	}
-
-	@Override
-	public void finishTransaction() throws RepositoryException {
-		connection.commit();
-	}
-
-	@Override
-	public void read(final String modelPath)
-			throws RepositoryException, RDFParseException, IOException, OpenRDFException {
-		if (inferencing) {
-			repository = new SailRepository(new ForwardChainingRDFSInferencer(new MemoryStore()));
-		} else {
-			repository = new SailRepository(new MemoryStore());
-		}
-		
-		final File modelFile = new File(modelPath);
-		
-		repository.initialize();
-		vf = repository.getValueFactory();
-		connection = repository.getConnection();
-		connection.add(modelFile, RdfConstants.BASE_PREFIX, RDFFormat.TURTLE);
-	}
-	
-	public Collection<? extends SesameMatch> runQuery(final RailwayQuery query, final String queryDefinition)
-			throws RepositoryException, MalformedQueryException, QueryEvaluationException {
-		final Collection<SesameMatch> results = new ArrayList<>();
-
-		final TupleQuery tupleQuery = connection.prepareTupleQuery(QueryLanguage.SPARQL, queryDefinition);
-		final TupleQueryResult queryResults = tupleQuery.evaluate();
-		try {
-			while (queryResults.hasNext()) {
-				final BindingSet bs = queryResults.next();
-				final SesameMatch match = SesameMatch.createMatch(query, bs);
-				results.add(match);
-			}
-		} finally {
-			queryResults.close();
-		}
-
-		return results;
-	}
-
-	@Override
-	public void destroy() throws Exception {
-		if (connection != null) {
-			connection.clear();
-			connection.close();
-		}
-	}
-
-	// delete
-
-	public void deleteSingleOutgoingEdge(final Collection<URI> vertices, final String vertexType, final String edgeType)
-			throws RepositoryException {
-		deleteEdges(vertices, edgeType, true, false);
-	}
-	
-	public void deleteOutgoingEdges(final Collection<URI> vertices, final String vertexType, final String edgeType)
-			throws RepositoryException {
-		deleteEdges(vertices, edgeType, true, true);
-	}
-
-	protected void deleteEdges(final Collection<URI> vertices, final String edgeType, final boolean outgoing,
-			final boolean all) throws RepositoryException {
-		final List<Statement> itemsToRemove = new ArrayList<>();
-
-		final URI edge = vf.createURI(BASE_PREFIX + edgeType);
-
-		for (final URI vertex : vertices) {
-			final RepositoryResult<Statement> statementsToRemove;
-			if (outgoing) {
-				statementsToRemove = connection.getStatements(vertex, edge, null, true);
-			} else {
-				statementsToRemove = connection.getStatements(null, edge, vertex, true);
-			}
-
-			while (statementsToRemove.hasNext()) {
-				final Statement s = statementsToRemove.next();
-				itemsToRemove.add(s);
-
-				// break if we only want to delete one edge
-				if (!all) {
-					break;
-				}
-			}
-
-			for (final Statement s : itemsToRemove) {
-				connection.remove(s);
-			}
-		}
-	}
-
-	// utility
-
-	@Override
-	protected boolean ask(final String askQuery)
-			throws RepositoryException, MalformedQueryException, QueryEvaluationException {
-		final BooleanQuery q = connection.prepareBooleanQuery(QueryLanguage.SPARQL, askQuery);
-		final boolean result = q.evaluate();
-		return result;
-	}
-
-	public RepositoryConnection getConnection() {
-		return connection;
-	}
-
-	public ValueFactory getValueFactory() {
-		return vf;
-	}
-
-	public boolean isInferencing() {
-		return inferencing;
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/driver/SesameDriverFactory.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/driver/SesameDriverFactory.java
deleted file mode 100644
index c6e28c3fec851ea8fac9d2319971f8c4b86c09bd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/driver/SesameDriverFactory.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sesame.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.driver.RdfDriverFactory;
-
-public class SesameDriverFactory extends RdfDriverFactory<SesameDriver> {
-
-	public SesameDriverFactory(final boolean inferencing) {
-		super(inferencing);
-	}
-
-	@Override
-	public SesameDriver createInstance() throws Exception {
-		return new SesameDriver(inferencing);
-	}
-	
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameConnectedSegmentsInjectMatch.java
deleted file mode 100644
index 7b8ab792fa636fadc09213ad02f4704702ee574f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-
-public class SesameConnectedSegmentsInjectMatch extends SesameMatch implements ConnectedSegmentsInjectMatch {
-
-	public SesameConnectedSegmentsInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSensor() {
-		return (URI) bs.getValue(VAR_SENSOR);
-	}
-
-	@Override
-	public URI getSegment1() {
-		return (URI) bs.getValue(VAR_SEGMENT1);
-	}
-
-	@Override
-	public URI getSegment3() {
-		return (URI) bs.getValue(VAR_SEGMENT3);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameConnectedSegmentsMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameConnectedSegmentsMatch.java
deleted file mode 100644
index 771e5bd094e4ac4a731e33c2a5f77340635ff204..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT3;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT4;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT5;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT6;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-
-public class SesameConnectedSegmentsMatch extends SesameMatch implements ConnectedSegmentsMatch {
-
-	public SesameConnectedSegmentsMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSensor() {
-		return (URI) bs.getValue(VAR_SENSOR);
-	}
-
-	@Override
-	public URI getSegment1() {
-		return (URI) bs.getValue(VAR_SEGMENT1);
-	}
-
-	@Override
-	public URI getSegment2() {
-		return (URI) bs.getValue(VAR_SEGMENT2);
-	}
-
-	@Override
-	public URI getSegment3() {
-		return (URI) bs.getValue(VAR_SEGMENT3);
-	}
-
-	@Override
-	public URI getSegment4() {
-		return (URI) bs.getValue(VAR_SEGMENT4);
-	}
-
-	@Override
-	public URI getSegment5() {
-		return (URI) bs.getValue(VAR_SEGMENT5);
-	}
-
-	@Override
-	public URI getSegment6() {
-		return (URI) bs.getValue(VAR_SEGMENT6);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameMatch.java
deleted file mode 100644
index c4ce17a6cf70a13037b18ec543979e5e108d8dd5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameMatch.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.BaseMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class SesameMatch extends BaseMatch {
-
-	protected BindingSet bs;
-
-	public SesameMatch(final BindingSet bs) {
-		this.bs = bs;
-	}
-
-	public static SesameMatch createMatch(final RailwayQuery query, final BindingSet bs) {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new SesameConnectedSegmentsMatch(bs);
-		case CONNECTEDSEGMENTS_INJECT:
-			return new SesameConnectedSegmentsInjectMatch(bs);
-		case POSLENGTH:
-			return new SesamePosLengthMatch(bs);
-		case POSLENGTH_INJECT:
-			return new SesamePosLengthInjectMatch(bs);
-		case ROUTESENSOR:
-			return new SesameRouteSensorMatch(bs);
-		case ROUTESENSOR_INJECT:
-			return new SesameRouteSensorInjectMatch(bs);
-		case SEMAPHORENEIGHBOR:
-			return new SesameSemaphoreNeighborMatch(bs);
-		case SEMAPHORENEIGHBOR_INJECT:
-			return new SesameSemaphoreNeighborInjectMatch(bs);
-		case SWITCHMONITORED:
-			return new SesameSwitchMonitoredMatch(bs);
-		case SWITCHMONITORED_INJECT:
-			return new SesameSwitchMonitoredInjectMatch(bs);
-		case SWITCHSET:
-			return new SesameSwitchSetMatch(bs);
-		case SWITCHSET_INJECT:
-			return new SesameSwitchSetInjectMatch(bs);
-		default:
-			throw new UnsupportedOperationException("Pattern not supported: " + query);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesamePosLengthInjectMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesamePosLengthInjectMatch.java
deleted file mode 100644
index b9643f44771f3e683e6060a6f83eec3e26bcf1d6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesamePosLengthInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class SesamePosLengthInjectMatch extends SesameMatch implements PosLengthMatch {
-
-	public SesamePosLengthInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSegment() {
-		return (URI) bs.getValue(VAR_SEGMENT);
-	}
-
-	public Value getLength() {
-		return bs.getValue(VAR_LENGTH);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesamePosLengthMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesamePosLengthMatch.java
deleted file mode 100644
index ba52727ef34b97b75a8c253f157b5f59ff2183f5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesamePosLengthMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class SesamePosLengthMatch extends SesameMatch implements PosLengthMatch {
-
-	public SesamePosLengthMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSegment() {
-		return (URI) bs.getValue(VAR_SEGMENT);
-	}
-
-	public Value getLength() {
-		return bs.getValue(VAR_LENGTH);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameRouteSensorInjectMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameRouteSensorInjectMatch.java
deleted file mode 100644
index 3b83c1c2646ef28973a7d8f835fc26dc972b6a59..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-
-public class SesameRouteSensorInjectMatch extends SesameMatch implements RouteSensorInjectMatch {
-
-	public SesameRouteSensorInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getRoute() {
-		return (URI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public URI getSensor() {
-		return (URI) bs.getValue(VAR_SENSOR);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameRouteSensorMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameRouteSensorMatch.java
deleted file mode 100644
index 5e01dc5b9ca8d84b2e078938716521fe15d839e2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameRouteSensorMatch.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-
-public class SesameRouteSensorMatch extends SesameMatch implements RouteSensorMatch {
-
-	public SesameRouteSensorMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getRoute() {
-		return (URI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public URI getSensor() {
-		return (URI) bs.getValue(VAR_SENSOR);
-	}
-
-	@Override
-	public URI getSwP() {
-		return (URI) bs.getValue(VAR_SWP);
-	}
-
-	@Override
-	public URI getSw() {
-		return (URI) bs.getValue(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 7cf8e5ff8f0df3dae034949d8984d58afe121cc7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class SesameSemaphoreNeighborInjectMatch extends SesameMatch implements SemaphoreNeighborInjectMatch {
-
-	public SesameSemaphoreNeighborInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getRoute() {
-		return (URI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public URI getSemaphore() {
-		return (URI) bs.getValue(VAR_SEMAPHORE);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSemaphoreNeighborMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSemaphoreNeighborMatch.java
deleted file mode 100644
index 7624f9165940de2c417a3411b604c3c7a6d8ce39..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class SesameSemaphoreNeighborMatch extends SesameMatch implements SemaphoreNeighborMatch {
-
-	public SesameSemaphoreNeighborMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSemaphore() {
-		return (URI) bs.getValue(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public URI getRoute1() {
-		return (URI) bs.getValue(VAR_ROUTE1);
-	}
-
-	@Override
-	public URI getRoute2() {
-		return (URI) bs.getValue(VAR_ROUTE2);
-	}
-
-	@Override
-	public URI getSensor1() {
-		return (URI) bs.getValue(VAR_SENSOR1);
-	}
-
-	@Override
-	public URI getSensor2() {
-		return (URI) bs.getValue(VAR_SENSOR2);
-	}
-
-	@Override
-	public URI getTe1() {
-		return (URI) bs.getValue(VAR_TE1);
-	}
-
-	@Override
-	public URI getTe2() {
-		return (URI) bs.getValue(VAR_TE2);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchMonitoredInjectMatch.java
deleted file mode 100644
index e09790fbff25f3eb630f213ad56a3a156138bc1c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class SesameSwitchMonitoredInjectMatch extends SesameMatch implements SwitchMonitoredInjectMatch {
-
-	public SesameSwitchMonitoredInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSw() {
-		return (URI) bs.getValue(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchMonitoredMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchMonitoredMatch.java
deleted file mode 100644
index 6306dcea3e20435b8e9d89c75437066a76b9e065..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.openrdf.model.URI;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class SesameSwitchMonitoredMatch extends SesameMatch implements SwitchMonitoredMatch {
-
-	public SesameSwitchMonitoredMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSw() {
-		return (URI) bs.getValue(VAR_SW);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchSetInjectMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchSetInjectMatch.java
deleted file mode 100644
index 0f0d4a9aea8efd6ac438a078e73aad44103ba433..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class SesameSwitchSetInjectMatch extends SesameMatch implements SwitchSetInjectMatch {
-
-	public SesameSwitchSetInjectMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSw() {
-		return (URI) bs.getValue(VAR_SW);
-	}
-
-	public Value getPosition() {
-		return bs.getValue(VAR_POSITION);
-	}
-
-	public Value getCurrentPosition() {
-		return bs.getValue(VAR_CURRENTPOSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchSetMatch.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchSetMatch.java
deleted file mode 100644
index d22c0ed08a50172297522b6c03d4c16b62fc9684..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/matches/SesameSwitchSetMatch.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.query.BindingSet;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-
-public class SesameSwitchSetMatch extends SesameMatch implements SwitchSetMatch {
-
-	public SesameSwitchSetMatch(final BindingSet bs) {
-		super(bs);
-	}
-
-	@Override
-	public URI getSemaphore() {
-		return (URI) bs.getValue(VAR_SEMAPHORE);
-	}
-
-	@Override
-	public URI getRoute() {
-		return (URI) bs.getValue(VAR_ROUTE);
-	}
-
-	@Override
-	public URI getSwP() {
-		return (URI) bs.getValue(VAR_SWP);
-	}
-
-	@Override
-	public URI getSw() {
-		return (URI) bs.getValue(VAR_SW);
-	}
-
-	public Value getPosition() {
-		return bs.getValue(VAR_POSITION);
-	}
-
-	public Value getCurrentPosition() {
-		return bs.getValue(VAR_CURRENTPOSITION);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/operations/SesameModelOperationFactory.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/operations/SesameModelOperationFactory.java
deleted file mode 100644
index 30e675d27696bbc3abbfeb2e8e8fd1c67b31c154..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/operations/SesameModelOperationFactory.java
+++ /dev/null
@@ -1,205 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sesame.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesamePosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesamePosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.queries.SesameQuery;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject.SesameTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject.SesameTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject.SesameTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject.SesameTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject.SesameTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject.SesameTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair.SesameTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair.SesameTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair.SesameTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair.SesameTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair.SesameTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair.SesameTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class SesameModelOperationFactory<TSesameDriver extends SesameDriver>
-		extends ModelOperationFactory<SesameMatch, TSesameDriver> {
-
-	@Override
-	public ModelOperation<? extends SesameMatch, TSesameDriver> createOperation(final RailwayOperation operationEnum,
-			final String workspaceDir, final TSesameDriver driver) throws Exception {
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final SesameQuery<SesameConnectedSegmentsMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final ModelOperation<SesameConnectedSegmentsMatch, TSesameDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final SesameQuery<SesameConnectedSegmentsInjectMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.CONNECTEDSEGMENTS_INJECT);
-			final SesameTransformation<SesameConnectedSegmentsInjectMatch, TSesameDriver> transformation = new SesameTransformationInjectConnectedSegments<>(
-					driver);
-			final ModelOperation<SesameConnectedSegmentsInjectMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final SesameQuery<SesameConnectedSegmentsMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final SesameTransformation<SesameConnectedSegmentsMatch, TSesameDriver> transformation = new SesameTransformationRepairConnectedSegments<>(
-					driver);
-			final ModelOperation<SesameConnectedSegmentsMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// PosLength
-		case POSLENGTH: {
-			final SesameQuery<SesamePosLengthMatch, TSesameDriver> query = SesameQuery.create(driver, workspaceDir,
-					RailwayQuery.POSLENGTH);
-			final ModelOperation<SesamePosLengthMatch, TSesameDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final SesameQuery<SesamePosLengthInjectMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.POSLENGTH_INJECT);
-			final SesameTransformation<SesamePosLengthInjectMatch, TSesameDriver> transformation = new SesameTransformationInjectPosLength<>(
-					driver);
-			final ModelOperation<SesamePosLengthInjectMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final SesameQuery<SesamePosLengthMatch, TSesameDriver> query = SesameQuery.create(driver, workspaceDir,
-					RailwayQuery.POSLENGTH);
-			final SesameTransformation<SesamePosLengthMatch, TSesameDriver> transformation = new SesameTransformationRepairPosLength<>(
-					driver);
-			final ModelOperation<SesamePosLengthMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// RouteSensor
-		case ROUTESENSOR: {
-			final SesameQuery<SesameRouteSensorMatch, TSesameDriver> query = SesameQuery.create(driver, workspaceDir,
-					RailwayQuery.ROUTESENSOR);
-			final ModelOperation<SesameRouteSensorMatch, TSesameDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final SesameQuery<SesameRouteSensorInjectMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.ROUTESENSOR_INJECT);
-			final SesameTransformation<SesameRouteSensorInjectMatch, TSesameDriver> transformation = new SesameTransformationInjectRouteSensor<>(
-					driver);
-			final ModelOperation<SesameRouteSensorInjectMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final SesameQuery<SesameRouteSensorMatch, TSesameDriver> query = SesameQuery.create(driver, workspaceDir,
-					RailwayQuery.ROUTESENSOR);
-			final SesameTransformation<SesameRouteSensorMatch, TSesameDriver> transformation = new SesameTransformationRepairRouteSensor<>(
-					driver);
-			final ModelOperation<SesameRouteSensorMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final SesameQuery<SesameSemaphoreNeighborMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final ModelOperation<SesameSemaphoreNeighborMatch, TSesameDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final SesameQuery<SesameSemaphoreNeighborInjectMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR_INJECT);
-			final SesameTransformation<SesameSemaphoreNeighborInjectMatch, TSesameDriver> transformation = new SesameTransformationInjectSemaphoreNeighbor<>(
-					driver);
-			final ModelOperation<SesameSemaphoreNeighborInjectMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final SesameQuery<SesameSemaphoreNeighborMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final SesameTransformation<SesameSemaphoreNeighborMatch, TSesameDriver> transformation = new SesameTransformationRepairSemaphoreNeighbor<>(
-					driver);
-			final ModelOperation<SesameSemaphoreNeighborMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// SwitchMonitored
-		case SWITCHMONITORED: {
-			final SesameQuery<SesameSwitchMonitoredMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final ModelOperation<SesameSwitchMonitoredMatch, TSesameDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final SesameQuery<SesameSwitchMonitoredInjectMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SWITCHMONITORED_INJECT);
-			final SesameTransformation<SesameSwitchMonitoredInjectMatch, TSesameDriver> transformation = new SesameTransformationInjectSwitchMonitored<>(
-					driver);
-			final ModelOperation<SesameSwitchMonitoredInjectMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final SesameQuery<SesameSwitchMonitoredMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final SesameTransformation<SesameSwitchMonitoredMatch, TSesameDriver> transformation = new SesameTransformationRepairSwitchMonitored<>(
-					driver);
-			final ModelOperation<SesameSwitchMonitoredMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		// SwitchSet
-		case SWITCHSET: {
-			final SesameQuery<SesameSwitchSetMatch, TSesameDriver> query = SesameQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHSET);
-			final ModelOperation<SesameSwitchSetMatch, TSesameDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final SesameQuery<SesameSwitchSetInjectMatch, TSesameDriver> query = SesameQuery.create(driver,
-					workspaceDir, RailwayQuery.SWITCHSET_INJECT);
-			final SesameTransformation<SesameSwitchSetInjectMatch, TSesameDriver> transformation = new SesameTransformationInjectSwitchSet<>(
-					driver);
-			final ModelOperation<SesameSwitchSetInjectMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final SesameQuery<SesameSwitchSetMatch, TSesameDriver> query = SesameQuery.create(driver, workspaceDir,
-					RailwayQuery.SWITCHSET);
-			final SesameTransformation<SesameSwitchSetMatch, TSesameDriver> transformation = new SesameTransformationRepairSwitchSet<>(
-					driver);
-			final ModelOperation<SesameSwitchSetMatch, TSesameDriver> operation = ModelOperation.of(query,
-					transformation);
-			return operation;
-		}
-
-		default:
-			throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/queries/SesameQuery.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/queries/SesameQuery.java
deleted file mode 100644
index 4da69264d5cb834b7520184db83ce0e11dcc3084..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/queries/SesameQuery.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.queries;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-
-import org.apache.commons.io.FileUtils;
-import org.openrdf.query.MalformedQueryException;
-import org.openrdf.query.QueryEvaluationException;
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.rdf.queries.RdfModelQuery;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class SesameQuery<TPatternMatch, TSesameDriver extends SesameDriver>
-		extends RdfModelQuery<TPatternMatch, TSesameDriver> {
-
-	protected final String queryDefinition;
-
-	public SesameQuery(final TSesameDriver driver, final String workspaceDir, final RailwayQuery query)
-			throws IOException {
-		super(driver, workspaceDir, query);
-		this.queryDefinition = FileUtils.readFileToString(new File(queryPath));
-	}
-
-	public static <TPatternMatch, TSesameDriver extends SesameDriver> SesameQuery<TPatternMatch, TSesameDriver> create(
-			final TSesameDriver driver, final String workspaceDir, final RailwayQuery query) throws IOException {
-		return new SesameQuery<TPatternMatch, TSesameDriver>(driver, workspaceDir, query);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TPatternMatch> evaluate()
-			throws RepositoryException, MalformedQueryException, QueryEvaluationException {
-		return (Collection<TPatternMatch>) driver.runQuery(query, queryDefinition);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/SesameTransformation.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/SesameTransformation.java
deleted file mode 100644
index f5ea9f16a02304de3308cdb7e9c142c0d0b2c362..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/SesameTransformation.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameMatch;
-
-public abstract class SesameTransformation<TSesameMatch extends SesameMatch, TSesameDriver extends SesameDriver>
-		extends ModelTransformation<TSesameMatch, TSesameDriver> {
-
-	protected SesameTransformation(final TSesameDriver driver) {
-		super(driver);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectConnectedSegments.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectConnectedSegments.java
deleted file mode 100644
index ec8c9869853f01ad95beaa43e0792d458df749aa..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CONNECTS_TO;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SEGMENT;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Literal;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.vocabulary.RDF;
-import org.openrdf.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-
-public class SesameTransformationInjectConnectedSegments<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameConnectedSegmentsInjectMatch, TSesameDriver> {
-
-	public SesameTransformationInjectConnectedSegments(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameConnectedSegmentsInjectMatch> matches) throws Exception {
-		final RepositoryConnection connection = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI length = vf.createURI(BASE_PREFIX + LENGTH);
-		final URI connectsTo = vf.createURI(BASE_PREFIX + CONNECTS_TO);
-		final URI monitoredBy = vf.createURI(BASE_PREFIX + MONITORED_BY);
-		final URI segmentType = vf.createURI(BASE_PREFIX + SEGMENT);
-		final Literal lengthLiteral = vf.createLiteral(TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH);
-
-		for (final SesameConnectedSegmentsInjectMatch csim : matches) {
-			// create (segment2) node
-			final Long newVertexId = driver.generateNewVertexId();
-			final URI segment2 = vf.createURI(BASE_PREFIX + ID_PREFIX + newVertexId);
-			connection.add(segment2, RDF.TYPE, segmentType);
-			connection.add(segment2, length, lengthLiteral);
-
-			// (segment1)-[:connectsTo]->(segment2)
-			connection.add(csim.getSegment1(), connectsTo, segment2);
-			// (segment2)-[:connectsTo]->(segment3)
-			connection.add(segment2, connectsTo, csim.getSegment3());
-
-			// (segment2)-[:monitoredBy]->(sensor)
-			connection.add(segment2, monitoredBy, csim.getSensor());
-
-			// remove (segment1)-[:connectsTo]->(segment3)
-			connection.remove(csim.getSegment1(), connectsTo, csim.getSegment3());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectPosLength.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectPosLength.java
deleted file mode 100644
index 6e3269f407033f3527706e02e52c506831e61c81..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectPosLength.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Literal;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesamePosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class SesameTransformationInjectPosLength<TSesameDriver extends SesameDriver> extends SesameTransformation<SesamePosLengthInjectMatch, TSesameDriver> {
-
-	public SesameTransformationInjectPosLength(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesamePosLengthInjectMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI typeURI = vf.createURI(BASE_PREFIX + ModelConstants.LENGTH);
-		final Literal zeroLiteral = vf.createLiteral(0);
-
-		for (final SesamePosLengthInjectMatch match : matches) {
-			final URI segment = match.getSegment();
-
-			final RepositoryResult<Statement> statementsToRemove = con.getStatements(segment, typeURI, null, true);
-			con.remove(statementsToRemove);
-
-			con.add(segment, typeURI, zeroLiteral);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectRouteSensor.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectRouteSensor.java
deleted file mode 100644
index 1f6c218ee67d7a2667fb7346e949c62ac8b93a31..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class SesameTransformationInjectRouteSensor<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameRouteSensorInjectMatch, TSesameDriver> {
-
-	public SesameTransformationInjectRouteSensor(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameRouteSensorInjectMatch> matches) throws RepositoryException {
-		final RepositoryConnection connection = driver.getConnection();
-		final ValueFactory vf = connection.getValueFactory();
-		
-		final List<Statement> statementsToRemove = new ArrayList<>(matches.size());
-		final URI requires = vf.createURI(BASE_PREFIX + ModelConstants.REQUIRES);				
-		for (final SesameRouteSensorInjectMatch m : matches) {
-			final Statement statement = vf.createStatement(m.getRoute(), requires, m.getSensor());
-			statementsToRemove.add(statement);
-		}
-		connection.remove(statementsToRemove);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 8b5859c9ade3854e589697fd6b508bdd8e7d7bf2..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject;
-
-import java.util.Collection;
-
-import org.openrdf.model.URI;
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-import hu.bme.mit.trainbenchmark.rdf.RdfConstants;
-
-public class SesameTransformationInjectSemaphoreNeighbor<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameSemaphoreNeighborInjectMatch, TSesameDriver> {
-
-	public SesameTransformationInjectSemaphoreNeighbor(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameSemaphoreNeighborInjectMatch> matches) throws RepositoryException {
-		final URI entry = driver.getValueFactory().createURI(RdfConstants.BASE_PREFIX + ModelConstants.ENTRY);
-
-		for (SesameSemaphoreNeighborInjectMatch match : matches) {
-			driver.getConnection().remove(match.getRoute(), entry, match.getSemaphore());
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSwitchMonitored.java
deleted file mode 100644
index cbdaaf8ffa66001456a59417d0e0564ad9e1ed99..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.openrdf.model.URI;
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.constants.ModelConstants;
-
-public class SesameTransformationInjectSwitchMonitored<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameSwitchMonitoredInjectMatch, TSesameDriver> {
-
-	public SesameTransformationInjectSwitchMonitored(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameSwitchMonitoredInjectMatch> matches) throws RepositoryException {
-		final List<URI> switches = matches.stream().map(it -> it.getSw()).collect(Collectors.toList());
-		driver.deleteOutgoingEdges(switches, ModelConstants.SWITCH, ModelConstants.MONITORED_BY);
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSwitchSet.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSwitchSet.java
deleted file mode 100644
index 53398495d001490c5256650c59eee35f05ea0c6d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/inject/SesameTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.inject;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-import hu.bme.mit.trainbenchmark.constants.Position;
-import hu.bme.mit.trainbenchmark.rdf.RdfHelper;
-
-public class SesameTransformationInjectSwitchSet<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameSwitchSetInjectMatch, TSesameDriver> {
-
-	public SesameTransformationInjectSwitchSet(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameSwitchSetInjectMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI currentPositionProperty = vf.createURI(BASE_PREFIX + CURRENTPOSITION);
-
-		for (final SesameSwitchSetInjectMatch match : matches) {
-			final URI sw = match.getSw();
-			final RepositoryResult<Statement> statements = con.getStatements(sw, currentPositionProperty, null, true);
-			if (!statements.hasNext()) {
-				continue;
-			}
-
-			final Statement oldStatement = statements.next();
-
-			// delete old statement
-			con.remove(oldStatement);
-
-			// get next enum value
-			final URI currentPositionURI = (URI) oldStatement.getObject();
-			final String currentPositionRDFString = currentPositionURI.getLocalName();
-			final String currentPositionString = RdfHelper.removePrefix(Position.class, currentPositionRDFString);
-			final Position currentPosition = Position.valueOf(currentPositionString);
-			final Position newCurrentPosition = Position.values()[(currentPosition.ordinal() + 1) % Position.values().length];
-			final String newCurrentPositionString = RdfHelper.addEnumPrefix(newCurrentPosition);
-			final URI newCurrentPositionUri = vf.createURI(BASE_PREFIX + newCurrentPositionString);
-
-			// set new value
-			con.add(sw, currentPositionProperty, newCurrentPositionUri);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairConnectedSegments.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairConnectedSegments.java
deleted file mode 100644
index 69f1cdce987e833c219b6ab5d138c3be3e979091..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CONNECTS_TO;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-
-public class SesameTransformationRepairConnectedSegments<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameConnectedSegmentsMatch, TSesameDriver> {
-
-	public SesameTransformationRepairConnectedSegments(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameConnectedSegmentsMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI connectsTo = vf.createURI(BASE_PREFIX + CONNECTS_TO);
-		for (final SesameConnectedSegmentsMatch match : matches) {
-			// delete segment2 by removing all (segment2, _, _) and (_, _, segment2) triples
-			final RepositoryResult<Statement> outgoingEdges = con.getStatements(match.getSegment2(), null, null, true);
-			while (outgoingEdges.hasNext()) {
-				con.remove(outgoingEdges.next());
-			}
-			final RepositoryResult<Statement> incomingEdges = con.getStatements(null, null, match.getSegment2(), true);
-			while (incomingEdges.hasNext()) {
-				con.remove(incomingEdges.next());
-			}
-
-			// insert (segment1)-[:connectsTo]->(segment3) edge
-			con.add(match.getSegment1(), connectsTo, match.getSegment3());
-		}
-	}
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairPosLength.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairPosLength.java
deleted file mode 100644
index 3056ef8815b47e5d86573541f66e057dcc16ea53..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairPosLength.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.LENGTH;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Literal;
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesamePosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-
-public class SesameTransformationRepairPosLength<TSesameDriver extends SesameDriver> extends SesameTransformation<SesamePosLengthMatch, TSesameDriver> {
-
-	public SesameTransformationRepairPosLength(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesamePosLengthMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI lengthProperty = vf.createURI(BASE_PREFIX + LENGTH);
-
-		for (final SesamePosLengthMatch match : matches) {
-			final Resource segment = match.getSegment();
-			final Value length = match.getLength();
-
-			final RepositoryResult<Statement> statementsToRemove = con.getStatements(segment, lengthProperty, length, true);
-			while (statementsToRemove.hasNext()) {
-				final Statement oldStatement = statementsToRemove.next();
-				con.remove(oldStatement);
-			}
-
-			final Integer lengthInteger = new Integer(length.stringValue());
-			final Integer newLengthInteger = -lengthInteger + 1;
-			final Literal newLength = vf.createLiteral(newLengthInteger);
-			final Statement newStatement = vf.createStatement(segment, lengthProperty, newLength);
-			con.add(newStatement);
-		}
-	}
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairRouteSensor.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairRouteSensor.java
deleted file mode 100644
index 7b11353142051ec85f59d792c1b96bde0111cbe1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.REQUIRES;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Resource;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-
-public class SesameTransformationRepairRouteSensor<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameRouteSensorMatch, TSesameDriver> {
-
-	public SesameTransformationRepairRouteSensor(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameRouteSensorMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI requires = vf.createURI(BASE_PREFIX + REQUIRES);
-
-		for (final SesameRouteSensorMatch match : matches) {
-			final Resource route = match.getRoute();
-			final Resource sensor = match.getSensor();
-
-			con.add(route, requires, sensor);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 8199249713330b9f334a60b284cd41bdcc1af05d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.ENTRY;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Resource;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-
-public class SesameTransformationRepairSemaphoreNeighbor<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameSemaphoreNeighborMatch, TSesameDriver> {
-
-	public SesameTransformationRepairSemaphoreNeighbor(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameSemaphoreNeighborMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI entry = vf.createURI(BASE_PREFIX + ENTRY);
-
-		for (final SesameSemaphoreNeighborMatch match : matches) {
-			final Resource route2 = match.getRoute2();
-			final Resource semaphore = match.getSemaphore();
-			con.add(route2, entry, semaphore);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 1a8978dd55da5930d9c9be79f271e095d52f83d8..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.MONITORED_BY;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.TRACKELEMENT;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.ID_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Resource;
-import org.openrdf.model.URI;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.model.vocabulary.RDF;
-import org.openrdf.repository.RepositoryConnection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-
-public class SesameTransformationRepairSwitchMonitored<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameSwitchMonitoredMatch, TSesameDriver> {
-
-	public SesameTransformationRepairSwitchMonitored(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameSwitchMonitoredMatch> matches) throws Exception {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI sensorEdgeType = vf.createURI(BASE_PREFIX + MONITORED_BY);
-		final URI sensorType = vf.createURI(BASE_PREFIX + SENSOR);
-		final URI trackElementType = vf.createURI(BASE_PREFIX + TRACKELEMENT);
-
-		for (final SesameSwitchMonitoredMatch match : matches) {
-			final Resource sw = match.getSw();
-
-			final URI sensor = vf.createURI(BASE_PREFIX + ID_PREFIX + driver.generateNewVertexId());
-
-			// set vertex type
-			con.add(sensor, RDF.TYPE, sensorType);
-
-			// insert the supertype as well
-			if (!driver.isInferencing()) {
-				con.add(sensor, RDF.TYPE, trackElementType);
-			}
-
-			// insert edge
-			con.add(sw, sensorEdgeType, sensor);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSwitchSet.java b/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSwitchSet.java
deleted file mode 100644
index 0ad3b690ad96325cec2d185781dc1e845e1f8126..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sesame/transformations/repair/SesameTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.repair;
-
-import static hu.bme.mit.trainbenchmark.constants.ModelConstants.CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.rdf.RdfConstants.BASE_PREFIX;
-
-import java.util.Collection;
-
-import org.openrdf.model.Resource;
-import org.openrdf.model.Statement;
-import org.openrdf.model.URI;
-import org.openrdf.model.Value;
-import org.openrdf.model.ValueFactory;
-import org.openrdf.repository.RepositoryConnection;
-import org.openrdf.repository.RepositoryException;
-import org.openrdf.repository.RepositoryResult;
-
-import hu.bme.mit.trainbenchmark.benchmark.sesame.driver.SesameDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.matches.SesameSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.transformations.SesameTransformation;
-
-public class SesameTransformationRepairSwitchSet<TSesameDriver extends SesameDriver> extends SesameTransformation<SesameSwitchSetMatch, TSesameDriver> {
-
-	public SesameTransformationRepairSwitchSet(final TSesameDriver driver) {
-		super(driver);
-	}
-
-	@Override
-	public void activate(final Collection<SesameSwitchSetMatch> matches) throws RepositoryException {
-		final RepositoryConnection con = driver.getConnection();
-		final ValueFactory vf = driver.getValueFactory();
-
-		final URI currentPositionProperty = vf.createURI(BASE_PREFIX + CURRENTPOSITION);
-
-		for (final SesameSwitchSetMatch match : matches) {
-			final Resource sw = match.getSw();
-			final Value position = match.getPosition();
-			final Value currentPosition = match.getCurrentPosition();
-
-			final RepositoryResult<Statement> statementsToRemove = con.getStatements(sw, currentPositionProperty, currentPosition, false);
-			while (statementsToRemove.hasNext()) {
-				con.remove(statementsToRemove.next());
-			}
-
-			con.add(sw, currentPositionProperty, position);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/main/resources/.gitignore b/trainbenchmark-tool-sesame/src/main/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-sesame/src/test/java/hu/bme/mit/trainbenchmark/benchmark/sesame/test/SesameTest.java b/trainbenchmark-tool-sesame/src/test/java/hu/bme/mit/trainbenchmark/benchmark/sesame/test/SesameTest.java
deleted file mode 100644
index d924bc34863c7996af5e10312f6fd31ee266699a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sesame/src/test/java/hu/bme/mit/trainbenchmark/benchmark/sesame/test/SesameTest.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sesame.test;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.rdf.tests.RdfTest;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.SesameBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.config.SesameBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.sesame.config.SesameBenchmarkConfigBuilder;
-
-@RunWith(Parameterized.class)
-public class SesameTest extends RdfTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final SesameBenchmarkConfig bc = new SesameBenchmarkConfigBuilder().setConfigBase(bcb)
-				.setInferencing(inferencing).createConfig();
-		final SesameBenchmarkScenario scenario = new SesameBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}
diff --git a/trainbenchmark-tool-sesame/src/test/resources/.gitignore b/trainbenchmark-tool-sesame/src/test/resources/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/trainbenchmark-tool-sql/build.gradle b/trainbenchmark-tool-sql/build.gradle
deleted file mode 100644
index 20c94f3ef344a77b5530725414509f497ff35019..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/build.gradle
+++ /dev/null
@@ -1,4 +0,0 @@
-dependencies {
-  compile project(':trainbenchmark-tool')
-  compile project(':trainbenchmark-format-sql')
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/driver/SqlDriver.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/driver/SqlDriver.java
deleted file mode 100644
index 88dce96b6e199a90bd7d643e97847bcb786d16bf..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/driver/SqlDriver.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.driver;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.Driver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public abstract class SqlDriver extends Driver {
-
-	protected static final String COLLECT_VERTICES = "SELECT * FROM `%s`;";
-	
-	protected String queryDefinition;
-	protected Connection connection;
-	protected PreparedStatement preparedQuery;
-
-	public SqlDriver() {
-		super();
-	}
-
-	public Collection<SqlMatch> runStatement(final RailwayQuery query, final PreparedStatement statement) throws SQLException {
-		final Collection<SqlMatch> results = new ArrayList<>();
-
-		try (ResultSet rs = statement.executeQuery()) {
-			while (rs.next()) {
-				final SqlMatch match = SqlMatch.createMatch(query, rs);
-				results.add(match);
-			}
-		}
-
-		return results;
-	}
-
-	public Connection getConnection() {
-		return connection;
-	}
-
-	public String getResourceDirectory() {
-		return "/trainbenchmark-tool-sql/src/main/resources/";
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlConnectedSegmentsInjectMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlConnectedSegmentsInjectMatch.java
deleted file mode 100644
index 81a1b591568c265b38ef5a136fdbe1ecfa852531..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlConnectedSegmentsInjectMatch.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-
-public class SqlConnectedSegmentsInjectMatch extends SqlMatch implements ConnectedSegmentsInjectMatch {
-
-	public SqlConnectedSegmentsInjectMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(QueryConstants.VAR_SENSOR), rs.getLong(QueryConstants.VAR_SEGMENT1), rs.getLong(QueryConstants.VAR_SEGMENT3) };
-	}
-
-	@Override
-	public Long getSensor() {
-		return match[0];
-	}
-
-	@Override
-	public Long getSegment1() {
-		return match[1];
-	}
-
-	@Override
-	public Long getSegment3() {
-		return match[2];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlConnectedSegmentsMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlConnectedSegmentsMatch.java
deleted file mode 100644
index 87191161ba62b8190bca0e18fdb4033526fbd995..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlConnectedSegmentsMatch.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.ConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.constants.QueryConstants;
-
-public class SqlConnectedSegmentsMatch extends SqlMatch implements ConnectedSegmentsMatch {
-
-	public SqlConnectedSegmentsMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(QueryConstants.VAR_SENSOR), //
-				rs.getLong(QueryConstants.VAR_SEGMENT1), rs.getLong(QueryConstants.VAR_SEGMENT2), rs.getLong(QueryConstants.VAR_SEGMENT3),
-				rs.getLong(QueryConstants.VAR_SEGMENT4), rs.getLong(QueryConstants.VAR_SEGMENT5), rs.getLong(QueryConstants.VAR_SEGMENT6) };
-	}
-
-	@Override
-	public Long getSensor() {
-		return match[0];
-	}
-
-	@Override
-	public Long getSegment1() {
-		return match[1];
-	}
-
-	@Override
-	public Long getSegment2() {
-		return match[2];
-	}
-
-	@Override
-	public Long getSegment3() {
-		return match[3];
-	}
-
-	@Override
-	public Long getSegment4() {
-		return match[4];
-	}
-
-	@Override
-	public Long getSegment5() {
-		return match[5];
-	}
-
-	@Override
-	public Long getSegment6() {
-		return match[6];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlMatch.java
deleted file mode 100644
index d7e37446a164800344954757452513f13feda17f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlMatch.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.LongMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-/**
- * Due to the iterator-like nature of the java.sql.ResultSet interface, we cannot store the ResultSet and have to copy its contents. This is
- * implemented for each match in the subclasses of the SqlMatch class.
- * 
- * @author szarnyasg
- * 
- */
-public abstract class SqlMatch extends LongMatch {
-
-	public static SqlMatch createMatch(final RailwayQuery query, final ResultSet rs) throws SQLException {
-		switch (query) {
-		case CONNECTEDSEGMENTS:
-			return new SqlConnectedSegmentsMatch(rs);
-		case CONNECTEDSEGMENTS_INJECT:
-			return new SqlConnectedSegmentsInjectMatch(rs);
-		case POSLENGTH:
-			return new SqlPosLengthMatch(rs);
-		case POSLENGTH_INJECT:
-			return new SqlPosLengthInjectMatch(rs);
-		case ROUTESENSOR:
-			return new SqlRouteSensorMatch(rs);
-		case ROUTESENSOR_INJECT:
-			return new SqlRouteSensorInjectMatch(rs);
-		case SEMAPHORENEIGHBOR:
-			return new SqlSemaphoreNeighborMatch(rs);
-		case SEMAPHORENEIGHBOR_INJECT:
-			return new SqlSemaphoreNeighborInjectMatch(rs);
-		case SWITCHMONITORED:
-			return new SqlSwitchMonitoredMatch(rs);
-		case SWITCHMONITORED_INJECT:
-			return new SqlSwitchMonitoredInjectMatch(rs);
-		case SWITCHSET:
-			return new SqlSwitchSetMatch(rs);
-		case SWITCHSET_INJECT:
-			return new SqlSwitchSetInjectMatch(rs);
-		default:
-			throw new UnsupportedOperationException("Query not supported: " + query);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlPosLengthInjectMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlPosLengthInjectMatch.java
deleted file mode 100644
index 3fe94daddfb36b588d991fc5cf11b61cb7b6b584..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlPosLengthInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthInjectMatch;
-
-public class SqlPosLengthInjectMatch extends SqlMatch implements PosLengthInjectMatch {
-
-	public SqlPosLengthInjectMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_SEGMENT) };
-	}
-
-	@Override
-	public Long getSegment() {
-		return match[0];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlPosLengthMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlPosLengthMatch.java
deleted file mode 100644
index 6f5378432ae04a20b1d5758799db83f677d13c42..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlPosLengthMatch.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_LENGTH;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEGMENT;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.PosLengthMatch;
-
-public class SqlPosLengthMatch extends SqlMatch implements PosLengthMatch {
-
-	public SqlPosLengthMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_SEGMENT), rs.getLong(VAR_LENGTH) };
-	}
-
-	@Override
-	public Long getSegment() {
-		return match[0];
-	}
-
-	public Long getLength() {
-		return match[1];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlRouteSensorInjectMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlRouteSensorInjectMatch.java
deleted file mode 100644
index 058e1dd43ee48e7c79827fcffc503d1974a74edb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlRouteSensorInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorInjectMatch;
-
-public class SqlRouteSensorInjectMatch extends SqlMatch implements RouteSensorInjectMatch {
-
-	public SqlRouteSensorInjectMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_ROUTE), rs.getLong(VAR_SENSOR) };
-	}
-
-	@Override
-	public Long getRoute() {
-		return match[0];
-	}
-
-	@Override
-	public Long getSensor() {
-		return match[1];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlRouteSensorMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlRouteSensorMatch.java
deleted file mode 100644
index 0099f58979cfadb3b858c3a2728cb288874aa60b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlRouteSensorMatch.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.RouteSensorMatch;
-
-public class SqlRouteSensorMatch extends SqlMatch implements RouteSensorMatch {
-
-	public SqlRouteSensorMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_ROUTE), rs.getLong(VAR_SENSOR), rs.getLong(VAR_SWP), rs.getLong(VAR_SW) };
-	}
-
-	@Override
-	public Long getRoute() {
-		return match[0];
-	}
-
-	@Override
-	public Long getSensor() {
-		return match[1];
-	}
-
-	@Override
-	public Long getSwP() {
-		return match[2];
-	}
-
-	@Override
-	public Long getSw() {
-		return match[3];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSemaphoreNeighborInjectMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSemaphoreNeighborInjectMatch.java
deleted file mode 100644
index 7d2ea43aaacfa949f120f51604a9e340498d9014..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSemaphoreNeighborInjectMatch.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborInjectMatch;
-
-public class SqlSemaphoreNeighborInjectMatch extends SqlMatch implements SemaphoreNeighborInjectMatch {
-
-	public SqlSemaphoreNeighborInjectMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_ROUTE), rs.getLong(VAR_SEMAPHORE) };
-	}
-
-	@Override
-	public Long getRoute() {
-		return match[0];
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return match[1];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSemaphoreNeighborMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSemaphoreNeighborMatch.java
deleted file mode 100644
index 3748a427e3025e9d59efa06fd4b2c3ee59f85f59..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSemaphoreNeighborMatch.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SENSOR2;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE1;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_TE2;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SemaphoreNeighborMatch;
-
-public class SqlSemaphoreNeighborMatch extends SqlMatch implements SemaphoreNeighborMatch {
-
-	public SqlSemaphoreNeighborMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_SEMAPHORE), rs.getLong(VAR_ROUTE1), rs.getLong(VAR_ROUTE2), rs.getLong(VAR_SENSOR1),
-				rs.getLong(VAR_SENSOR2), rs.getLong(VAR_TE1), rs.getLong(VAR_TE2), };
-	}
-
-	public Long getSemaphore() {
-		return match[0];
-	}
-
-	public Long getRoute1() {
-		return match[1];
-	}
-
-	public Long getRoute2() {
-		return match[2];
-	}
-
-	public Long getSensor1() {
-		return match[3];
-	}
-
-	public Long getSensor2() {
-		return match[4];
-	}
-
-	public Long getTe1() {
-		return match[5];
-	}
-
-	public Long getTe2() {
-		return match[6];
-	}
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchMonitoredInjectMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchMonitoredInjectMatch.java
deleted file mode 100644
index 109be582decc9cc227f37ec72685ab15bed02f49..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchMonitoredInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredInjectMatch;
-
-public class SqlSwitchMonitoredInjectMatch extends SqlMatch implements SwitchMonitoredInjectMatch {
-
-	public SqlSwitchMonitoredInjectMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_SW) };
-	}
-
-	@Override
-	public Long getSw() {
-		return match[0];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchMonitoredMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchMonitoredMatch.java
deleted file mode 100644
index f7acd078a2e4855e95f254ccf80d98e2d4812c35..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchMonitoredMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchMonitoredMatch;
-
-public class SqlSwitchMonitoredMatch extends SqlMatch implements SwitchMonitoredMatch {
-
-	public SqlSwitchMonitoredMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_SW) };
-	}
-
-	@Override
-	public Long getSw() {
-		return match[0];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchSetInjectMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchSetInjectMatch.java
deleted file mode 100644
index 080ce854a2810d8d1743976bf6b41f9cdd927182..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchSetInjectMatch.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetInjectMatch;
-
-public class SqlSwitchSetInjectMatch extends SqlMatch implements SwitchSetInjectMatch {
-
-	public SqlSwitchSetInjectMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] {rs.getLong(VAR_SW) };
-	}
-
-	@Override
-	public Long getSw() {
-		return match[0];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchSetMatch.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchSetMatch.java
deleted file mode 100644
index fdbe9330d4bdd7781e5a827289c5e9c1ecb00f95..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/matches/SqlSwitchSetMatch.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.matches;
-
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_CURRENTPOSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_POSITION;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_ROUTE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SEMAPHORE;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SW;
-import static hu.bme.mit.trainbenchmark.constants.QueryConstants.VAR_SWP;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import hu.bme.mit.trainbenchmark.benchmark.matches.SwitchSetMatch;
-
-public class SqlSwitchSetMatch extends SqlMatch implements SwitchSetMatch {
-
-	public SqlSwitchSetMatch(final ResultSet rs) throws SQLException {
-		match = new Long[] { rs.getLong(VAR_SEMAPHORE), rs.getLong(VAR_ROUTE), rs.getLong(VAR_SWP), rs.getLong(VAR_SW),
-				rs.getLong(VAR_POSITION), rs.getLong(VAR_CURRENTPOSITION) };
-	}
-
-	@Override
-	public Long getSemaphore() {
-		return match[0];
-	}
-
-	@Override
-	public Long getRoute() {
-		return match[1];
-	}
-
-	@Override
-	public Long getSwP() {
-		return match[2];
-	}
-
-	@Override
-	public Long getSw() {
-		return match[3];
-	}
-
-	public Long getPosition() {
-		return match[4];
-	}
-
-	public Long getCurrentPosition() {
-		return match[5];
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/queries/SqlQuery.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/queries/SqlQuery.java
deleted file mode 100644
index 93a65c792aedd26db2e9b4ecc467965e528fc6c6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/queries/SqlQuery.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.queries;
-
-import java.io.File;
-import java.io.IOException;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelQuery;
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class SqlQuery<TSqlMatch extends SqlMatch, TSqlDriver extends SqlDriver> extends ModelQuery<TSqlMatch, TSqlDriver> {
-
-	protected final String queryDefinition; 
-	protected PreparedStatement statement;
-	
-	public SqlQuery(final TSqlDriver driver, final String workspaceDir, final RailwayQuery query) throws IOException, SQLException {
-		super(query, driver);
-
-		final String queryPath = workspaceDir + driver.getResourceDirectory() + "queries/" + query + ".sql";
-		queryDefinition = FileUtils.readFileToString(new File(queryPath));
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public Collection<TSqlMatch> evaluate() throws SQLException {
-		if (statement == null) {
-			statement = driver.getConnection().prepareStatement(queryDefinition);
-		}
-		return (Collection<TSqlMatch>) driver.runStatement(query, statement);
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/SqlTransformation.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/SqlTransformation.java
deleted file mode 100644
index 56805b2c1dbb18865d75bbe53cc42a9c7ee31a46..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/SqlTransformation.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations;
-
-import java.io.File;
-import java.io.IOException;
-import java.sql.PreparedStatement;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public abstract class SqlTransformation<TSqlMatch extends SqlMatch, TSqlDriver extends SqlDriver> extends ModelTransformation<TSqlMatch, TSqlDriver> {
-
-	protected PreparedStatement preparedUpdateStatement;
-	protected String updateQuery;
-
-	protected SqlTransformation(final TSqlDriver driver, final String workspaceDir, final RailwayOperation operation) throws IOException {
-		super(driver);
-
-		final String updatePath = workspaceDir + driver.getResourceDirectory() + "transformations/" + operation + "Rhs.sql";
-		this.updateQuery = FileUtils.readFileToString(new File(updatePath));
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectConnectedSegments.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectConnectedSegments.java
deleted file mode 100644
index d4ce5452f01597960806446e9307620d960e3177..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-
-public class SqlTransformationInjectConnectedSegments<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlConnectedSegmentsInjectMatch, TSqlDriver> {
-
-	public SqlTransformationInjectConnectedSegments(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.CONNECTEDSEGMENTS_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlConnectedSegmentsInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlConnectedSegmentsInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSensor());
-			preparedUpdateStatement.setLong(2, match.getSegment1());
-			preparedUpdateStatement.setLong(3, match.getSegment3());
-			preparedUpdateStatement.setLong(4, TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH);
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectPosLength.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectPosLength.java
deleted file mode 100644
index 0d59ecc05f5cb3fa3694133b9b32fc608495f5fd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectPosLength.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationInjectPosLength<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlPosLengthInjectMatch, TSqlDriver> {
-
-	public SqlTransformationInjectPosLength(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.POSLENGTH_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlPosLengthInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlPosLengthInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSegment());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectRouteSensor.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectRouteSensor.java
deleted file mode 100644
index f2aef60f61b76ed819f7008fdd05de403e9adea9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationInjectRouteSensor<TSqlDriver extends SqlDriver>
-		extends SqlTransformation<SqlRouteSensorInjectMatch, TSqlDriver> {
-
-	public SqlTransformationInjectRouteSensor(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.ROUTESENSOR_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlRouteSensorInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlRouteSensorInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getRoute());
-			preparedUpdateStatement.setLong(2, match.getSensor());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSemaphoreNeighbor.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSemaphoreNeighbor.java
deleted file mode 100644
index 52200b12079726cfe16abd868001d8a6cc19fc50..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSemaphoreNeighbor.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationInjectSemaphoreNeighbor<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlSemaphoreNeighborInjectMatch, TSqlDriver> {
-
-	public SqlTransformationInjectSemaphoreNeighbor(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SEMAPHORENEIGHBOR_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSemaphoreNeighborInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlSemaphoreNeighborInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getRoute());
-			preparedUpdateStatement.setLong(2, match.getSemaphore());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSwitchMonitored.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSwitchMonitored.java
deleted file mode 100644
index e703529efc192aff05c00f36d757362d29a66d29..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSwitchMonitored.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationInjectSwitchMonitored<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlSwitchMonitoredInjectMatch, TSqlDriver> {
-
-	public SqlTransformationInjectSwitchMonitored(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHMONITORED_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSwitchMonitoredInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlSwitchMonitoredInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSw());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSwitchSet.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSwitchSet.java
deleted file mode 100644
index 0acb42488577dea0cf78017119b693097eb1f269..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/inject/SqlTransformationInjectSwitchSet.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationInjectSwitchSet<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlSwitchSetInjectMatch, TSqlDriver> {
-
-	public SqlTransformationInjectSwitchSet(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHSET_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSwitchSetInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlSwitchSetInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSw());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairConnectedSegments.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairConnectedSegments.java
deleted file mode 100644
index a56ec89b2ca06734655bb27cc73d37ff3fde8e98..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationRepairConnectedSegments<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlConnectedSegmentsMatch, TSqlDriver> {
-
-	public SqlTransformationRepairConnectedSegments(final TSqlDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.CONNECTEDSEGMENTS_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlConnectedSegmentsMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-		
-		for (final SqlConnectedSegmentsMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSegment1());
-			preparedUpdateStatement.setLong(2, match.getSegment2());
-			preparedUpdateStatement.setLong(3, match.getSegment3());
-			preparedUpdateStatement.executeUpdate();			
-		}
-	}
-	
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairPosLength.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairPosLength.java
deleted file mode 100644
index 7e54432b02b97ae905b98c6f093a291a4fd393f9..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairPosLength.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationRepairPosLength<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlPosLengthMatch, TSqlDriver> {
-
-	public SqlTransformationRepairPosLength(final TSqlDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.POSLENGTH_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlPosLengthMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlPosLengthMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSegment());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairRouteSensor.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairRouteSensor.java
deleted file mode 100644
index 60128841772587f58b1b7bdb00548dd13e6550b5..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairRouteSensor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationRepairRouteSensor<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlRouteSensorMatch, TSqlDriver> {
-
-	public SqlTransformationRepairRouteSensor(final TSqlDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.ROUTESENSOR_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlRouteSensorMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlRouteSensorMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getRoute());
-			preparedUpdateStatement.setLong(2, match.getSensor());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSemaphoreNeighbor.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSemaphoreNeighbor.java
deleted file mode 100644
index 79e226ed7aaae22d283eb7ff52455a71712c0a02..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSemaphoreNeighbor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationRepairSemaphoreNeighbor<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlSemaphoreNeighborMatch, TSqlDriver> {
-
-	public SqlTransformationRepairSemaphoreNeighbor(final TSqlDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SEMAPHORENEIGHBOR_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSemaphoreNeighborMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlSemaphoreNeighborMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSemaphore());
-			preparedUpdateStatement.setLong(2, match.getRoute2());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSwitchMonitored.java
deleted file mode 100644
index a0810c849de209628d144001065b3a4da134aadd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationRepairSwitchMonitored<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlSwitchMonitoredMatch, TSqlDriver> {
-
-	public SqlTransformationRepairSwitchMonitored(final TSqlDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHMONITORED_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSwitchMonitoredMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlSwitchMonitoredMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSw());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSwitchSet.java b/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSwitchSet.java
deleted file mode 100644
index 1aeac17b28254b039d845db894f8a73f5d4727eb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sql/transformations/repair/SqlTransformationRepairSwitchSet.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SqlTransformationRepairSwitchSet<TSqlDriver extends SqlDriver> extends SqlTransformation<SqlSwitchSetMatch, TSqlDriver> {
-
-	public SqlTransformationRepairSwitchSet(final TSqlDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHSET_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSwitchSetMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(updateQuery);
-		}
-
-		for (final SqlSwitchSetMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getPosition());
-			preparedUpdateStatement.setLong(2, match.getSw());
-			preparedUpdateStatement.executeUpdate();
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/ConnectedSegments.sql b/trainbenchmark-tool-sql/src/main/resources/queries/ConnectedSegments.sql
deleted file mode 100644
index 295d676410c4b0961e46fa899362fe2092a3dec6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/ConnectedSegments.sql
+++ /dev/null
@@ -1,25 +0,0 @@
-SELECT DISTINCT
-    mb1.Sensor_id AS sensor,
-    ct1.TrackElement1_id AS segment1,
-    ct2.TrackElement1_id AS segment2,
-    ct3.TrackElement1_id AS segment3,
-    ct4.TrackElement1_id AS segment4,
-    ct5.TrackElement1_id AS segment5,
-    ct5.TrackElement2_id AS segment6
-FROM Segment
-INNER JOIN connectsTo as ct1 ON Segment.id = ct1.TrackElement1_id
-INNER JOIN connectsTo as ct2 ON ct1.TrackElement2_id = ct2.TrackElement1_id
-INNER JOIN connectsTo as ct3 ON ct2.TrackElement2_id = ct3.TrackElement1_id
-INNER JOIN connectsTo as ct4 ON ct3.TrackElement2_id = ct4.TrackElement1_id
-INNER JOIN connectsTo as ct5 ON ct4.TrackElement2_id = ct5.TrackElement1_id
-INNER JOIN monitoredBy as mb1 ON mb1.TrackElement_id = ct1.TrackElement1_id -- segment1
-INNER JOIN monitoredBy as mb2 ON mb2.TrackElement_id = ct2.TrackElement1_id -- segment2
-INNER JOIN monitoredBy as mb3 ON mb3.TrackElement_id = ct3.TrackElement1_id -- segment3
-INNER JOIN monitoredBy as mb4 ON mb4.TrackElement_id = ct4.TrackElement1_id -- segment4
-INNER JOIN monitoredBy as mb5 ON mb5.TrackElement_id = ct5.TrackElement1_id -- segment5
-INNER JOIN monitoredBy as mb6 ON mb6.TrackElement_id = ct5.TrackElement2_id -- segment6
-WHERE mb1.Sensor_id = mb2.Sensor_id
-  AND mb1.Sensor_id = mb3.Sensor_id
-  AND mb1.Sensor_id = mb4.Sensor_id
-  AND mb1.Sensor_id = mb5.Sensor_id
-  AND mb1.Sensor_id = mb6.Sensor_id;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/ConnectedSegmentsInject.sql b/trainbenchmark-tool-sql/src/main/resources/queries/ConnectedSegmentsInject.sql
deleted file mode 100644
index 2a36fa8234a13fea7d8d614f1efc930be5553335..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/ConnectedSegmentsInject.sql
+++ /dev/null
@@ -1,9 +0,0 @@
-SELECT DISTINCT
-    mb1.Sensor_id AS sensor,
-    ct.TrackElement1_id AS segment1,
-    ct.TrackElement2_id AS segment3
-FROM Segment
-INNER JOIN connectsTo as ct ON Segment.id = ct.TrackElement1_id
-INNER JOIN monitoredBy as mb1 ON mb1.TrackElement_id = ct.TrackElement1_id -- segment1
-INNER JOIN monitoredBy as mb2 ON mb2.TrackElement_id = ct.TrackElement2_id -- segment3
-WHERE mb1.Sensor_id = mb2.Sensor_id;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/PosLength.sql b/trainbenchmark-tool-sql/src/main/resources/queries/PosLength.sql
deleted file mode 100644
index 2a3dac092eca8e969c1ab7603f5b22706bf41f9c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/PosLength.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-SELECT
-	id AS segment,
-	length AS length
-FROM Segment
-WHERE length <= 0;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/PosLengthInject.sql b/trainbenchmark-tool-sql/src/main/resources/queries/PosLengthInject.sql
deleted file mode 100644
index 2ce329ebfb57b58e3f5f80491b75619901e3bed7..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/PosLengthInject.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-SELECT DISTINCT	id AS segment
-FROM Segment;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/RouteSensor.sql b/trainbenchmark-tool-sql/src/main/resources/queries/RouteSensor.sql
deleted file mode 100644
index 2e6d8a7f2584b873b4f3e0ab785ea2e3b9a46745..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/RouteSensor.sql
+++ /dev/null
@@ -1,13 +0,0 @@
-SELECT DISTINCT
-	Route.id AS route,
-	Sensor.id AS sensor,
-	SwitchPosition.id AS swP,
-	Switch.id as sw
-FROM Sensor
-     INNER JOIN monitoredBy    ON monitoredBy.Sensor_id = Sensor.id
-     INNER JOIN Switch         ON Switch.id = monitoredBy.TrackElement_id
-     INNER JOIN SwitchPosition ON SwitchPosition.target = Switch.id
-     INNER JOIN Route          ON Route.id = SwitchPosition.route -- the "SwitchPosition.route" attribute is the inverse of the "Route.follows" edge
-LEFT OUTER JOIN requires       ON requires.Route_id = Route.id
-                              AND requires.Sensor_id = Sensor.id
-WHERE requires.Sensor_id IS NULL
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/RouteSensorInject.sql b/trainbenchmark-tool-sql/src/main/resources/queries/RouteSensorInject.sql
deleted file mode 100644
index e3b104393a9e54caea92783504bbe53a61e6f696..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/RouteSensorInject.sql
+++ /dev/null
@@ -1,4 +0,0 @@
-SELECT DISTINCT
-  Route_id AS route,
-  Sensor_id AS sensor
-FROM requires
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/SemaphoreNeighbor.sql b/trainbenchmark-tool-sql/src/main/resources/queries/SemaphoreNeighbor.sql
deleted file mode 100644
index 55674fb57b299428d1c73be282a618638fdf18fa..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/SemaphoreNeighbor.sql
+++ /dev/null
@@ -1,39 +0,0 @@
-SELECT DISTINCT
-    Route1.exit AS semaphore,
-    Route1.id AS route1,
-    Route2.id AS route2,
-    requires1.Sensor_id AS sensor1,
-    requires2.Sensor_id AS sensor2,
-    ct.TrackElement1_id AS te1,
-    ct.TrackElement2_id AS te2
-
--- (route1)
-FROM Route AS Route1
-
--- (route1)-[:requires]->(sensor1)
-INNER JOIN requires AS requires1
-ON Route1.id = requires1.Route_id
-
--- (sensor1)<-[:monitoredBy]-(te1)
-INNER JOIN monitoredBy AS mb1
-ON requires1.Sensor_id = mb1.Sensor_id
-
--- (te1)-[:connectsTo]->(te2)
-INNER JOIN connectsTo AS ct
-ON mb1.TrackElement_id = ct.TrackElement1_id
-
--- (te2)-[:monitoredBy]->(sensor2)
-INNER JOIN monitoredBy AS mb2
-ON ct.TrackElement2_id = mb2.TrackElement_id
-
--- (sensor2)<-[:requires]-(route2)
-INNER JOIN requires AS requires2
-ON mb2.Sensor_id = requires2.Sensor_id
-
--- (route2)
-INNER JOIN Route AS Route2
-ON requires2.Route_id = Route2.id
-
-WHERE Route1.id != Route2.id
-  AND Route1.exit IS NOT NULL -- semaphore
-  AND (Route2.entry IS NULL OR Route2.entry != Route1.exit);
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/SemaphoreNeighborInject.sql b/trainbenchmark-tool-sql/src/main/resources/queries/SemaphoreNeighborInject.sql
deleted file mode 100644
index 7dbe945ef9f93b870a3dcc99ba89a54ea6a1dbc0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/SemaphoreNeighborInject.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-SELECT DISTINCT id AS route, entry AS semaphore
-FROM Route
-WHERE entry != 0;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchMonitored.sql b/trainbenchmark-tool-sql/src/main/resources/queries/SwitchMonitored.sql
deleted file mode 100644
index 4562b7cd5cf71bafc0f5c8e7a12de04d2a362c8c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchMonitored.sql
+++ /dev/null
@@ -1,4 +0,0 @@
-SELECT Switch.id AS sw
-FROM Switch
-LEFT JOIN monitoredBy ON monitoredBy.TrackElement_id = Switch.id
-WHERE monitoredBy.TrackElement_id IS NULL;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchMonitoredInject.sql b/trainbenchmark-tool-sql/src/main/resources/queries/SwitchMonitoredInject.sql
deleted file mode 100644
index d2be998bcbfcb6f551ee7a98fc3301812d295c7d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchMonitoredInject.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-SELECT DISTINCT id AS sw
-FROM Switch;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchSet.sql b/trainbenchmark-tool-sql/src/main/resources/queries/SwitchSet.sql
deleted file mode 100644
index 6c188afc6958c98bfaed05de0ce864cce39f0d0a..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchSet.sql
+++ /dev/null
@@ -1,26 +0,0 @@
-SELECT
-	Semaphore.id AS semaphore,
-	Route.id AS route,
-	SwitchPosition.id AS swP,
-	Switch.id AS sw,
-	SwitchPosition.position AS position,
-	Switch.currentPosition AS currentPosition
-
--- (route)
-FROM Route
-
--- (route)-[:follows]->(swP)
-INNER JOIN SwitchPosition
-ON Route.id = SwitchPosition.route -- the "SwitchPosition.route" attribute is the inverse of the "Route.follows" edge
-
--- (swP)-[:target]->(sw)
-INNER JOIN Switch
-ON SwitchPosition.target = Switch.id
-
--- (route)-[:entry]->(semaphore)
-INNER JOIN Semaphore
-ON Route.entry = Semaphore.id
-
-WHERE Route.active = 1
-	AND Switch.currentPosition != SwitchPosition.position
-	AND Semaphore.signal = 2;
diff --git a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchSetInject.sql b/trainbenchmark-tool-sql/src/main/resources/queries/SwitchSetInject.sql
deleted file mode 100644
index d2be998bcbfcb6f551ee7a98fc3301812d295c7d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/queries/SwitchSetInject.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-SELECT DISTINCT id AS sw
-FROM Switch;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/ConnectedSegmentsInjectRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/ConnectedSegmentsInjectRhs.sql
deleted file mode 100644
index e9a27f19c51b86b6ce9017cb18674293075ef32b..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/ConnectedSegmentsInjectRhs.sql
+++ /dev/null
@@ -1,35 +0,0 @@
-SET @sensor := ?;
-SET @segment1 := ?;
-SET @segment3 := ?;
-SET @length := ?;
-
--- get (region) node
-SET @region :=
-    (SELECT region
-    FROM TrackElement
-    WHERE id = @segment1);
-
--- delete (segment1)-[:connectsTo]->(segment3) edge
-DELETE FROM connectsTo
-WHERE TrackElement1_id = @segment1 AND TrackElement2_id = @segment3;
-
--- insert new node (segment2) as a TrackElement and retrieve its id
-INSERT INTO TrackElement (region) VALUES (@region);
-
-SET @segment2 := (SELECT LAST_INSERT_ID());
-
--- insert (segment2) node as a Segment
-INSERT INTO Segment (id, length)
-VALUES (@segment2, @length);
-
--- insert (segment1)-[:connectsTo]->(segment2) edge
-INSERT INTO connectsTo
-VALUES (@segment1, @segment2);
-
--- insert (segment1)-[:connectsTo]->(segment3) edge
-INSERT INTO connectsTo
-VALUES (@segment2, @segment3);
-
--- insert (segment2)-[:monitoredBy]->(sensor) edge
-INSERT INTO monitoredBy
-VALUES (@segment2, @sensor);
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/ConnectedSegmentsRepairRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/ConnectedSegmentsRepairRhs.sql
deleted file mode 100644
index c72677f57dd9cc390d65670800684292e69156d6..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/ConnectedSegmentsRepairRhs.sql
+++ /dev/null
@@ -1,19 +0,0 @@
-SET @segment1 := ?;
-SET @segment2 := ?;
-SET @segment3 := ?;
-
--- delete (segment2) node as segment
-DELETE FROM Segment WHERE id = @segment2;
--- delete (segment2) node as TrackElement and sensor edge
-DELETE FROM TrackElement WHERE id = @segment2;
-
--- delete (segment1)-[:connectsTo]->(segment2) edge
-DELETE FROM connectsTo WHERE TrackElement1_id = @segment1 AND TrackElement2_id = @segment2;
--- delete (segment2)-[:connectsTo]->(segment3) edge
-DELETE FROM connectsTo WHERE TrackElement1_id = @segment2 AND TrackElement2_id = @segment3;
-
--- delete (segment2)-[:monitoredBy]->(sensor) edge
-DELETE FROM monitoredBy WHERE TrackElement_id = @segment2 AND Sensor_id = @sensor;
-
--- insert (segment1)-[:connectsTo]->(segment3) edge
-INSERT INTO connectsTo VALUES (@segment1, @segment3);
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/PosLengthInjectRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/PosLengthInjectRhs.sql
deleted file mode 100644
index 6fe91f585bb92daaea0aeceaedb7607d4f41157c..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/PosLengthInjectRhs.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-UPDATE Segment 
-SET length = 0
-WHERE id = ?;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/PosLengthRepairRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/PosLengthRepairRhs.sql
deleted file mode 100644
index 549770860a3d28d1f2c84a41ed264812c418c480..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/PosLengthRepairRhs.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-UPDATE Segment
-SET length = -length + 1
-WHERE id = ?;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/RouteSensorInjectRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/RouteSensorInjectRhs.sql
deleted file mode 100644
index 59cad5481e0744d4ada54857fa386dd6efb4de85..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/RouteSensorInjectRhs.sql
+++ /dev/null
@@ -1,6 +0,0 @@
-SET @route  := ?;
-SET @sensor := ?;
-
-DELETE FROM requires
-WHERE Route_id  = @route
-  AND Sensor_id = @sensor;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/RouteSensorRepairRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/RouteSensorRepairRhs.sql
deleted file mode 100644
index ab9ff09e55b443625534e267c25d98de5df26ead..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/RouteSensorRepairRhs.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-INSERT INTO requires (Route_id, Sensor_id) 
-VALUES (?, ?);
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/SemaphoreNeighborInjectRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/SemaphoreNeighborInjectRhs.sql
deleted file mode 100644
index f79cb293cf338d1c864f418ecc061b6a526b0889..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/SemaphoreNeighborInjectRhs.sql
+++ /dev/null
@@ -1,5 +0,0 @@
--- (route)-[:entry]->(semaphore) edge
-UPDATE Route
-SET entry = NULL
-WHERE id    = ?
-  AND entry = ?;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/SemaphoreNeighborRepairRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/SemaphoreNeighborRepairRhs.sql
deleted file mode 100644
index c74f17b0b3697bca0c95459cef341d05c7a2149d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/SemaphoreNeighborRepairRhs.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-UPDATE Route
-SET entry = ?
-WHERE id = ?;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchMonitoredInjectRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchMonitoredInjectRhs.sql
deleted file mode 100644
index 16b67da284b8b2fc76b9b91d3c5b83d032a21d09..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchMonitoredInjectRhs.sql
+++ /dev/null
@@ -1,2 +0,0 @@
-DELETE FROM monitoredBy
-WHERE monitoredBy.TrackElement_id = ?;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchMonitoredRepairRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchMonitoredRepairRhs.sql
deleted file mode 100644
index fc50bba47cea3048b4a43120ae7326181e9f0b33..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchMonitoredRepairRhs.sql
+++ /dev/null
@@ -1,11 +0,0 @@
-SET @switch := ?;
-SET @region :=
-    (SELECT region FROM TrackElement WHERE id = @switch);
-
--- insert a (sensor) vertex and retrieve its id
-INSERT INTO Sensor (region) VALUES (@region);
-SET @sensor :=
-    (SELECT LAST_INSERT_ID());
-
-INSERT INTO monitoredBy (TrackElement_id, Sensor_id)
-VALUES (@switch, @sensor);
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchSetInjectRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchSetInjectRhs.sql
deleted file mode 100644
index 72252f3aecae986624ea36a7664c16789757d1fb..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchSetInjectRhs.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-UPDATE Switch
-SET currentPosition = (currentPosition + 1) % 4
-WHERE id = ?;
diff --git a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchSetRepairRhs.sql b/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchSetRepairRhs.sql
deleted file mode 100644
index 762aae8aff1d2d7666f4aa82ecc43f432ed98ece..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sql/src/main/resources/transformations/SwitchSetRepairRhs.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-UPDATE Switch
-SET currentPosition = ?
-WHERE Switch.id = ?;
diff --git a/trainbenchmark-tool-sqlite/.gitignore b/trainbenchmark-tool-sqlite/.gitignore
deleted file mode 100644
index ea8c4bf7f35f6f77f75d92ad8ce8349f6e81ddba..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target
diff --git a/trainbenchmark-tool-sqlite/README.md b/trainbenchmark-tool-sqlite/README.md
deleted file mode 100644
index 41a2bc88cc97ef2c94c43936405d1f14bd9db541..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# Train Benchmark SQLite implementation
diff --git a/trainbenchmark-tool-sqlite/build.gradle b/trainbenchmark-tool-sqlite/build.gradle
deleted file mode 100644
index 792e8f896c3ef2385a8526df2ba85c3ce9350c2d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/build.gradle
+++ /dev/null
@@ -1,12 +0,0 @@
-plugins { id "com.github.johnrengelman.shadow" version "1.2.3" }
-
-shadowJar {
-	classifier = 'fat'
-	manifest { attributes 'Main-Class': 'hu.bme.mit.trainbenchmark.benchmark.sqlite.SQLiteBenchmarkMain' }
-}
-
-dependencies {
-	compile project(':trainbenchmark-tool')
-	compile project(':trainbenchmark-tool-sql')
-	compile group: 'org.xerial', name: 'sqlite-jdbc', version:'3.8.11.2'
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/SQLiteBenchmarkMain.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/SQLiteBenchmarkMain.java
deleted file mode 100644
index b4066833e0d3eb895c336aaa72882bd655b42048..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/SQLiteBenchmarkMain.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.sqlite;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.config.SQLiteBenchmarkConfig;
-
-public class SQLiteBenchmarkMain {
-
-	public static void main(final String[] args) throws Exception {
-		final SQLiteBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], SQLiteBenchmarkConfig.class);
-		final SQLiteBenchmarkScenario scenario = new SQLiteBenchmarkScenario(bc);
-		scenario.performBenchmark();
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/SQLiteBenchmarkScenario.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/SQLiteBenchmarkScenario.java
deleted file mode 100644
index 2287795629a465aed58a6de001b816e8b8ff835e..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/SQLiteBenchmarkScenario.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sqlite;
-
-import hu.bme.mit.trainbenchmark.benchmark.comparators.LongMatchComparator;
-import hu.bme.mit.trainbenchmark.benchmark.phases.BenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.config.SQLiteBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriverFactory;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.operations.SQLiteModelOperationFactory;
-
-public class SQLiteBenchmarkScenario extends BenchmarkScenario<SqlMatch, SQLiteDriver, SQLiteBenchmarkConfig> {
-
-	public SQLiteBenchmarkScenario(final SQLiteBenchmarkConfig bc) throws Exception {
-		super(new SQLiteDriverFactory(), new SQLiteModelOperationFactory(), new LongMatchComparator<SqlMatch>(), bc);
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/config/SQLiteBenchmarkConfig.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/config/SQLiteBenchmarkConfig.java
deleted file mode 100644
index 65572b7e4fb9eeea7a6b87cdc739e43bf02b5cce..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/config/SQLiteBenchmarkConfig.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-
-public class SQLiteBenchmarkConfig extends BenchmarkConfig {
-
-	protected SQLiteBenchmarkConfig(final BenchmarkConfigBase configBase) {
-		super(configBase);
-	}
-
-	@Override
-	public String getToolName() {
-		return "SQLite";
-	}
-
-	@Override
-	public String getProjectName() {
-		return "sqlite";
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/config/SQLiteBenchmarkConfigBuilder.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/config/SQLiteBenchmarkConfigBuilder.java
deleted file mode 100644
index e7e3b542082ff20cb1acf312a8e1fec19dbfb512..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/config/SQLiteBenchmarkConfigBuilder.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.config;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder;
-
-public class SQLiteBenchmarkConfigBuilder
-		extends BenchmarkConfigBuilder<SQLiteBenchmarkConfig, SQLiteBenchmarkConfigBuilder> {
-
-	@Override
-	public SQLiteBenchmarkConfig createConfig() {
-		checkNotNulls();
-		return new SQLiteBenchmarkConfig(configBase);
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/driver/SQLiteDriver.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/driver/SQLiteDriver.java
deleted file mode 100644
index e3de3f4cb79cb96d2cfb13e057a1352fe47a4bc0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/driver/SQLiteDriver.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.driver;
-
-import java.io.File;
-import java.io.IOException;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.driver.SqlDriver;
-
-public class SQLiteDriver extends SqlDriver {
-
-	@Override
-	public void read(final String modelPath) throws IOException, InterruptedException, SQLException {
-		final File modelFile = new File(modelPath);
-		if (!modelFile.exists()) {
-			throw new IOException("Model does not exist: " + modelPath);
-		}
-
-		connection = DriverManager.getConnection("jdbc:sqlite::memory:");
-		final Statement statement = connection.createStatement();
-		statement.setQueryTimeout(3600);
-
-		final String sql = FileUtils.readFileToString(new File(modelPath));
-		statement.executeUpdate(sql);
-
-		// create temporary table (used by the transformations)
-		final PreparedStatement createStatement = connection
-				.prepareStatement("CREATE TEMP TABLE IF NOT EXISTS Variables (Name TEXT PRIMARY KEY, Value LONG);");
-		createStatement.execute();
-	}
-
-	@Override
-	public String getPostfix() {
-		return "-sqlite.sql";
-	}
-
-	public String getSQLiteResourceDirectory() {
-		return "/trainbenchmark-tool-sqlite/src/main/resources/";
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/driver/SQLiteDriverFactory.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/driver/SQLiteDriverFactory.java
deleted file mode 100644
index f013c0d901f6334ef05db1512bc3602fa3dd46de..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/driver/SQLiteDriverFactory.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.driver;
-
-import hu.bme.mit.trainbenchmark.benchmark.driver.DriverFactory;
-
-public class SQLiteDriverFactory extends DriverFactory<SQLiteDriver> {
-
-	@Override
-	public SQLiteDriver createInstance() throws Exception {
-		return new SQLiteDriver();
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/operations/SQLiteModelOperationFactory.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/operations/SQLiteModelOperationFactory.java
deleted file mode 100644
index a16579965b1ad316df726c8ed582204d49125f63..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/operations/SQLiteModelOperationFactory.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.operations;
-
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperation;
-import hu.bme.mit.trainbenchmark.benchmark.operations.ModelOperationFactory;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlPosLengthInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlPosLengthMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSemaphoreNeighborInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSemaphoreNeighborMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchSetInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchSetMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.queries.SqlQuery;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectSwitchMonitored;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.inject.SqlTransformationInjectSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairPosLength;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairSemaphoreNeighbor;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.repair.SqlTransformationRepairSwitchSet;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.inject.SQLiteTransformationInjectConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.inject.SQLiteTransformationInjectRouteSensor;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.repair.SQLiteTransformationRepairConnectedSegments;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.repair.SQLiteTransformationRepairSwitchMonitored;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.RailwayQuery;
-
-public class SQLiteModelOperationFactory extends ModelOperationFactory<SqlMatch, SQLiteDriver> {
-
-	@Override
-	public ModelOperation<? extends SqlMatch, SQLiteDriver> createOperation(final RailwayOperation operationEnum, final String workspaceDir,
-			final SQLiteDriver driver) throws Exception {
-
-		switch (operationEnum) {
-		// ConnectedSegments
-		case CONNECTEDSEGMENTS: {
-			final SqlQuery<SqlConnectedSegmentsMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final ModelOperation<SqlConnectedSegmentsMatch, SQLiteDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_INJECT: {
-			final SqlQuery<SqlConnectedSegmentsInjectMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS_INJECT);
-			final SqlTransformation<SqlConnectedSegmentsInjectMatch, SQLiteDriver> transformation = new SQLiteTransformationInjectConnectedSegments(driver,
-					workspaceDir);
-			final ModelOperation<SqlConnectedSegmentsInjectMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case CONNECTEDSEGMENTS_REPAIR: {
-			final SqlQuery<SqlConnectedSegmentsMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.CONNECTEDSEGMENTS);
-			final SqlTransformation<SqlConnectedSegmentsMatch, SQLiteDriver> transformation = new SQLiteTransformationRepairConnectedSegments(driver,
-					workspaceDir);
-			final ModelOperation<SqlConnectedSegmentsMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// PosLength
-		case POSLENGTH: {
-			final SqlQuery<SqlPosLengthMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final ModelOperation<SqlPosLengthMatch, SQLiteDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case POSLENGTH_INJECT: {
-			final SqlQuery<SqlPosLengthInjectMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH_INJECT);
-			final SqlTransformation<SqlPosLengthInjectMatch, SQLiteDriver> transformation = new SqlTransformationInjectPosLength<>(driver, workspaceDir);
-			final ModelOperation<SqlPosLengthInjectMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case POSLENGTH_REPAIR: {
-			final SqlQuery<SqlPosLengthMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.POSLENGTH);
-			final SqlTransformation<SqlPosLengthMatch, SQLiteDriver> transformation = new SqlTransformationRepairPosLength<>(driver, workspaceDir);
-			final ModelOperation<SqlPosLengthMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// RouteSensor
-		case ROUTESENSOR: {
-			final SqlQuery<SqlRouteSensorMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final ModelOperation<SqlRouteSensorMatch, SQLiteDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case ROUTESENSOR_INJECT: {
-			final SqlQuery<SqlRouteSensorInjectMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR_INJECT);
-			final SqlTransformation<SqlRouteSensorInjectMatch, SQLiteDriver> transformation = new SQLiteTransformationInjectRouteSensor(driver, workspaceDir);
-			final ModelOperation<SqlRouteSensorInjectMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case ROUTESENSOR_REPAIR: {
-			final SqlQuery<SqlRouteSensorMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.ROUTESENSOR);
-			final SqlTransformation<SqlRouteSensorMatch, SQLiteDriver> transformation = new SqlTransformationRepairRouteSensor<>(driver, workspaceDir);
-			final ModelOperation<SqlRouteSensorMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SemaphoreNeighbor
-		case SEMAPHORENEIGHBOR: {
-			final SqlQuery<SqlSemaphoreNeighborMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final ModelOperation<SqlSemaphoreNeighborMatch, SQLiteDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_INJECT: {
-			final SqlQuery<SqlSemaphoreNeighborInjectMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR_INJECT);
-			final SqlTransformation<SqlSemaphoreNeighborInjectMatch, SQLiteDriver> transformation = new SqlTransformationInjectSemaphoreNeighbor<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlSemaphoreNeighborInjectMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SEMAPHORENEIGHBOR_REPAIR: {
-			final SqlQuery<SqlSemaphoreNeighborMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SEMAPHORENEIGHBOR);
-			final SqlTransformation<SqlSemaphoreNeighborMatch, SQLiteDriver> transformation = new SqlTransformationRepairSemaphoreNeighbor<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlSemaphoreNeighborMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchMonitored
-		case SWITCHMONITORED: {
-			final SqlQuery<SqlSwitchMonitoredMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final ModelOperation<SqlSwitchMonitoredMatch, SQLiteDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHMONITORED_INJECT: {
-			final SqlQuery<SqlSwitchMonitoredInjectMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED_INJECT);
-			final SqlTransformation<SqlSwitchMonitoredInjectMatch, SQLiteDriver> transformation = new SqlTransformationInjectSwitchMonitored<>(driver,
-					workspaceDir);
-			final ModelOperation<SqlSwitchMonitoredInjectMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHMONITORED_REPAIR: {
-			final SqlQuery<SqlSwitchMonitoredMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHMONITORED);
-			final SqlTransformation<SqlSwitchMonitoredMatch, SQLiteDriver> transformation = new SQLiteTransformationRepairSwitchMonitored(driver, workspaceDir);
-			final ModelOperation<SqlSwitchMonitoredMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-
-			// SwitchSet
-		case SWITCHSET: {
-			final SqlQuery<SqlSwitchSetMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final ModelOperation<SqlSwitchSetMatch, SQLiteDriver> operation = ModelOperation.of(query);
-			return operation;
-		}
-		case SWITCHSET_INJECT: {
-			final SqlQuery<SqlSwitchSetInjectMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET_INJECT);
-			final SqlTransformation<SqlSwitchSetInjectMatch, SQLiteDriver> transformation = new SqlTransformationInjectSwitchSet<>(driver, workspaceDir);
-			final ModelOperation<SqlSwitchSetInjectMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		case SWITCHSET_REPAIR: {
-			final SqlQuery<SqlSwitchSetMatch, SQLiteDriver> query = new SqlQuery<>(driver, workspaceDir, RailwayQuery.SWITCHSET);
-			final SqlTransformation<SqlSwitchSetMatch, SQLiteDriver> transformation = new SqlTransformationRepairSwitchSet<>(driver, workspaceDir);
-			final ModelOperation<SqlSwitchSetMatch, SQLiteDriver> operation = ModelOperation.of(query, transformation);
-			return operation;
-		}
-		default:
-			break;
-		}
-		throw new UnsupportedOperationException("Operation " + operationEnum + " not supported.");
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformation/SQLiteTransformation.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformation/SQLiteTransformation.java
deleted file mode 100644
index 7fc79f3b48795f784721bc3d0495f5ffe4156564..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformation/SQLiteTransformation.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.transformation;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sql.transformations.SqlTransformation;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public abstract class SQLiteTransformation<TSqlMatch extends SqlMatch> extends SqlTransformation<TSqlMatch, SQLiteDriver> {
-
-	protected SQLiteTransformation(final SQLiteDriver driver, final String workspaceDir, final RailwayOperation operation)
-			throws IOException {
-		super(driver, workspaceDir, operation);
-
-		// if there is a different transformation for SQLite, load that instead of the generic SQL one
-		final String updatePath = workspaceDir + driver.getSQLiteResourceDirectory() + "transformations/" + operation + "Rhs.sql";
-		final File file = new File(updatePath);
-		if (file.exists()) {
-			this.updateQuery = FileUtils.readFileToString(new File(updatePath));
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/inject/SQLiteTransformationInjectConnectedSegments.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/inject/SQLiteTransformationInjectConnectedSegments.java
deleted file mode 100644
index 61dd1c6eed0f1284c47f70d2306e3a021f52aaca..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/inject/SQLiteTransformationInjectConnectedSegments.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformation.SQLiteTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-import hu.bme.mit.trainbenchmark.constants.TrainBenchmarkConstants;
-
-public class SQLiteTransformationInjectConnectedSegments extends SQLiteTransformation<SqlConnectedSegmentsInjectMatch> {
-
-	final String setBindings = "INSERT OR REPLACE INTO Variables VALUES ('sensor', ?), ('segment1', ?), ('segment3', ?), ('length', ?);";
-
-	public SQLiteTransformationInjectConnectedSegments(final SQLiteDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.CONNECTEDSEGMENTS_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlConnectedSegmentsInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(setBindings);
-		}
-
-		for (final SqlConnectedSegmentsInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSensor());
-			preparedUpdateStatement.setLong(2, match.getSegment1());
-			preparedUpdateStatement.setLong(3, match.getSegment3());
-			preparedUpdateStatement.setLong(4, TrainBenchmarkConstants.DEFAULT_SEGMENT_LENGTH);
-			preparedUpdateStatement.executeUpdate();
-
-			driver.getConnection().createStatement().executeUpdate(updateQuery);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/inject/SQLiteTransformationInjectRouteSensor.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/inject/SQLiteTransformationInjectRouteSensor.java
deleted file mode 100644
index 95c02eeaa651681715d4a146dc6bcb943d3cb73d..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/inject/SQLiteTransformationInjectRouteSensor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.inject;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlRouteSensorInjectMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformation.SQLiteTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SQLiteTransformationInjectRouteSensor extends SQLiteTransformation<SqlRouteSensorInjectMatch> {
-
-	final String setBindings = "INSERT OR REPLACE INTO Variables VALUES ('route', ?), ('sensor', ?);";
-
-	public SQLiteTransformationInjectRouteSensor(final SQLiteDriver driver, final String workspaceDir)
-			throws IOException {
-		super(driver, workspaceDir, RailwayOperation.ROUTESENSOR_INJECT);
-	}
-
-	@Override
-	public void activate(final Collection<SqlRouteSensorInjectMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(setBindings);
-		}
-
-		for (final SqlRouteSensorInjectMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getRoute());
-			preparedUpdateStatement.setLong(2, match.getSensor());
-			preparedUpdateStatement.executeUpdate();
-
-			driver.getConnection().createStatement().executeUpdate(updateQuery);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/repair/SQLiteTransformationRepairConnectedSegments.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/repair/SQLiteTransformationRepairConnectedSegments.java
deleted file mode 100644
index a7e53230628e6a24f8b6661023a70bbc81dab540..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/repair/SQLiteTransformationRepairConnectedSegments.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlConnectedSegmentsMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformation.SQLiteTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SQLiteTransformationRepairConnectedSegments extends SQLiteTransformation<SqlConnectedSegmentsMatch> {
-
-	final String setBindings = "INSERT OR REPLACE INTO Variables VALUES ('segment1', ?), ('segment2', ?), ('segment3', ?);";
-	
-	public SQLiteTransformationRepairConnectedSegments(final SQLiteDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.CONNECTEDSEGMENTS_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlConnectedSegmentsMatch> matches) throws SQLException {
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(setBindings);
-		}
-
-		for (final SqlConnectedSegmentsMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSegment1());
-			preparedUpdateStatement.setLong(2, match.getSegment2());
-			preparedUpdateStatement.setLong(3, match.getSegment3());
-			preparedUpdateStatement.executeUpdate();
-			
-			driver.getConnection().createStatement().executeUpdate(updateQuery);
-		}
-	}
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/repair/SQLiteTransformationRepairSwitchMonitored.java b/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/repair/SQLiteTransformationRepairSwitchMonitored.java
deleted file mode 100644
index 1e105929d16911659146c98064f57513fa3548a1..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/transformations/repair/SQLiteTransformationRepairSwitchMonitored.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.transformations.repair;
-
-import java.io.IOException;
-import java.sql.SQLException;
-import java.util.Collection;
-
-import hu.bme.mit.trainbenchmark.benchmark.sql.matches.SqlSwitchMonitoredMatch;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.driver.SQLiteDriver;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.transformation.SQLiteTransformation;
-import hu.bme.mit.trainbenchmark.constants.RailwayOperation;
-
-public class SQLiteTransformationRepairSwitchMonitored extends SQLiteTransformation<SqlSwitchMonitoredMatch> {
-
-	final String setBindings = "INSERT OR REPLACE INTO Variables VALUES ('switch', ?);";
-	
-	public SQLiteTransformationRepairSwitchMonitored(final SQLiteDriver driver, final String workspaceDir) throws IOException {
-		super(driver, workspaceDir, RailwayOperation.SWITCHMONITORED_REPAIR);
-	}
-
-	@Override
-	public void activate(final Collection<SqlSwitchMonitoredMatch> matches) throws SQLException {		
-		if (preparedUpdateStatement == null) {
-			preparedUpdateStatement = driver.getConnection().prepareStatement(setBindings);
-		}
-
-		for (final SqlSwitchMonitoredMatch match : matches) {
-			preparedUpdateStatement.setLong(1, match.getSw());
-			preparedUpdateStatement.executeUpdate();
-			
-			driver.getConnection().createStatement().executeUpdate(updateQuery);
-		}
-	}
-
-}
diff --git a/trainbenchmark-tool-sqlite/src/main/resources/transformations/ConnectedSegmentsInjectRhs.sql b/trainbenchmark-tool-sqlite/src/main/resources/transformations/ConnectedSegmentsInjectRhs.sql
deleted file mode 100644
index 9a6858db576243dfcff5d524db31090a22877671..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/resources/transformations/ConnectedSegmentsInjectRhs.sql
+++ /dev/null
@@ -1,49 +0,0 @@
--- get (region) node
-INSERT OR REPLACE INTO Variables VALUES ('region',
-    (SELECT region
-    FROM TrackElement
-    WHERE id = (SELECT Value FROM Variables WHERE Name = 'segment1'))
-  );
-
--- delete (segment1)-[:connectsTo]->(segment3) edge
-DELETE FROM connectsTo
-WHERE
-  TrackElement1_id = (SELECT Value FROM Variables WHERE Name = 'segment1') AND
-  TrackElement2_id = (SELECT Value FROM Variables WHERE Name = 'segment3');
-
--- insert new node (segment2) as a TrackElement and retrieve its id
-INSERT INTO TrackElement (region) VALUES (
-    (SELECT Value FROM Variables WHERE Name = 'region')
-  );
-
-INSERT OR REPLACE INTO Variables VALUES ('segment2',
-    (SELECT MAX(id) FROM TrackElement)
-  );
-
--- insert (segment2) node as a Segment
-INSERT INTO Segment (id, length)
-VALUES (
-  (SELECT Value FROM Variables WHERE Name = 'segment2'),
-  (SELECT Value FROM Variables WHERE Name = 'length')
-);
-
--- insert (segment1)-[:connectsTo]->(segment2) edge
-INSERT INTO connectsTo
-VALUES (
-  (SELECT Value FROM Variables WHERE Name = 'segment1'),
-  (SELECT Value FROM Variables WHERE Name = 'segment2')
-);
-
--- insert (segment1)-[:connectsTo]->(segment3) edge
-INSERT INTO connectsTo
-VALUES (
-  (SELECT Value FROM Variables WHERE Name = 'segment2'),
-  (SELECT Value FROM Variables WHERE Name = 'segment3')
-);
-
--- insert (segment2)-[:monitoredBy]->(sensor) edge
-INSERT INTO monitoredBy
-VALUES (
-  (SELECT Value FROM Variables WHERE Name = 'segment2'),
-  (SELECT Value FROM Variables WHERE Name = 'sensor')
-);
diff --git a/trainbenchmark-tool-sqlite/src/main/resources/transformations/ConnectedSegmentsRepairRhs.sql b/trainbenchmark-tool-sqlite/src/main/resources/transformations/ConnectedSegmentsRepairRhs.sql
deleted file mode 100644
index d2d77ee1e3f352899b97590427d0080d928bfdfd..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/resources/transformations/ConnectedSegmentsRepairRhs.sql
+++ /dev/null
@@ -1,24 +0,0 @@
--- delete (segment2) node as segment
-DELETE FROM Segment WHERE id = (SELECT Value FROM Variables WHERE Name = 'segment2');
--- delete (segment2) node as TrackElement and sensor edge
-DELETE FROM TrackElement WHERE id = (SELECT Value FROM Variables WHERE Name = 'segment2');
-
--- delete (segment1)-[:connectsTo]->(segment2) edge
-DELETE FROM connectsTo WHERE
-  TrackElement1_id = (SELECT Value FROM Variables WHERE Name = 'segment1') AND
-  TrackElement2_id = (SELECT Value FROM Variables WHERE Name = 'segment2');
--- delete (segment2)-[:connectsTo]->(segment3) edge
-DELETE FROM connectsTo WHERE
-  TrackElement1_id = (SELECT Value FROM Variables WHERE Name = 'segment2') AND
-  TrackElement2_id = (SELECT Value FROM Variables WHERE Name = 'segment3');
-
--- delete (segment2)-[:monitoredBy]->(sensor) edge
-DELETE FROM monitoredBy WHERE
-  TrackElement_id = (SELECT Value FROM Variables WHERE Name = 'segment2') AND
-  Sensor_id = (SELECT Value FROM Variables WHERE Name = 'sensor');
-
--- insert (segment1)-[:connectsTo]->(segment3) edge
-INSERT INTO connectsTo VALUES (
-    (SELECT Value FROM Variables WHERE Name = 'segment1'),
-    (SELECT Value FROM Variables WHERE Name = 'segment3')
-  );
diff --git a/trainbenchmark-tool-sqlite/src/main/resources/transformations/RouteSensorInjectRhs.sql b/trainbenchmark-tool-sqlite/src/main/resources/transformations/RouteSensorInjectRhs.sql
deleted file mode 100644
index 193b7d2a35f2161a5caa13e4c8e9e85528dc0d1f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/resources/transformations/RouteSensorInjectRhs.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-DELETE FROM requires
-WHERE Route_id  = (SELECT Value FROM Variables WHERE Name = 'route')
-  AND Sensor_id = (SELECT Value FROM Variables WHERE Name = 'sensor');
diff --git a/trainbenchmark-tool-sqlite/src/main/resources/transformations/SwitchMonitoredRepairRhs.sql b/trainbenchmark-tool-sqlite/src/main/resources/transformations/SwitchMonitoredRepairRhs.sql
deleted file mode 100644
index 26799d546283ce82a28f73f470a372e4956d2eb0..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/main/resources/transformations/SwitchMonitoredRepairRhs.sql
+++ /dev/null
@@ -1,16 +0,0 @@
-INSERT OR REPLACE INTO Variables VALUES ('region',
-    (SELECT region
-    FROM TrackElement
-    WHERE id = (SELECT Value FROM Variables WHERE Name = 'switch'))
-  );
-
--- insert a (sensor) vertex and retrieve its id
-INSERT INTO Sensor (region) VALUES (
-  (SELECT Value FROM Variables WHERE Name = 'region')
-);
-
-INSERT INTO monitoredBy (TrackElement_id, Sensor_id)
-VALUES (
-  (SELECT Value FROM Variables WHERE Name = 'switch'),
-  (SELECT MAX(id) FROM Sensor)
-);
diff --git a/trainbenchmark-tool-sqlite/src/test/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/test/SQLiteTest.java b/trainbenchmark-tool-sqlite/src/test/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/test/SQLiteTest.java
deleted file mode 100644
index 1b5cd83b94eb7a9487cedb70217cec835110980f..0000000000000000000000000000000000000000
--- a/trainbenchmark-tool-sqlite/src/test/java/hu/bme/mit/trainbenchmark/benchmark/sqlite/test/SQLiteTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010-2015, Benedek Izso, Gabor Szarnyas, Istvan Rath and Daniel Varro
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Benedek Izso - initial API and implementation
- *   Gabor Szarnyas - initial API and implementation
- *******************************************************************************/
-
-package hu.bme.mit.trainbenchmark.benchmark.sqlite.test;
-
-import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase;
-import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.SQLiteBenchmarkScenario;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.config.SQLiteBenchmarkConfig;
-import hu.bme.mit.trainbenchmark.benchmark.sqlite.config.SQLiteBenchmarkConfigBuilder;
-import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest;
-
-public class SQLiteTest extends TrainBenchmarkTest {
-
-	@Override
-	protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception {
-		final SQLiteBenchmarkConfig bc = new SQLiteBenchmarkConfigBuilder().setConfigBase(bcb).createConfig();
-		final SQLiteBenchmarkScenario scenario = new SQLiteBenchmarkScenario(bc);
-		final BenchmarkResult result = scenario.performBenchmark();
-		return result;
-	}
-
-}