From 6243f65463b97877a4de848943a2f8d704930c9f Mon Sep 17 00:00:00 2001
From: Nikolaus Huber <nikolaus.huber@uni-wuerzburg.de>
Date: Sun, 22 Sep 2013 12:56:56 +0000
Subject: [PATCH] git-svn-id:
 https://se1.informatik.uni-wuerzburg.de/usvn/svn/code/code/DMM/trunk@13147
 9e42b895-fcda-4063-8a3b-11be15eb1bbd

---
 .../.settings/org.eclipse.ocl.modelregistry   |   2 +
 .../META-INF/MANIFEST.MF                      |  10 +-
 .../descartes/adaptation/TacticExecutor.java  |   5 +-
 .../descartes/adaptation/TacticsHistory.java  |  78 ------------
 .../IPerformanceDataRepositoryHandler.java    |  15 ---
 .../ObservationRepositoryHandler.java         |  65 ----------
 .../ObservationRepositoryHelper.java          |  52 --------
 .../ObservationRepositoryModelLoader.java     |  45 -------
 .../perfdatarepo/PerfDataRepoConverter.java   |  79 ------------
 .../PerformanceDataRepositoryHandler.java     |  55 --------
 ...rformanceDataRepositoryHandlerFactory.java |  18 ---
 .../PerformanceDataRepositoryModelLoader.java |  51 --------
 .../util/BlueYonderExperimentTracker.java     | 118 ------------------
 .../descartes/adaptation/util/IObserver.java  |   7 --
 14 files changed, 12 insertions(+), 588 deletions(-)
 create mode 100644 edu.kit.ipd.descartes.adaptation/.settings/org.eclipse.ocl.modelregistry
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticsHistory.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/BlueYonderExperimentTracker.java
 delete mode 100644 edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/IObserver.java

diff --git a/edu.kit.ipd.descartes.adaptation/.settings/org.eclipse.ocl.modelregistry b/edu.kit.ipd.descartes.adaptation/.settings/org.eclipse.ocl.modelregistry
new file mode 100644
index 00000000..2fb76f2a
--- /dev/null
+++ b/edu.kit.ipd.descartes.adaptation/.settings/org.eclipse.ocl.modelregistry
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<mreg:ModelRegistrySettings xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:mreg="http://www.eclipse.org/ocl/1.0/ModelRegistry"/>
diff --git a/edu.kit.ipd.descartes.adaptation/META-INF/MANIFEST.MF b/edu.kit.ipd.descartes.adaptation/META-INF/MANIFEST.MF
index a684d990..a0241b71 100644
--- a/edu.kit.ipd.descartes.adaptation/META-INF/MANIFEST.MF
+++ b/edu.kit.ipd.descartes.adaptation/META-INF/MANIFEST.MF
@@ -10,11 +10,16 @@ Require-Bundle: edu.kit.ipd.descartes.mm.resourcelandscape;bundle-version="1.0.0
  org.eclipse.core.runtime;bundle-version="3.8.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: edu.kit.ipd.descartes.adaptation.evaluation.performance,
+Import-Package: edu.kit.ipd.descartes.adaptation.analysis,
+ edu.kit.ipd.descartes.adaptation.analysis.pcm,
+ edu.kit.ipd.descartes.adaptation.evaluation.performance,
  edu.kit.ipd.descartes.adaptation.model.adaptation,
  edu.kit.ipd.descartes.adaptation.model.adaptation.dmm,
  edu.kit.ipd.descartes.adaptation.model.adaptation.dmm.util,
+ edu.kit.ipd.descartes.adaptation.model.adaptation.exceptions,
  edu.kit.ipd.descartes.adaptation.model.repository,
+ edu.kit.ipd.descartes.adaptation.model.repository.dmm,
+ edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo,
  edu.kit.ipd.descartes.ql.core.engine.query,
  edu.kit.ipd.descartes.ql.lang.descartesQL,
  edu.kit.ipd.descartes.ql.models.mapping.domain,
@@ -23,5 +28,4 @@ Import-Package: edu.kit.ipd.descartes.adaptation.evaluation.performance,
  org.apache.log4j;version="1.2.15",
  org.eclipse.emf.ecore.xmi,
  org.eclipse.emf.ecore.xmi.impl
-Export-Package: edu.kit.ipd.descartes.adaptation,
- edu.kit.ipd.descartes.adaptation.exceptions
+Export-Package: edu.kit.ipd.descartes.adaptation
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticExecutor.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticExecutor.java
index 65024f95..42758af2 100644
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticExecutor.java
+++ b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticExecutor.java
@@ -10,12 +10,13 @@ import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.change.ChangeDescription;
 
 import edu.kit.ipd.descartes.adaptation.model.adaptation.IActionHandler;
+import edu.kit.ipd.descartes.adaptation.model.adaptation.dmm.BlueYonderExperimentTracker;
+import edu.kit.ipd.descartes.adaptation.model.adaptation.dmm.IObserver;
+import edu.kit.ipd.descartes.adaptation.model.adaptation.dmm.TacticsHistory;
 import edu.kit.ipd.descartes.adaptation.model.adaptation.dmm.util.OclEvaluationHelper;
 import edu.kit.ipd.descartes.adaptation.model.adaptation.exceptions.InvalidAdaptationPlan;
 import edu.kit.ipd.descartes.adaptation.model.adaptation.exceptions.OperationNotPerformedException;
 import edu.kit.ipd.descartes.adaptation.model.repository.dmm.AdaptationProcessModelLoader;
-import edu.kit.ipd.descartes.adaptation.util.BlueYonderExperimentTracker;
-import edu.kit.ipd.descartes.adaptation.util.IObserver;
 import edu.kit.ipd.descartes.mm.adaptation.AbstractControlFlowElement;
 import edu.kit.ipd.descartes.mm.adaptation.Action;
 import edu.kit.ipd.descartes.mm.adaptation.ActionReference;
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticsHistory.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticsHistory.java
deleted file mode 100644
index ce525203..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/TacticsHistory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package edu.kit.ipd.descartes.adaptation;
-
-import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.util.LinkedList;
-import java.util.List;
-
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-
-public class TacticsHistory {
-	
-	public static final String NO_RESULT = "NoResult";
-
-	private List<WeightedTactic> wTactic;
-	private List<String> result;
-	private List<Boolean> tacticWasSuccessful;
-
-	private static TacticsHistory instance = null;
-
-	private TacticsHistory() {
-		wTactic = new LinkedList<WeightedTactic>();
-		result = new LinkedList<String>();
-		tacticWasSuccessful = new LinkedList<Boolean>();
-	}
-
-	public static TacticsHistory getInstance() {
-		if (instance == null)
-			instance = new TacticsHistory();
-
-		return instance;
-	}
-
-	public void add(WeightedTactic weightedTactic, String resultId,
-			boolean tacticWasSuccesful) {
-		wTactic.add(weightedTactic);
-		result.add(resultId);
-		this.tacticWasSuccessful.add(tacticWasSuccesful);
-	}
-
-	public WeightedTactic getLatestAppliedTactic() {
-	    if (wTactic.size() <= 0)
-	        return null;
-	    else
-	        return wTactic.get(wTactic.size() - 1);
-	}
-
-	public String getLatestResultId() {
-		return result.get(result.size() - 1);
-	}
-
-	public boolean wasLatestTacticSuccessful() {
-		return tacticWasSuccessful.get(tacticWasSuccessful.size() - 1);
-	}
-
-	public int size() {
-		if (wTactic.size() == result.size() && result.size() == tacticWasSuccessful.size()) 
-			return wTactic.size();
-		return -1;
-	}
-
-	public void printToSysOut() {
-		print(System.out);
-	}
-	
-	private void print(PrintStream stream) {
-		PrintWriter out = new PrintWriter(stream);
-		
-		out.println(" A P P L I E D    T A C T I C S ");
-		
-		for (int i = 0; i < wTactic.size(); i++) {
-			out.print(String
-					.format("Applied tactic %1$3d: %2$30s. Result ID: %3$20s. Successful: %4$5s.%n",
-							i + 1, wTactic.get(i).getUsedTactic().getName(),
-							result.get(i), tacticWasSuccessful.get(i)));
-		}
-		out.flush();
-	}
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java
deleted file mode 100644
index 41a9ab12..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/IPerformanceDataRepositoryHandler.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-
-public interface IPerformanceDataRepositoryHandler {
-    
-    public void load(String modelFileUri);
-    
-    public Impact getLatestImpact();
-    public Impact getLatestImpact(WeightedTactic tactic);
-
-    public Result getCurrentSystemState();
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java
deleted file mode 100644
index e3b2426f..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHandler.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import static edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo.PerfDataRepoConverter.convertObservableImpact;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emf.common.util.URI;
-
-import edu.kit.ipd.descartes.adaptation.TacticsHistory;
-import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader;
-import edu.kit.ipd.descartes.adaptation.model.repository.dmm.AdaptationProcessModelLoader;
-import edu.kit.ipd.descartes.adaptation.util.BlueYonderExperimentTracker;
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-import edu.kit.ipd.descartes.ql.models.repository.Observation;
-import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
-
-public class ObservationRepositoryHandler implements IPerformanceDataRepositoryHandler {
-
-    private BlueYonderExperimentTracker tracker = BlueYonderExperimentTracker.getInstance();
-    private static Logger logger = Logger.getLogger(ObservationRepositoryHandler.class);
-    private AbstractEcoreModelLoader modelLoader = null;
-    private ObservationRepository repository = null;
-
-    public ObservationRepositoryHandler() {
-        modelLoader = ObservationRepositoryModelLoader.getInstance();
-        logger.debug("ObservationRepositoryHandler loaded.");
-    }
-
-    @Override
-    public Impact getLatestImpact() {
-        return convertObservableImpact(repository.getLatestImpact());
-    }
-
-    @Override
-    public void load(String modelFileUri) {
-        repository = (ObservationRepository) modelLoader.load(URI.createFileURI(modelFileUri));
-    }
-
-    @Override
-    public Result getCurrentSystemState() {
-        WeightedTactic latestTactic = TacticsHistory.getInstance().getLatestAppliedTactic();
-        Observation o = null;
-        
-        if (latestTactic == null) {
-            o = repository.getLatestObservation();
-        } else {
-            // TODO: Blue Yonder specific, introduce abstraction layer
-            String expName = tracker.getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter());
-            logger.debug("Searching for result of " + expName);
-            o = ObservationRepositoryHelper.getResultEndingWith(expName, repository);
-        }
-
-        return PerfDataRepoConverter.convertResult(o);
-    }
-
-    @Override
-    public Impact getLatestImpact(WeightedTactic tactic) {
-        String expName = tracker.getExperimentNameForDistributedDataCenter(AdaptationProcessModelLoader.getDistributedDataCenter());
-        logger.debug("Searching for impact of " + expName);
-        Impact latestImpact = PerfDataRepoConverter.convertObservableImpact(ObservationRepositoryHelper
-                .searchImpactOfTactic(expName, repository));
-        return latestImpact;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java
deleted file mode 100644
index 578508a2..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryHelper.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.util.EcoreUtil;
-
-import edu.kit.ipd.descartes.ql.models.repository.ObservableImpact;
-import edu.kit.ipd.descartes.ql.models.repository.Observation;
-import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
-
-public class ObservationRepositoryHelper {
-    
-    public static ObservableImpact searchImpactOfTactic(String name, ObservationRepository repository) {
-        // Get correct result
-        Observation o = getResultEndingWith(name, repository);
-
-        // Derive impact from result
-        ObservableImpact i = getImpactForObservation(o, repository);
-        return i;
-    }
-
-    public static ObservableImpact getImpactForObservation(Observation o, ObservationRepository repo) {
-        if (o == null || repo == null)
-            return null;
-        
-        List<ObservableImpact> impacts = repo.getImpacts();
-        for (ObservableImpact oi : impacts) {
-            if (EcoreUtil.equals(oi.getAfter(), o))
-                return oi;
-        }
-
-        return null;
-    }
-
-    /**
-     * Searches the observation repository for an observation that ends with the given suffix.
-     * 
-     * @param suffix
-     * @return first result that ends the given suffix, null otherwise.
-     */
-    public static Observation getResultEndingWith(String suffix, ObservationRepository repo) {
-        if (suffix == null || repo == null)
-            return null;
-        
-        List<Observation> results = repo.getObservations();
-        for (Observation o : results) {
-            if (o.getIdentifier().endsWith(suffix))
-                return o;
-        }
-        return null;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java
deleted file mode 100644
index 56eb8cfa..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/ObservationRepositoryModelLoader.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader;
-import edu.kit.ipd.descartes.ql.models.repository.RepositoryPackage;
-
-public class ObservationRepositoryModelLoader extends AbstractEcoreModelLoader {
-
-    public static final EPackage[] OBSERVATION_REPO_EPACKAGES = new EPackage[] { 
-        RepositoryPackage.eINSTANCE
-        };
-
-    private static ObservationRepositoryModelLoader instance = null;
-
-    public static ObservationRepositoryModelLoader getInstance() {
-        if (instance == null) {
-            instance = new ObservationRepositoryModelLoader();
-        }
-        return instance;
-    }
-    
-    private ObservationRepositoryModelLoader() {
-        initializeResourceSet(new ResourceSetImpl());
-    }
-    
-    @Override
-    public void initializeResourceSet(ResourceSet resourceSet) {
-        setResourceSet(resourceSet);
-        
-        /* Register the default resource factory -- only needed for stand-alone! */
-        getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap()
-                .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
-
-        /* Register also the packages needed for the DMM meta model */
-        for (EPackage ePackage : OBSERVATION_REPO_EPACKAGES) {
-            getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put(ePackage.getNsURI(), ePackage);
-        }
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java
deleted file mode 100644
index 5aacbad2..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerfDataRepoConverter.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.MeasuredEntity;
-import edu.kit.ipd.descartes.perfdatarepo.MetricType;
-import edu.kit.ipd.descartes.perfdatarepo.MetricValue;
-import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoFactory;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.DecimalResult;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Entity;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Probe;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Resource;
-import edu.kit.ipd.descartes.ql.models.mapping.domain.Service;
-import edu.kit.ipd.descartes.ql.models.mapping.mapping.EntityMapping;
-import edu.kit.ipd.descartes.ql.models.repository.ObservableImpact;
-import edu.kit.ipd.descartes.ql.models.repository.Observation;
-
-public class PerfDataRepoConverter {
-    
-    public static Impact convertObservableImpact(ObservableImpact o) {
-        if (o == null)
-            return null;
-        Impact impact = PerfdatarepoFactory.eINSTANCE.createImpact();
-        impact.setId(o.getIdentifier());
-        impact.setName("ObservableImpact (ID: " + o.getIdentifier() + ")");
-        impact.setBefore(convertResult(o.getBefore()));
-        impact.setAfter(convertResult(o.getAfter()));
-        return impact;
-    }
-
-    public static Result convertResult(Observation o) {
-        Result result = PerfdatarepoFactory.eINSTANCE.createResult();
-        result.setId(o.getIdentifier());
-        result.setName("Observation (ID: " + o.getIdentifier() + ")");
-        Collection<MetricValue> values = convertMapping(o.getObservation());
-        result.getMetricValues().addAll(values);
-        return result;
-    }
-
-    public static Collection<MetricValue> convertMapping(EntityMapping observation) {
-        Collection<MetricValue> values = new ArrayList<MetricValue>();
-        
-        for (Resource r : observation.getResources()) {
-            values.addAll(convertProbes(r));        
-        }
-        
-        for (Service s : observation.getServices()) {
-            values.addAll(convertProbes(s));   
-        }
-        
-        return values;
-    }
-
-    private static Collection<MetricValue> convertProbes(Entity e) {
-        Collection<MetricValue> values = new ArrayList<MetricValue>();
-        MetricType mType = PerfdatarepoFactory.eINSTANCE.createMetricType();
-        mType.setName(e.getProbes().get(0).getMetricName());
-        mType.setId(e.getProbes().get(0).getMetricName());
-        MeasuredEntity entity = PerfdatarepoFactory.eINSTANCE.createMeasuredEntity();
-        entity.setName(e.getAlias());
-        entity.setId(e.getIdentifier());
-
-        for (Probe p : e.getProbes()) {
-            DecimalResult r = (DecimalResult) p;
-            MetricValue value = PerfdatarepoFactory.eINSTANCE.createMetricValue();
-            value.setMeasuredEntity(entity);
-            value.setName(e.getAlias() + ": " + r.getMetricName());
-            value.setMetricType(mType);
-            value.setValue(r.getValue().doubleValue());
-            values.add(value);
-        }
-        
-        return values;
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java
deleted file mode 100644
index b36b2ced..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandler.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.perfdatarepo.Impact;
-import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
-import edu.kit.ipd.descartes.perfdatarepo.Result;
-
-public class PerformanceDataRepositoryHandler implements IPerformanceDataRepositoryHandler {
-    
-    private static Logger logger = Logger.getLogger(PerformanceDataRepositoryHandler.class); 
-    
-    private int iteration = 0;
-    
-    private PerformanceDataRepository repository = null;
-    private PerformanceDataRepositoryModelLoader modelLoader = null;
-    
-    public PerformanceDataRepositoryHandler() {
-        modelLoader = PerformanceDataRepositoryModelLoader.getInstance();
-        logger.debug("PerformanceDataRepositoryHandler instantiated.");
-    }
-    
-    public void load(String fileUri) {
-        repository = modelLoader.load(URI.createFileURI(fileUri));
-    }
-
-    @Override
-    public Impact getLatestImpact() {
-        EList<Impact> impactHistory = repository.getImpactHistory();
-        Impact mostRecentImpact =  impactHistory.get(impactHistory.size() - 1);
-                
-        for (Impact currentImpact : impactHistory) {
-            Result afterResult = currentImpact.getAfter();
-            if (afterResult.getTimestamp().compareTo(mostRecentImpact.getAfter().getTimestamp()) > 0 )
-                mostRecentImpact = currentImpact;
-        }
-        
-        return mostRecentImpact;
-    }
-
-    @Override
-    public Impact getLatestImpact(WeightedTactic tactic) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public Result getCurrentSystemState() {
-        return repository.getResultHistory().get(iteration++);
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java
deleted file mode 100644
index d44e6f4b..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryHandlerFactory.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
-import edu.kit.ipd.descartes.ql.models.repository.ObservationRepository;
-
-public class PerformanceDataRepositoryHandlerFactory {
-
-    public static IPerformanceDataRepositoryHandler createHandler(String repositoryType) {
-
-        if (repositoryType.equals(PerformanceDataRepository.class.getName()))
-            return new PerformanceDataRepositoryHandler();
-        
-        if (repositoryType.equals(ObservationRepository.class.getName()))
-            return new ObservationRepositoryHandler();
-        
-        return null;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java
deleted file mode 100644
index 5e2eeb6b..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/model/repository/perfdatarepo/PerformanceDataRepositoryModelLoader.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.model.repository.perfdatarepo;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
-
-import edu.kit.ipd.descartes.adaptation.model.repository.AbstractEcoreModelLoader;
-import edu.kit.ipd.descartes.perfdatarepo.PerfdatarepoPackage;
-import edu.kit.ipd.descartes.perfdatarepo.PerformanceDataRepository;
-
-public class PerformanceDataRepositoryModelLoader extends AbstractEcoreModelLoader {
-
-    public static final EPackage[] PERF_DATA_REPO_EPACKAGES = new EPackage[] { PerfdatarepoPackage.eINSTANCE };
-
-    private static PerformanceDataRepositoryModelLoader instance = null;
-
-    public static PerformanceDataRepositoryModelLoader getInstance() {
-        if (instance == null) {
-            instance = new PerformanceDataRepositoryModelLoader();
-        }
-        return instance;
-    }
-
-
-    private PerformanceDataRepositoryModelLoader() {
-        initializeResourceSet(new ResourceSetImpl());
-    }
-
-    @Override
-    public void initializeResourceSet(ResourceSet resourceSet) {
-        setResourceSet(resourceSet);
-        /* Register the default resource factory -- only needed for stand-alone! */
-        getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap()
-                .put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
-
-        /* Register also the packages needed for the DMM meta model */
-        for (EPackage ePackage : PERF_DATA_REPO_EPACKAGES) {
-            getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put(ePackage.getNsURI(), ePackage);
-        }
-
-    }
-
-    @Override
-    public PerformanceDataRepository load(URI uri) {
-        return (PerformanceDataRepository) super.load(uri);
-    }
-
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/BlueYonderExperimentTracker.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/BlueYonderExperimentTracker.java
deleted file mode 100644
index 14dc5362..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/BlueYonderExperimentTracker.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.util;
-
-import edu.kit.ipd.descartes.adaptation.TacticExecutor;
-import edu.kit.ipd.descartes.mm.adaptation.WeightedTactic;
-import edu.kit.ipd.descartes.mm.resourcelandscape.ComputingInfrastructure;
-import edu.kit.ipd.descartes.mm.resourcelandscape.DistributedDataCenter;
-
-public class BlueYonderExperimentTracker implements IObserver {
-
-    private static final String RESULT_NAME_TEMPLATE = "Xreq-par-$1Yps-desc4-gw-desc3-db-desc2-predict-Z ps=$2-req=5-size=50000";
-//    private static final String RESULT_NAME_TEMPLATE = "Xreq-par-$1$3Yps-desc4-gw-desc3-db-desc2-predict-Z ps=$2-req=40-size=500000";
-//    private static final String RESULT_NAME_TEMPLATE = "Xreq-par-$1$3Yps-desc4-gw-desc3-db-desc2-predict-Z ps=$2-req=30-size=500000";
-    private static BlueYonderExperimentTracker instance = null;
-    private int psOnDescOne = 0;
-    private int psOnDescFour = 1;
-    private int psOnDescOneBackup;
-    private int psOnDescFourBackup;
-
-    public void setSubject(TacticExecutor te) {
-        te.register(this);
-    }
-
-    public String getCurrentExperimentName() {
-        String result = RESULT_NAME_TEMPLATE;
-
-        if (psOnDescOne > 0)
-            result = RESULT_NAME_TEMPLATE.replace("$1", psOnDescOne + "ps-desc1-");
-        else
-            result = RESULT_NAME_TEMPLATE.replace("$1", "");
-
-        result = result.replace("$2", Integer.toString(psOnDescFour));
-        return result;
-    }
-
-    public void track(WeightedTactic tactic) {
-        String execTacticName = tactic.getName();
-        backupValues();
-
-        if (execTacticName.contains("Consolidate")) {
-            int loopCount = 1;
-            try {
-                loopCount = Integer.parseInt(tactic.getUsedTactic().getInputParams().get(0).getValue());
-            } catch (Exception e) {
-                
-            }
-            if (execTacticName.contains("Low")) {
-                psOnDescFour = psOnDescFour - loopCount;
-                psOnDescOne = psOnDescOne + loopCount;
-            } else if (execTacticName.contains("High")) {
-                psOnDescOne = psOnDescOne - loopCount;
-                psOnDescFour = psOnDescFour + loopCount;
-            }
-        } else if (execTacticName.contains("Low")) {
-            psOnDescOne++;
-            if (execTacticName.contains("Migrate")) {
-                assert psOnDescFour > 0;
-                psOnDescFour--;
-            }
-        } else if (execTacticName.contains("High")) {
-            psOnDescFour++;
-            if (execTacticName.contains("Migrate")) {
-                assert psOnDescOne > 0;
-                psOnDescOne--;
-            }
-        }
-    }
-
-    private void backupValues() {
-        psOnDescOneBackup = psOnDescOne;
-        psOnDescFourBackup = psOnDescFour;
-    }
-
-    @Override
-    public void undo() {
-        resetValues();
-    }
-
-    private void resetValues() {
-        psOnDescOne = psOnDescOneBackup;
-        psOnDescFour = psOnDescFourBackup;
-    }
-
-    public static BlueYonderExperimentTracker getInstance() {
-        if (instance == null)
-            instance = new BlueYonderExperimentTracker();
-        return instance;
-    }
-
-    public String getExperimentNameForDistributedDataCenter(DistributedDataCenter distributedDataCenter) {
-        int[] psInstances = new int[4]; // 4 because currently we have 4 machines in the BY scenario
-        
-        for (int i = 0; i < psInstances.length; i++)
-        {
-            try {
-                // Count number of instances on the desc1 - desc4 machines
-                psInstances[i] = ((ComputingInfrastructure) distributedDataCenter.getConsistsOf().get(0).getContains().get(i)).getContains().size();
-            } catch (Exception e) {
-                // If machine does not exist, there are also no instances on it
-                psInstances[i] = 0;
-            }
-        }
-        
-        String result = RESULT_NAME_TEMPLATE;
-
-        if (psInstances[0] > 0)
-            result = result.replace("$1", psInstances[0] + "ps-desc1-");
-        else
-            result = result.replace("$1", "");
-        
-        if (psInstances[1] > 1) // subtract 1 instance because GW/DB is also running here
-            result = result.replace("$3", (psInstances[1] - 1) + "ps-desc2-");
-        else
-            result = result.replace("$3", "");
-
-        result = result.replace("$2", Integer.toString(psInstances[3]));
-        return result;
-    }
-}
diff --git a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/IObserver.java b/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/IObserver.java
deleted file mode 100644
index 42e15cd8..00000000
--- a/edu.kit.ipd.descartes.adaptation/src/edu/kit/ipd/descartes/adaptation/util/IObserver.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package edu.kit.ipd.descartes.adaptation.util;
-
-public interface IObserver {
-    
-    public void undo();
-
-}
-- 
GitLab