From 87b4312e0e8474d6733bd9759d2e3bf0d5735911 Mon Sep 17 00:00:00 2001
From: Alexander Diewald <diewald@fortiss.org>
Date: Thu, 1 Feb 2018 12:33:19 +0000
Subject: [PATCH] Exploration.alg: Rename IDeployableComponentAdapter ->
 ITaskAdapter

* Above renaming.
* Introduce the empty IComponentAdapter interface to reference AF3 components.
refs 3254
---
 .../fortiss/af3/exploration/alg/dse/.ratings  |   6 +-
 .../af3/exploration/alg/dse/DSEFactory.java   |   4 +-
 .../dse/ImplicitExplorationTargetFactory.java |   4 +-
 .../alg/dse/TaskMappingFactory.java           |   4 +-
 .../backend/opt4j/create/taskmapping/.ratings |   4 +-
 .../AbstractTaskMappingCreator.java           |   4 +-
 .../taskmapping/TaskMappingCreator.java       |   4 +-
 .../alg/dse/backend/opt4j/encoding/.ratings   |   2 +-
 .../opt4j/encoding/MappingEntryBase.java      |   4 +-
 .../dse/backend/opt4j/encoding/comm/.ratings  |   2 +-
 .../opt4j/encoding/comm/MessageEncoding.java  |   4 +-
 .../backend/opt4j/encoding/platform/.ratings  |   2 +-
 .../PlatformCommunicationGraphEncoding.java   |   4 +-
 .../backend/opt4j/encoding/taskgraph/.ratings |   2 +-
 .../encoding/taskgraph/TaskGraphEncoding.java |  76 ++++++-------
 .../opt4j/encoding/taskmapping/.ratings       |   4 +-
 .../taskmapping/TaskMappingEncoding.java      |  76 ++++++-------
 .../taskmapping/TaskMappingEntry.java         |   4 +-
 .../taskmapping/abstractmapping/.ratings      |   4 +-
 .../AbstractTaskMappingEncoding.java          |  16 +--
 .../AbstractTaskMappingEntry.java             |   8 +-
 .../encoding/taskmapping/constraint/.ratings  |   4 +-
 .../InternalReplicationConstraint.java        |   4 +-
 .../InternalSeparationConstraint.java         |   4 +-
 .../taskmapping/instantiatedmapping/.ratings  |  12 +-
 .../FailSilentTaskMappingEncoding.java        |  10 +-
 .../FailSilentTaskMappingEntry.java           |   4 +-
 ...ultDetectionVotingTaskMappingEncoding.java |  10 +-
 .../FaultDetectionVotingTaskMappingEntry.java |   4 +-
 .../InstantiatedTaskMappingEncoding.java      |  18 +--
 .../InstantiatedTaskMappingEntry.java         |  34 +++---
 .../extensions/compositegene/create/.ratings  |   2 +-
 .../create/ComposableCreatorBase.java         |   4 +-
 .../alg/dse/backend/opt4j/mating/.ratings     |   2 +-
 .../mating/MatingCrossoverMutateRepair.java   |   4 +-
 .../backend/opt4j/operator/crossover/.ratings |   6 +-
 .../crossover/CrossoverAllocationBase.java    |  10 +-
 .../CrossoverRandManyAllocation.java          |  12 +-
 .../crossover/CrossoverSingleAllocation.java  |  10 +-
 .../mutate/taskinstantiation/.ratings         |   2 +-
 .../taskinstantiation/MutateTaskInstance.java |  16 +--
 .../operator/mutate/taskmapping/.ratings      |  10 +-
 .../mutate/taskmapping/MutateAllocation.java  |  16 +--
 .../mutate/taskmapping/MutateRedundancy.java  |  10 +-
 .../MutateRedundancyDecrement.java            |   6 +-
 .../MutateRedundancyIncrement.java            |   6 +-
 .../mutate/taskmapping/MutateTasksBase.java   |   4 +-
 .../dse/backend/opt4j/problem/comm/.ratings   |   2 +-
 .../opt4j/problem/comm/MessageDecoder.java    |   4 +-
 .../problem/instantiatetaskgraph/.ratings     |   2 +-
 .../InstantiatedTaskMappingDecoder.java       |  68 ++++++------
 .../opt4j/problem/safetyfunction/.ratings     |   6 +-
 .../safetyfunction/SFGraphDecoder.java        |  14 +--
 .../SFMappingConstraintDecoder.java           |   6 +-
 .../safetyfunction/SFMappingDecoder.java      |  28 ++---
 .../opt4j/problem/taskmapping/.ratings        |   2 +-
 .../taskmapping/TaskMappingDecoderBase.java   |   4 +-
 .../problem/taskmapping/instantiate/.ratings  |   4 +-
 .../FailSilentAbstractTaskMappingDecoder.java |  10 +-
 ...ctionVotingAbstractTaskMappingDecoder.java |  10 +-
 .../alg/dse/backend/opt4j/solution/.ratings   |   4 +-
 .../opt4j/solution/StrictTTSchedule.java      |  10 +-
 .../dse/backend/opt4j/solution/TimeSlot.java  |  12 +-
 .../exploration/alg/dse/evaluator/.ratings    |   2 +-
 .../dse/evaluator/TaskMappingEvaluator.java   |  10 +-
 .../alg/dse/evaluator/constraint/.ratings     |  12 +-
 ...entMultiAllocationConstraintEvaluator.java |   6 +-
 ...ntMultiDislocationConstraintEvaluator.java |   4 +-
 .../DeadlineConstraintEvaluator.java          |  14 +--
 .../MappingEvaluatorConstraint.java           |   8 +-
 .../constraint/PeriodConstraintEvaluator.java |  10 +-
 ...fetyIntegrityLevelConstraintEvaluator.java |  22 ++--
 .../alg/dse/evaluator/objective/.ratings      |  10 +-
 .../objective/EnergyObjectiveEvaluator.java   |   8 +-
 .../FailSilentReliabilityEvaluator.java       |   4 +-
 ...ltDetectionVotingReliabilityEvaluator.java |  28 ++---
 .../objective/MappingEvaluatorObjective.java  |   6 +-
 .../objective/ReliabilityEvaluatorBase.java   |  16 +--
 .../dse/modeltransformation/comparch/.ratings |   6 +-
 .../ComponentArchitectureInitializer.java     |   4 +-
 .../ComponentArchitectureInstantiator.java    |  10 +-
 .../ComponentArchitectureReplicator.java      |   8 +-
 .../modeltransformation/deployment/.ratings   |   4 +-
 .../deployment/DeploymentFinalizer.java       |  12 +-
 .../ExplorationSolutionToDeployment.java      |  12 +-
 .../dse/modeltransformation/safety/.ratings   |   4 +-
 .../safety/SafetyChannelPortReplicator.java   |   4 +-
 .../safety/SafetyDiagUnitRemover.java         |   4 +-
 .../alg/dse/sysmodel/arch/.ratings            |  12 +-
 .../dse/sysmodel/arch/IComponentAdapter.java  |  24 ++++
 .../sysmodel/arch/IExecutionUnitAdapter.java  |   2 +-
 .../sysmodel/arch/ISafetyFunctionAdapter.java |  18 +--
 .../alg/dse/sysmodel/arch/ISignalAdapter.java |   4 +-
 ...omponentAdapter.java => ITaskAdapter.java} |  56 +++++-----
 .../dse/sysmodel/arch/SystemModelAdapter.java | 104 +++++++++---------
 .../alg/dse/sysmodel/arch/af3/.ratings        |   8 +-
 .../af3/AF3DeployableComponentAdapter.java    |  32 +++---
 .../arch/af3/AF3ExecutionUnitAdapter.java     |   4 +-
 .../sysmodel/arch/af3/AF3SignalAdapter.java   |  18 +--
 .../arch/af3/AF3SystemModelAdapter.java       |  62 +++++------
 .../alg/dse/sysmodel/arch/taskgraph/.ratings  |   8 +-
 .../arch/taskgraph/AcyclicTaskGraph.java      |  18 +--
 .../arch/taskgraph/DefaultTaskGraph.java      |  64 +++++------
 .../sysmodel/arch/taskgraph/TaskGraph.java    |  32 +++---
 .../arch/taskgraph/TaskGraphInstantiator.java |  54 ++++-----
 .../alg/dse/sysmodel/comm/.ratings            |   2 +-
 .../dse/sysmodel/comm/MessageGenerator.java   |  18 +--
 .../alg/dse/sysmodel/sched/.ratings           |   2 +-
 .../alg/dse/sysmodel/sched/SchedulerBase.java |  16 +--
 .../alg/dse/sysmodel/sched/comm/.ratings      |   2 +-
 .../sysmodel/sched/comm/TDMABusScheduler.java |   6 +-
 .../alg/dse/sysmodel/sched/proc/.ratings      |   6 +-
 .../sysmodel/sched/proc/EDFSchedulerBase.java |  34 +++---
 .../sched/proc/FailSilentEDFScheduler.java    |   6 +-
 .../FaultDetectionVotingEDFScheduler.java     |   8 +-
 .../fortiss/af3/exploration/alg/port/.ratings |   2 +-
 .../af3/exploration/alg/port/plot/.ratings    |   2 +-
 .../port/plot/ScheduleToolTipGenerator.java   |   6 +-
 .../fortiss/af3/exploration/alg/util/.ratings |   8 +-
 .../af3/exploration/alg/util/AF3Utils.java    |  12 +-
 .../alg/util/ExplorationAlgDebugUtils.java    |   6 +-
 .../af3/exploration/alg/util/GraphUtils.java  |  16 +--
 .../alg/util/TransformationUtils.java         |  30 ++---
 123 files changed, 802 insertions(+), 776 deletions(-)
 create mode 100644 org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IComponentAdapter.java
 rename org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/{IDeployableComponentAdapter.java => ITaskAdapter.java} (59%)

diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/.ratings
index 949d73e7..93bce2fc 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/.ratings
@@ -1,6 +1,6 @@
 CompositeExplorationSolution.java 528283a3dd57500539b2e11dd3d3eb35512de9b8 RED
-DSEFactory.java 4a1dab2f05976a1bd191aef340b94b62ef0c6ece RED
+DSEFactory.java d8163c2b1df1b9cc690367140096e4b29d4dd2ae RED
 Explorer.java b14a77607cfadf81aed523d7b53b14559482c44c RED
-ImplicitExplorationTargetFactory.java 7ce651a2161c71a2a90acf0f32b1e50ee23f160f RED
+ImplicitExplorationTargetFactory.java 897d89b5d5beb580da9007290acc835ff15e1e7c RED
 SolutionQuantification.java efd31f192c3adbf1a4434452a19eb836a17390e2 RED
-TaskMappingFactory.java 5c01939ddbc3bf44d81094f4112dbd301a26dee4 RED
+TaskMappingFactory.java 87cfb7ec5e24acb167fa4ffd7210b093fa5b5b4d RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/DSEFactory.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/DSEFactory.java
index 71a21ce4..8c29476a 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/DSEFactory.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/DSEFactory.java
@@ -58,7 +58,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.taskmapping.ins
 import org.fortiss.af3.exploration.alg.dse.evaluator.ArchitectureEvaluator;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.FailSilentExecModelFactory;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.FaultDetectionVotingExecModelFactory;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
 import org.fortiss.af3.exploration.moea.model.feature.SafetyExploration;
@@ -279,7 +279,7 @@ public class DSEFactory {
 	 * describes
 	 * the problem of instantiating a mapped logical/functional application architecture to a
 	 * defined platform architecture. Here, the focus is on optimizing the instantiation of
-	 * "abstract" {@link IDeployableComponentAdapter}s.
+	 * "abstract" {@link ITaskAdapter}s.
 	 * 
 	 * @param tmFactory
 	 *            Factory which manages the creation tasks associated with task mapping problems
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/ImplicitExplorationTargetFactory.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/ImplicitExplorationTargetFactory.java
index 897b5870..9a8537ac 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/ImplicitExplorationTargetFactory.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/ImplicitExplorationTargetFactory.java
@@ -19,7 +19,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 
 import org.fortiss.af3.component.model.Component;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
 import org.fortiss.af3.exploration.alg.exception.ConstraintGenerationException;
@@ -97,7 +97,7 @@ public class ImplicitExplorationTargetFactory {
 					throws ConstraintGenerationException {
 		Collection<ExplorationConstraint<?>> constraints = new ArrayList<>();
 		for(TaskGraph tg : systemModelAdapter.getTaskGraphs()) {
-			for(IDeployableComponentAdapter<?> component : tg.getTasks()) {
+			for(ITaskAdapter<?> component : tg.getTasks()) {
 				if(!(component.getObject() instanceof Component)) {
 					throw new ConstraintGenerationException(PeriodConstraint.class,
 							"Invalid model element type for this constraint: " +
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/TaskMappingFactory.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/TaskMappingFactory.java
index 518ebf3e..31c2532d 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/TaskMappingFactory.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/TaskMappingFactory.java
@@ -35,7 +35,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.comm.MessageDec
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.instantiatetaskgraph.InstantiatedTaskMappingDecoder;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.instantiatetaskgraph.InstantiatedTaskMappingDecoderAcyclic;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.taskmapping.instantiate.AbstractTaskMappingDecoder;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.comm.IMessageRouter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.comm.ShortestPathRouter;
@@ -295,7 +295,7 @@ public abstract class TaskMappingFactory<S extends InstantiatedTaskMappingEntry,
 	/**
 	 * Creates a scheduling strategy-"independent" decoder for task mapping encodings. It provides a
 	 * {@link ShortestPathRouter} to find the shortest communication path between two communicating
-	 * instantiations of an {@link IDeployableComponentAdapter} for a given platform.
+	 * instantiations of an {@link ITaskAdapter} for a given platform.
 	 */
 	public IMessageRouter
 			createShortestPathRouter(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter) {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings
index 5abce2de..3de3e3fc 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/.ratings
@@ -1,4 +1,4 @@
-AbstractTaskMappingCreator.java 6c3f2cd98a2d40f6fc0e1dbfca0ce3cddc5a7961 RED
+AbstractTaskMappingCreator.java 64a04dad3e653ee9b5bd91dfa842e2043eda3e94 RED
 FailSilentTaskMappingCreator.java 6aa1828a87ab6bdaa8077101e004fe4ddddd8a7f RED
 FaultDetectionVotingTaskMappingCreator.java 2cc96c6197eaafa803b9794246ff40346802342a RED
-TaskMappingCreator.java d39c3554074646dfe9acc343c268baacd2960027 RED
+TaskMappingCreator.java d3c381308b8c8cafda84feed0ea443f62ea563d3 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/AbstractTaskMappingCreator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/AbstractTaskMappingCreator.java
index ec847aee..4f5f45b2 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/AbstractTaskMappingCreator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/AbstractTaskMappingCreator.java
@@ -23,7 +23,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.graph.DecoderDependencyGraph;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 import org.fortiss.af3.exploration.alg.service.IExplorationEncoding;
@@ -55,7 +55,7 @@ public class AbstractTaskMappingCreator
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	@Override
 	public AbstractTaskMappingEncoding createComposable(FlatGenotypeMap createdGenotypes,
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/TaskMappingCreator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/TaskMappingCreator.java
index 1b5994e0..9eaa1507 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/TaskMappingCreator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/create/taskmapping/TaskMappingCreator.java
@@ -20,7 +20,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.create.ComposableCreatorBase;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.graph.DecoderDependencyGraph;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
 import org.opt4j.core.Genotype;
@@ -34,7 +34,7 @@ import com.google.inject.Inject;
  * @author huang
  */
 
-public abstract class TaskMappingCreator<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public abstract class TaskMappingCreator<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends ComposableCreatorBase<T> {
 
 	/** DSE specification. */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings
index cd67613f..eee0df77 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/.ratings
@@ -1,4 +1,4 @@
 ArchExpSubEncoding.java 60e13a2cb13bb36e9f8f7149f322dbed5398eafb RED
 ArchitectureExplorationEncoding.java e7ff265079ae5838bf84abf9d05712409031a970 RED
 MappingEncoding.java f23852b2e5ae6e327a6c5609142e0307ca6bf5a1 RED
-MappingEntryBase.java 11073c027f7f28dfa1a8a3fe80cca68b0a66b48a RED
+MappingEntryBase.java 8dfa84697f5042eb09522d4fc49a58115c6e3027 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEntryBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEntryBase.java
index 68a351fc..6c8e8c59 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEntryBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/MappingEntryBase.java
@@ -18,7 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding;
 import java.util.Collection;
 
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
@@ -37,7 +37,7 @@ public abstract class MappingEntryBase<S extends IRequestAdapter<?>, T extends I
 	/** Deployment target to which task is mapped */
 	protected T target;
 
-	/** {@link IDeployableComponentAdapter} that is "realized" by this {@link TaskMappingEntry}. */
+	/** {@link ITaskAdapter} that is "realized" by this {@link TaskMappingEntry}. */
 	protected S source;
 
 	/** Associated {@link IMappingEntry}s that were generated during the DSE process. */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings
index 612a4bf2..0f4a0e17 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/.ratings
@@ -1 +1 @@
-MessageEncoding.java 07156d0dd672656302f8d1eac27018ed32e718d1 RED
+MessageEncoding.java f52ba1f6179357209a1fd265238746102a1c3728 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java
index f4a8178e..71547776 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/MessageEncoding.java
@@ -23,7 +23,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.comm.Message;
 import org.fortiss.af3.exploration.alg.service.IExplorationEncoding;
 import org.fortiss.af3.exploration.backend.IDseInputContainer.SignalType;
@@ -34,7 +34,7 @@ import org.fortiss.af3.exploration.backend.IDseInputContainer.SignalType;
  * 
  * @author diewald
  */
-public class MessageEncoding<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class MessageEncoding<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		implements IExplorationEncoding, ComposablePhenotype<T> {
 
 	/** Contains the set of generated messages. */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings
index 6b254b23..c88f38ee 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/.ratings
@@ -1 +1 @@
-PlatformCommunicationGraphEncoding.java 92da4ce692afa447c13769a3bda1f3bb1fa7d783 RED
+PlatformCommunicationGraphEncoding.java cf2aba24c9e569e37996e57b2df017f83a3e28db RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java
index 7fb776ae..c28fd928 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/platform/PlatformCommunicationGraphEncoding.java
@@ -18,7 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.platform;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.PartitionMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.graph.display.JGraphTVisualizer;
@@ -28,7 +28,7 @@ import org.jgrapht.graph.DefaultEdge;
 
 /**
  * Abstracts the communication network present in a platform system meta-model to a flat graph. This
- * graph is needed to manage the communication of logical {@link IDeployableComponentAdapter}s after
+ * graph is needed to manage the communication of logical {@link ITaskAdapter}s after
  * they have been deployed onto a concrete platform. More precisely, the graph is used for routing
  * of (physical) messages and their scheduling on the communication resources, like busses.
  * 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings
index b642ae77..0cd302f7 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/.ratings
@@ -2,4 +2,4 @@ AbstractTaskGraphEncoding.java 79c2482106c0fa2895dc5ca2760bc68e8199ea89 RED
 InstantiatedAcyclicTaskGraphEncoding.java 5446f693086aaa2a0b39e1c8180af186a7c55809 RED
 InstantiatedTaskGraphEncoding.java 1ffb6b33efb6673d51a8ef99822caf42f43b2782 RED
 SafeTaskGraphEncoding.java 49f4c06f6db45e7751794bcc7e3892570c8daa29 RED
-TaskGraphEncoding.java 85067f10567e2104119c61d8e599a7f28f18932d RED
+TaskGraphEncoding.java e9d40278aca607bd27a817c4859b493ef4c32ce3 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java
index 7f069283..a74981b4 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskgraph/TaskGraphEncoding.java
@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
 import org.eclipse.emf.ecore.EObject;
 import org.fortiss.af3.component.model.Component;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.ChannelAdapterWeightedEdge;
@@ -49,20 +49,20 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 	protected Collection<T> taskGraphs;
 
 	/**
-	 * Collection of {@link IDeployableComponentAdapter}s that shall be mapped to deployment targets
+	 * Collection of {@link ITaskAdapter}s that shall be mapped to deployment targets
 	 * ({@link IExecutionUnitAdapter}).
 	 */
-	protected Collection<IDeployableComponentAdapter<C>> deployableComponents = new HashSet<>();
+	protected Collection<ITaskAdapter<C>> deployableComponents = new HashSet<>();
 
 	/**
-	 * Subset of {@link IDeployableComponentAdapter}s from the collection of deployable components
+	 * Subset of {@link ITaskAdapter}s from the collection of deployable components
 	 * that may be replicated.
 	 */
-	protected Collection<IDeployableComponentAdapter<C>> replicableComponents = new HashSet<>();
+	protected Collection<ITaskAdapter<C>> replicableComponents = new HashSet<>();
 
 	/**
 	 * Constructor that initializes {@code this} encoding with the collection of
-	 * {@link IDeployableComponentAdapter}s as they are extracted from the input models.
+	 * {@link ITaskAdapter}s as they are extracted from the input models.
 	 */
 	@SuppressWarnings("unchecked")
 	public TaskGraphEncoding(SystemModelAdapter<C, ?, ?, ?, ?, ?> systemModelAdapter) {
@@ -77,7 +77,7 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 
 	/**
 	 * Constructor that initializes {@code this} encoding with the collection of
-	 * {@link IDeployableComponentAdapter}s as they are extracted from the input models.
+	 * {@link ITaskAdapter}s as they are extracted from the input models.
 	 */
 	public TaskGraphEncoding(SystemModelAdapter<C, ?, ?, ?, ?, ?> systemModelAdapter,
 			Collection<T> taskGraphs) {
@@ -87,8 +87,8 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 		this.deployableComponents.clear();
 
 		for(TaskGraph tg : taskGraphs) {
-			@SuppressWarnings("unchecked") Collection<? extends IDeployableComponentAdapter<C>> tasks =
-					(Collection<? extends IDeployableComponentAdapter<C>>)tg.getTasks();
+			@SuppressWarnings("unchecked") Collection<? extends ITaskAdapter<C>> tasks =
+					(Collection<? extends ITaskAdapter<C>>)tg.getTasks();
 			deployableComponents.addAll(tasks);
 		}
 	}
@@ -109,10 +109,10 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 	}
 
 	/**
-	 * Adds the given {@link IDeployableComponentAdapter} to its corresponding {@link TaskGraph} in
+	 * Adds the given {@link ITaskAdapter} to its corresponding {@link TaskGraph} in
 	 * {@code this} encoding.
 	 */
-	public void addTask(IDeployableComponentAdapter<C> task) {
+	public void addTask(ITaskAdapter<C> task) {
 		// TODO: Here, we use the assumption that the given task refers to a task that is also
 		// present in the system model adapter.
 
@@ -148,10 +148,10 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 
 	/**
 	 * Adds all signals defined in the input models for the given
-	 * {@link IDeployableComponentAdapter} which must be contained in any of the internal
+	 * {@link ITaskAdapter} which must be contained in any of the internal
 	 * {@link TaskGraph}s.
 	 */
-	public void addSignalsOf(IDeployableComponentAdapter<C> task) {
+	public void addSignalsOf(ITaskAdapter<C> task) {
 		// The given task must be in the any of the task graphs!
 
 		T taskGraph = getGraphOf(task, taskGraphs);
@@ -165,12 +165,12 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 				systemTG.getGraph().outgoingEdgesOf(task);
 
 		for(ChannelAdapterWeightedEdge edge : incomingEdges) {
-			IDeployableComponentAdapter<?> source = systemTG.getGraph().getEdgeSource(edge);
+			ITaskAdapter<?> source = systemTG.getGraph().getEdgeSource(edge);
 			taskGraph.getGraph().addEdge(source, task, edge);
 		}
 
 		for(ChannelAdapterWeightedEdge edge : outgoingEdges) {
-			IDeployableComponentAdapter<?> target = systemTG.getGraph().getEdgeTarget(edge);
+			ITaskAdapter<?> target = systemTG.getGraph().getEdgeTarget(edge);
 			taskGraph.getGraph().addEdge(task, target, edge);
 		}
 	}
@@ -179,8 +179,8 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 	 * Adds the signals of a cloned task by querying the existing signals from the clone's original
 	 * task.
 	 */
-	public void addClonedSignalsOf(IDeployableComponentAdapter<C> originalTask,
-			IDeployableComponentAdapter<C> clonedTask) {
+	public void addClonedSignalsOf(ITaskAdapter<C> originalTask,
+			ITaskAdapter<C> clonedTask) {
 		// The given task must be in the any of the task graphs!
 
 		T taskGraph = getGraphOf(originalTask, taskGraphs);
@@ -193,26 +193,26 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 				taskGraph.getGraph().outgoingEdgesOf(originalTask);
 
 		for(ChannelAdapterWeightedEdge edge : incomingEdges) {
-			IDeployableComponentAdapter<?> source = taskGraph.getGraph().getEdgeSource(edge);
+			ITaskAdapter<?> source = taskGraph.getGraph().getEdgeSource(edge);
 			taskGraph.getGraph().addEdge(source, clonedTask,
 					new ChannelAdapterWeightedEdge(edge.getChannelAdapter()));
 		}
 
 		for(ChannelAdapterWeightedEdge edge : outgoingEdges) {
-			IDeployableComponentAdapter<?> target = taskGraph.getGraph().getEdgeTarget(edge);
+			ITaskAdapter<?> target = taskGraph.getGraph().getEdgeTarget(edge);
 			taskGraph.getGraph().addEdge(clonedTask, target,
 					new ChannelAdapterWeightedEdge(edge.getChannelAdapter()));
 		}
 	}
 
 	/**
-	 * Clones the given {@link IDeployableComponentAdapter} and adds it to the corresponding task
+	 * Clones the given {@link ITaskAdapter} and adds it to the corresponding task
 	 * graph and further data structures.
 	 */
-	public IDeployableComponentAdapter<C> cloneTask(IDeployableComponentAdapter<C> task) {
+	public ITaskAdapter<C> cloneTask(ITaskAdapter<C> task) {
 		// Clone the task and add it to the corresponding task graph.
 		TaskGraph taskGraph = getGraphOf(task, taskGraphs);
-		IDeployableComponentAdapter<C> clonedTask = task.clone();
+		ITaskAdapter<C> clonedTask = task.clone();
 		taskGraph.addTask(clonedTask);
 		addClonedSignalsOf(task, clonedTask);
 		// Add the cloned task to the cache sets.
@@ -227,24 +227,24 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 	/** Returns the {@link TaskGraph} containing the given task or {@code null} if none is found. */
 	// TODO: Change the parameter again to IDeployableComponentAdapter<C>: pass the type parameter
 	// to the scheduler.
-	public T getTaskGraphOf(IDeployableComponentAdapter<?> task) {
+	public T getTaskGraphOf(ITaskAdapter<?> task) {
 		return getGraphOf(task, taskGraphs);
 	}
 
 	/** Whether {@code this} encoding contains the given task. */
-	public boolean containsTask(IDeployableComponentAdapter<C> task) {
+	public boolean containsTask(ITaskAdapter<C> task) {
 		return getGraphOf(task, taskGraphs) != null;
 	}
 
 	/**
-	 * Removes the given {@link IDeployableComponentAdapter} from the {@link TaskGraph} containing
+	 * Removes the given {@link ITaskAdapter} from the {@link TaskGraph} containing
 	 * the particular task and from the caches.
 	 * <p>
 	 * <i>Side-note:</i> Each task may be located in only one {@link TaskGraph}.
 	 * 
 	 * @returns {@code true} iff a containing {@link TaskGraph} has been found.
 	 */
-	public boolean removeTask(IDeployableComponentAdapter<C> task) {
+	public boolean removeTask(ITaskAdapter<C> task) {
 		TaskGraph taskGraph = getGraphOf(task, taskGraphs);
 		if(taskGraph != null) {
 			taskGraph.removeTask(task);
@@ -260,9 +260,9 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 	 * Returns the deployable (software) component that are present in the internal
 	 * {@link TaskGraph}s. May contain "abstract" {@link Component}s.
 	 */
-	public Collection<IDeployableComponentAdapter<?>> getDeployableComponents() {
+	public Collection<ITaskAdapter<?>> getDeployableComponents() {
 		// return deployableComponents;
-		Collection<IDeployableComponentAdapter<?>> deplComp = new HashSet<>();
+		Collection<ITaskAdapter<?>> deplComp = new HashSet<>();
 		for(T tg : taskGraphs) {
 			deplComp.addAll(tg.getTasks());
 		}
@@ -271,17 +271,17 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 
 	// TODO: Consider implementing this method as a map, since this operation is run often?
 	/**
-	 * Returns the {@link IDeployableComponentAdapter} that is constructed form the given object.
+	 * Returns the {@link ITaskAdapter} that is constructed form the given object.
 	 * 
 	 * @param originalEObject
-	 *            The object for which the corresponding {@link IDeployableComponentAdapter} shall
+	 *            The object for which the corresponding {@link ITaskAdapter} shall
 	 *            be identified.
-	 * @return The asociated {@link IDeployableComponentAdapter}, or {@code null} if none can be
+	 * @return The asociated {@link ITaskAdapter}, or {@code null} if none can be
 	 *         identified.
 	 */
-	public synchronized IDeployableComponentAdapter<C>
+	public synchronized ITaskAdapter<C>
 			getDeployableComponentOf(EObject originalEObject) {
-		for(IDeployableComponentAdapter<C> deployableComponentAdapter : deployableComponents) {
+		for(ITaskAdapter<C> deployableComponentAdapter : deployableComponents) {
 			if(deployableComponentAdapter.getObject() == originalEObject) {
 				return deployableComponentAdapter;
 			}
@@ -293,18 +293,18 @@ public class TaskGraphEncoding<G extends Genotype, C, T extends TaskGraph>
 	 * Returns the deployable (software) components that my be
 	 * replicated. May contain "abstract" {@link Component}s.
 	 */
-	public Collection<IDeployableComponentAdapter<C>> getReplicableComponents() {
+	public Collection<ITaskAdapter<C>> getReplicableComponents() {
 		return replicableComponents;
 	}
 
 	/**
-	 * Returns the {@link IDeployableComponentAdapter} that wraps the given {@link EObject}. Here,
-	 * only those {@link IDeployableComponentAdapter} are searched which can be actually executed on
+	 * Returns the {@link ITaskAdapter} that wraps the given {@link EObject}. Here,
+	 * only those {@link ITaskAdapter} are searched which can be actually executed on
 	 * {@link ExecutionUnit}s, i.e. "abstract" components are not considered.
 	 */
-	public IDeployableComponentAdapter<C>
+	public ITaskAdapter<C>
 			getReplicableDeployableComponentOf(EObject originalEObject) {
-		for(IDeployableComponentAdapter<C> deployableComponentAdapter : replicableComponents) {
+		for(ITaskAdapter<C> deployableComponentAdapter : replicableComponents) {
 			if(deployableComponentAdapter.getObject() == originalEObject) {
 				return deployableComponentAdapter;
 			}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings
index 3804d0b7..6908df70 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/.ratings
@@ -1,2 +1,2 @@
-TaskMappingEncoding.java 18a5a3aa6edbfaf22497f329e7c4a99f526cc142 RED
-TaskMappingEntry.java 6d6f0d8700aad210d47ee29f7581ed4f231c3d1a RED
+TaskMappingEncoding.java ff2ea5d0f4f9273d97968167e8b4e7a20ae44fea RED
+TaskMappingEntry.java 8872e14a5d29f267ce2be78e9a3f3f817f16edd2 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEncoding.java
index adb2b3ad..3ec72a61 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEncoding.java
@@ -39,7 +39,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.co
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.constraint.InternalSeparationConstraint;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.encoding.ConstrainedEncoding;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
@@ -66,7 +66,7 @@ import com.google.common.collect.Multimap;
  */
 // TODO: The CompositePhenotype is not typed correctly: An additional Type parameter would be needed
 // for the subclass of TaskMappingEncoding and passed to the CompositePhenotype.
-public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<?>, T extends TaskMappingEntry<S, Partition>>
+public abstract class TaskMappingEncoding<S extends ITaskAdapter<?>, T extends TaskMappingEntry<S, Partition>>
 		extends MappingEncoding<TaskMappingEncoding<S, T>, S, Partition, T>
 		implements IMappingEncoding<S, Partition, T>, ComposableGenotype, ArchExpSubEncoding,
 		IExplorationEncoding, ConstrainedEncoding, Cloneable {
@@ -85,27 +85,27 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 			HashMultimap.create();
 
 	/**
-	 * Map of disallowed {@link IDeployableComponentAdapter} -> {@link IExecutionUnitAdapter}
+	 * Map of disallowed {@link ITaskAdapter} -> {@link IExecutionUnitAdapter}
 	 * allocations.
 	 */
 	// TODO: Move to a central place, but where?
-	protected Multimap<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>> disallowedAllocations;
+	protected Multimap<ITaskAdapter<?>, IExecutionUnitAdapter<?>> disallowedAllocations;
 
 	/**
-	 * Map of disallowed {@link IDeployableComponentAdapter} -> {@link IExecutionUnitAdapter}
+	 * Map of disallowed {@link ITaskAdapter} -> {@link IExecutionUnitAdapter}
 	 * allocations.
 	 */
 	// TODO: Move to a central place, but where?
-	protected Multimap<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>> allowedAllocations;
+	protected Multimap<ITaskAdapter<?>, IExecutionUnitAdapter<?>> allowedAllocations;
 
 	/** Deployable component adapters that shall not be considered by the redundancy operator. */
-	protected Collection<IDeployableComponentAdapter<?>> fixAllocatedComponents;
+	protected Collection<ITaskAdapter<?>> fixAllocatedComponents;
 
 	/** Representation of input system */
 	protected SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter;
 
 	/**
-	 * Collection of deployable {@link IDeployableComponentAdapter}s represented by {@code this}
+	 * Collection of deployable {@link ITaskAdapter}s represented by {@code this}
 	 * mapping.
 	 */
 	protected Collection<S> deployableComponents;
@@ -143,7 +143,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public TaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter, boolean initialize)
@@ -160,7 +160,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public TaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -177,12 +177,12 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public TaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
 			PartitionMappingEncoding partMappingEncoding, TaskGraphEncoding<?, ?, ?> tgEncoding,
-			TaskMappingEncoding<IDeployableComponentAdapter<?>, ?> incompleteEncoding)
+			TaskMappingEncoding<ITaskAdapter<?>, ?> incompleteEncoding)
 			throws ExplorationException {
 		this(dse, systemModelAdapter, partMappingEncoding, tgEncoding);
 		completeEncoding(incompleteEncoding);
@@ -219,9 +219,9 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 */
 	// TODO: Exchange this workaround with a mechanism that allows to "reserve" deployable
 	// components (-> marker) to not be processed by subsequent operators.
-	private Collection<IDeployableComponentAdapter<?>> createFixAllocationCollection() {
-		Collection<IDeployableComponentAdapter<?>> fixAllocatedComponents = new HashSet<>();
-		for(IDeployableComponentAdapter<?> compAdp : deployableComponents) {
+	private Collection<ITaskAdapter<?>> createFixAllocationCollection() {
+		Collection<ITaskAdapter<?>> fixAllocatedComponents = new HashSet<>();
+		for(ITaskAdapter<?> compAdp : deployableComponents) {
 			Optional<ComponentMultiDislocationConstraint> constr =
 					dse.getTargetSpecification().getTargets().stream()
 							.filter(c -> (c instanceof ComponentMultiDislocationConstraint))
@@ -241,7 +241,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 */
 	// TODO: Exchange this workaround with a mechanism that allows to "reserve" deployable
 	// components (-> marker) to not be processed by subsequent operators.
-	public void addFixAllocation(IDeployableComponentAdapter<?> compAdp,
+	public void addFixAllocation(ITaskAdapter<?> compAdp,
 			Collection<IExecutionUnitAdapter<?>> validAllocTargets) {
 		fixAllocatedComponents.add(compAdp);
 		validAllocTargets.forEach(t -> allowedAllocations.put(compAdp, t));
@@ -251,16 +251,16 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * Creates a map which refers those {@link IExecutionUnitAdapter}s that are invalid allocation
 	 * targets of the given component.
 	 */
-	private Multimap<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>>
+	private Multimap<ITaskAdapter<?>, IExecutionUnitAdapter<?>>
 			createDisallowedAllocationMap() {
-		Multimap<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>> rval =
+		Multimap<ITaskAdapter<?>, IExecutionUnitAdapter<?>> rval =
 				HashMultimap.create();
 
 		Collection<ComponentMultiDislocationConstraint> forbiddenDeploymentConstraints =
 				getChildrenWithType(dse, ComponentMultiDislocationConstraint.class);
 
 		for(ComponentMultiDislocationConstraint currentConstraint : forbiddenDeploymentConstraints) {
-			for(IDeployableComponentAdapter<?> currentComponentAdapter : systemModelAdapter
+			for(ITaskAdapter<?> currentComponentAdapter : systemModelAdapter
 					.getDeployableComponents()) {
 				if(currentComponentAdapter.getObject() == currentConstraint.getComponent()) {
 					// TODO: Remove dependency on AF3 here.
@@ -282,19 +282,19 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 
 	/**
 	 * Creates a lookup map that holds the collection of all disallowed mapping targets of
-	 * {@link IDeployableComponentAdapter}s.
+	 * {@link ITaskAdapter}s.
 	 */
-	private Multimap<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>>
+	private Multimap<ITaskAdapter<?>, IExecutionUnitAdapter<?>>
 			createAllowedAllocationMap() {
-		Multimap<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>> rval =
+		Multimap<ITaskAdapter<?>, IExecutionUnitAdapter<?>> rval =
 				HashMultimap.create();
 
 		Collection<ComponentMultiAllocationConstraint> allowedDeploymentConstraints =
 				getChildrenWithType(dse, ComponentMultiAllocationConstraint.class);
-		Collection<IDeployableComponentAdapter<?>> constrainedComponentAdps = new HashSet<>();
+		Collection<ITaskAdapter<?>> constrainedComponentAdps = new HashSet<>();
 
 		for(ComponentMultiAllocationConstraint currentConstraint : allowedDeploymentConstraints) {
-			for(IDeployableComponentAdapter<?> currentComponentAdapter : systemModelAdapter
+			for(ITaskAdapter<?> currentComponentAdapter : systemModelAdapter
 					.getDeployableComponents()) {
 				if(currentComponentAdapter.getObject() == currentConstraint.getComponent()) {
 					constrainedComponentAdps.add(currentComponentAdapter);
@@ -313,7 +313,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 			}
 		}
 
-		for(IDeployableComponentAdapter<?> curDeplComp : deployableComponents) {
+		for(ITaskAdapter<?> curDeplComp : deployableComponents) {
 			// TODO: create a field for the deployment targets.
 			if(!constrainedComponentAdps.contains(curDeplComp)) {
 				systemModelAdapter.getDeploymentTargets().forEach(t -> rval.put(curDeplComp, t));
@@ -328,8 +328,8 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * {@link ComponentMultiAllocationConstraint} is defined, otherwise {@code null} is returned.
 	 */
 	public Collection<IExecutionUnitAdapter<?>>
-			getAllowedAllocations(IDeployableComponentAdapter<?> deployableComponent) {
-		IDeployableComponentAdapter<?> origComponent = systemModelAdapter
+			getAllowedAllocations(ITaskAdapter<?> deployableComponent) {
+		ITaskAdapter<?> origComponent = systemModelAdapter
 				.getDeployableComponentOf((EObject)deployableComponent.getObject());
 		return allowedAllocations.get(origComponent);
 	}
@@ -339,8 +339,8 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * {@link ComponentMultiDislocationConstraint} is defined, otherwise null is returned.
 	 */
 	public Collection<IExecutionUnitAdapter<?>>
-			getDisAllowedAllocations(IDeployableComponentAdapter<?> deployableComponent) {
-		IDeployableComponentAdapter<?> origComponent = systemModelAdapter
+			getDisAllowedAllocations(ITaskAdapter<?> deployableComponent) {
+		ITaskAdapter<?> origComponent = systemModelAdapter
 				.getDeployableComponentOf((EObject)deployableComponent.getObject());
 		return disallowedAllocations.get(origComponent);
 	}
@@ -387,7 +387,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	}
 
 	/**
-	 * Initializes the allocation table for the {@link IDeployableComponentAdapter}s that are not
+	 * Initializes the allocation table for the {@link ITaskAdapter}s that are not
 	 * yet present in the given {@code incompleteEncoding}.
 	 * 
 	 * @param incompleteEncoding
@@ -425,7 +425,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	}
 
 	/**
-	 * Creates {@link TaskMappingEntry}s for the given set of {@link IDeployableComponentAdapter}s.
+	 * Creates {@link TaskMappingEntry}s for the given set of {@link ITaskAdapter}s.
 	 * 
 	 * @param allocatableComponents
 	 *            Collection of components to generated {@link TaskMappingEntry}s for.
@@ -478,7 +478,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * Creates an (encoding specific) mapping entry the describes that a given deployable component
 	 * is mapped to a deployment target.
 	 */
-	protected abstract T createEntry(IDeployableComponentAdapter<?> deployableComponent,
+	protected abstract T createEntry(ITaskAdapter<?> deployableComponent,
 			Partition deploymentTarget);
 
 	/**
@@ -491,7 +491,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 *            {@link TaskMappingEntry}.
 	 * @return The created {@link TaskMappingEntry}.
 	 */
-	public <U extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>> T
+	public <U extends TaskMappingEntry<ITaskAdapter<?>, Partition>> T
 			createAndAddEntry(U mappingEntry) {
 		T newEntry = createEntry(mappingEntry);
 		addAllocation(newEntry);
@@ -507,7 +507,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 *            derived.
 	 * @return The created {@link TaskMappingEntry}.
 	 */
-	protected abstract <U extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>> T
+	protected abstract <U extends TaskMappingEntry<ITaskAdapter<?>, Partition>> T
 			createEntry(U allocEntry);
 
 	/**
@@ -587,7 +587,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	}
 
 	/**
-	 * Removes a randomly selected entry of the given {@link IDeployableComponentAdapter} from the
+	 * Removes a randomly selected entry of the given {@link ITaskAdapter} from the
 	 * mapping.
 	 */
 	public T removeRandomEntry(S deployableComponent) {
@@ -600,7 +600,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	}
 
 	/**
-	 * Removes the given {@link IDeployableComponentAdapter} and, consequently, all associated
+	 * Removes the given {@link ITaskAdapter} and, consequently, all associated
 	 * entries from the mapping.
 	 */
 	@SuppressWarnings({"rawtypes", "unchecked"})
@@ -616,7 +616,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * Determines if a deployable component is subject to a
 	 * {@link ComponentMultiAllocationConstraint}
 	 */
-	public boolean hasLimitedDeployment(IDeployableComponentAdapter<?> deployableComponent) {
+	public boolean hasLimitedDeployment(ITaskAdapter<?> deployableComponent) {
 		return allowedAllocations.containsKey(deployableComponent);
 	}
 
@@ -678,7 +678,7 @@ public abstract class TaskMappingEncoding<S extends IDeployableComponentAdapter<
 	 * {@link ComponentMultiDislocationConstraint}s.
 	 */
 	private Collection<IExecutionUnitAdapter<?>>
-			getExcludedDeploymentTargets(IDeployableComponentAdapter<?> deployableComponent) {
+			getExcludedDeploymentTargets(ITaskAdapter<?> deployableComponent) {
 		Collection<IExecutionUnitAdapter<?>> rval = getDisAllowedAllocations(deployableComponent);
 
 		// Collection<InternalSeparationConstraint> sepConstraints =
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEntry.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEntry.java
index da713dc7..407c9065 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEntry.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/TaskMappingEntry.java
@@ -16,14 +16,14 @@
 package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping;
 
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.MappingEntryBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 
 /**
  * Base class for {@link TaskMappingEntry}s representing the one allocation of an
- * {@link IDeployableComponentAdapter} to an {@link IExecutionUnitAdapter}.
+ * {@link ITaskAdapter} to an {@link IExecutionUnitAdapter}.
  * 
  * @author barner
  */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings
index 6a4ccc06..f0c82406 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/.ratings
@@ -1,2 +1,2 @@
-AbstractTaskMappingEncoding.java 3f3a6ad042d6eafebe3c3ed47f4ccbde11a2b8fb RED
-AbstractTaskMappingEntry.java b039009446aa861a4a13fa4ceb479a4ca9818045 RED
+AbstractTaskMappingEncoding.java 7c37f41a2322d747a90f6179a40c41da77d3e14f RED
+AbstractTaskMappingEntry.java 0bef4c1102baf6bfbddc759fd103cf18df4b5553 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java
index a9e63b25..cc323f91 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEncoding.java
@@ -27,7 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
@@ -40,7 +40,7 @@ import org.opt4j.core.Genotype;
  * @author diewald
  */
 public class AbstractTaskMappingEncoding
-		extends TaskMappingEncoding<IDeployableComponentAdapter<?>, AbstractTaskMappingEntry> {
+		extends TaskMappingEncoding<ITaskAdapter<?>, AbstractTaskMappingEntry> {
 
 	/**
 	 * Constructor that is initialized with a reference to the DSE specification and the input
@@ -57,7 +57,7 @@ public class AbstractTaskMappingEncoding
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public AbstractTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -78,7 +78,7 @@ public class AbstractTaskMappingEncoding
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public AbstractTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter, boolean initialize)
@@ -91,7 +91,7 @@ public class AbstractTaskMappingEncoding
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public AbstractTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -108,7 +108,7 @@ public class AbstractTaskMappingEncoding
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public AbstractTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -119,7 +119,7 @@ public class AbstractTaskMappingEncoding
 
 	/** {@inheritDoc} */
 	@Override
-	public AbstractTaskMappingEntry createEntry(IDeployableComponentAdapter<?> deployableComponent,
+	public AbstractTaskMappingEntry createEntry(ITaskAdapter<?> deployableComponent,
 			Partition deploymentTarget) {
 		// Request not needed to construct a {@link FailSilentTaskMappingEncoding}
 		if(deploymentTarget == null) {
@@ -131,7 +131,7 @@ public class AbstractTaskMappingEncoding
 
 	/** {@inheritDoc} */
 	@Override
-	protected <S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>
+	protected <S extends TaskMappingEntry<ITaskAdapter<?>, Partition>>
 			AbstractTaskMappingEntry createEntry(S allocEntry) {
 		// TODO: Remove the ugly casts.
 		return new AbstractTaskMappingEntry(allocEntry.getSource(), allocEntry.getTarget());
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEntry.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEntry.java
index 1cbda846..5a402c12 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEntry.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/abstractmapping/AbstractTaskMappingEntry.java
@@ -17,19 +17,19 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.a
 
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 
 /**
- * {@link TaskMappingEntry} whose referenced {@link IDeployableComponentAdapter} may require
+ * {@link TaskMappingEntry} whose referenced {@link ITaskAdapter} may require
  * initialization to derive a "valid" mapping.
  * 
  * @author diewald
  */
 public class AbstractTaskMappingEntry
-		extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition> implements Cloneable {
+		extends TaskMappingEntry<ITaskAdapter<?>, Partition> implements Cloneable {
 
 	/** Constructs a mapping entry the represents the mapping to a given deployment target. */
-	public AbstractTaskMappingEntry(IDeployableComponentAdapter<?> deployableComponent,
+	public AbstractTaskMappingEntry(ITaskAdapter<?> deployableComponent,
 			Partition deploymentTarget) {
 		super(deployableComponent, deploymentTarget);
 	}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings
index ce16aec5..e276d792 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/.ratings
@@ -1,2 +1,2 @@
-InternalReplicationConstraint.java 821a3cc4d96c3aa5b006d96a198088199be758e0 RED
-InternalSeparationConstraint.java 66f09eca62e267c5d6b8e2e81f43a2f4d9fdc6ce RED
+InternalReplicationConstraint.java 32ce4fbb95f5a887fa808c13276a4cc3d25e70da RED
+InternalSeparationConstraint.java e9ffce7d46b5cd8ae4a7fe66ade1e7c074c744b2 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalReplicationConstraint.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalReplicationConstraint.java
index d226dedd..e5b10b22 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalReplicationConstraint.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalReplicationConstraint.java
@@ -17,7 +17,7 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.c
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter;
 import org.fortiss.af3.exploration.dsl_v2.model.expression.IExpression;
 import org.fortiss.af3.exploration.model.ExplorationConstraint;
@@ -25,7 +25,7 @@ import org.fortiss.af3.exploration.model.ExplorationTarget;
 
 /**
  * DSE-internal constraint to define the bounds for the number of replica of an
- * {@link IDeployableComponentAdapter}.
+ * {@link ITaskAdapter}.
  * NOTE: This constraint is only a temporary solution until a solution is found which allows to use
  * the EMM for this task.
  * 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalSeparationConstraint.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalSeparationConstraint.java
index e4238db0..1eea1faf 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalSeparationConstraint.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/constraint/InternalSeparationConstraint.java
@@ -19,7 +19,7 @@ import java.util.Collection;
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.impl.EObjectImpl;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
 import org.fortiss.af3.exploration.dsl_v2.model.expression.IExpression;
@@ -29,7 +29,7 @@ import org.fortiss.af3.platform.model.IPlatformResource;
 
 /**
  * DSE-internal constraint to define which {@link IMappingEntry}s of a
- * {@link IDeployableComponentAdapter} needs to be spatially separated.
+ * {@link ITaskAdapter} needs to be spatially separated.
  * NOTE: This constraint is only a temporary solution until a solution is found which allows to use
  * the EMM for this task.
  * 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings
index 7caec5ff..d7f4cbb2 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/.ratings
@@ -1,6 +1,6 @@
-FailSilentTaskMappingEncoding.java fc5578ebb844f9b56b080480fb5c1eb112fd4bfa RED
-FailSilentTaskMappingEntry.java 61bdca6fdc8f36e3e82755af639fc27ab83b2ec6 RED
-FaultDetectionVotingTaskMappingEncoding.java ed6ddc5125f9d225ef2c77f7f0ffb5ca83d607cc RED
-FaultDetectionVotingTaskMappingEntry.java bb0c1531a1173c58f07e67c41de8919fb9ad55f8 RED
-InstantiatedTaskMappingEncoding.java 8d846f0ae16025f97bce21cecf9f13a802186a3e RED
-InstantiatedTaskMappingEntry.java 1bb380c1f473bb9d8db1b831037e5185818bd74e RED
+FailSilentTaskMappingEncoding.java 3a209701976bb08d43a9e073524f5e7c32a703d8 RED
+FailSilentTaskMappingEntry.java 28c15e958f6208c1c65e5076bc7c3be26d7a2dc9 RED
+FaultDetectionVotingTaskMappingEncoding.java 9540b78592189b8a94ac924c3a422d91dcecfe64 RED
+FaultDetectionVotingTaskMappingEntry.java c6f6588154665d765b506850a78d8a434000c843 RED
+InstantiatedTaskMappingEncoding.java 8bfb0c0ef37f617d9fb8d16f5dd2c60f1591ac7e RED
+InstantiatedTaskMappingEntry.java 06181aa57ffb0c269c4dac8047cdccc2ae7afdd9 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEncoding.java
index 2b84d4f0..7e2a2ef7 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEncoding.java
@@ -23,7 +23,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.Task
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
@@ -59,7 +59,7 @@ public class FailSilentTaskMappingEncoding
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public FailSilentTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -73,7 +73,7 @@ public class FailSilentTaskMappingEncoding
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public FailSilentTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter, boolean initialize)
@@ -95,7 +95,7 @@ public class FailSilentTaskMappingEncoding
 	/** {@inheritDoc} */
 	@Override
 	public FailSilentTaskMappingEntry createEntry(
-			IDeployableComponentAdapter<?> deployableComponent, Partition deploymentTarget) {
+			ITaskAdapter<?> deployableComponent, Partition deploymentTarget) {
 		// Request not needed to construct a {@link FailSilentTaskMappingEncoding}
 		if(deploymentTarget == null) {
 			return null;
@@ -106,7 +106,7 @@ public class FailSilentTaskMappingEncoding
 
 	/** {@inheritDoc} */
 	@Override
-	public <S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>
+	public <S extends TaskMappingEntry<ITaskAdapter<?>, Partition>>
 			FailSilentTaskMappingEntry createEntry(S mapping) {
 		return new FailSilentTaskMappingEntry((AbstractTaskMappingEntry)mapping);
 	}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEntry.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEntry.java
index 0244614d..b73b4242 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEntry.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FailSilentTaskMappingEntry.java
@@ -19,7 +19,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 
 /**
  * {@link TaskMappingEntry} used for encoding redundant {@link FailSilentTaskMappingEncoding}s (with
@@ -30,7 +30,7 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAda
 public class FailSilentTaskMappingEntry extends InstantiatedTaskMappingEntry implements Cloneable {
 
 	/** Constructs a mapping entry the represents the mapping to a given deployment target. */
-	FailSilentTaskMappingEntry(IDeployableComponentAdapter<?> deployableComponent,
+	FailSilentTaskMappingEntry(ITaskAdapter<?> deployableComponent,
 			Partition deploymentTarget) {
 		super(deployableComponent, deploymentTarget);
 	}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEncoding.java
index 68841853..7b17d461 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEncoding.java
@@ -22,7 +22,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
@@ -51,7 +51,7 @@ public class FaultDetectionVotingTaskMappingEncoding extends
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public FaultDetectionVotingTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -66,7 +66,7 @@ public class FaultDetectionVotingTaskMappingEncoding extends
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public FaultDetectionVotingTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter, boolean initialize)
@@ -89,7 +89,7 @@ public class FaultDetectionVotingTaskMappingEncoding extends
 	/** {@inheritDoc} */
 	@Override
 	public FaultDetectionVotingTaskMappingEntry createEntry(
-			IDeployableComponentAdapter<?> deployableComponent, Partition deploymentTarget) {
+			ITaskAdapter<?> deployableComponent, Partition deploymentTarget) {
 		if(deployableComponent == null || deploymentTarget == null) {
 			return null;
 		}
@@ -101,7 +101,7 @@ public class FaultDetectionVotingTaskMappingEncoding extends
 
 	/** {@inheritDoc} */
 	@Override
-	public <S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>
+	public <S extends TaskMappingEntry<ITaskAdapter<?>, Partition>>
 			FaultDetectionVotingTaskMappingEntry createEntry(S mapping) {
 		// TODO: Do not use 0, magic constant.
 		return new FaultDetectionVotingTaskMappingEntry((AbstractTaskMappingEntry)mapping, 0);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEntry.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEntry.java
index 1c12e844..ae401b16 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEntry.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/FaultDetectionVotingTaskMappingEntry.java
@@ -19,7 +19,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 
 /**
  * {@link TaskMappingEntry} used for encoding redundant
@@ -37,7 +37,7 @@ public class FaultDetectionVotingTaskMappingEntry extends InstantiatedTaskMappin
 	 * Constructs a mapping entry the represents the mapping to a given deployment target and which
 	 * specifies the ID of the used fault detector
 	 */
-	public FaultDetectionVotingTaskMappingEntry(IDeployableComponentAdapter<?> deployableComponent,
+	public FaultDetectionVotingTaskMappingEntry(ITaskAdapter<?> deployableComponent,
 			Partition target, int i) {
 		super(deployableComponent, target);
 		faultDetectorID = i;
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java
index a1aba735..8a09e8e5 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEncoding.java
@@ -25,7 +25,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.ab
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
@@ -41,7 +41,7 @@ import org.opt4j.core.Genotype;
  * @author diewald
  */
 public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTaskMappingEntry>
-		extends TaskMappingEncoding<IDeployableComponentAdapter<?>, T> {
+		extends TaskMappingEncoding<ITaskAdapter<?>, T> {
 
 	/**
 	 * Constructor that is initialized with a reference to the DSE specification and the input
@@ -66,7 +66,7 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public InstantiatedTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -80,7 +80,7 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	public InstantiatedTaskMappingEncoding(DseSpecification dse,
 			SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter, boolean initialize)
@@ -102,10 +102,10 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask
 	}
 
 	/**
-	 * Instantiates the {@link IDeployableComponentAdapter}s of the given
+	 * Instantiates the {@link ITaskAdapter}s of the given
 	 * {@link AbstractTaskMappingEncoding} which must be replaced by a "concrete"
-	 * {@link IDeployableComponentAdapter} representing one possible implementation of the
-	 * {@link IDeployableComponentAdapter} that shall be replaced. (ref. Diversity)
+	 * {@link ITaskAdapter} representing one possible implementation of the
+	 * {@link ITaskAdapter} that shall be replaced. (ref. Diversity)
 	 */
 	public void instantiateAbstractEntries(AbstractTaskMappingEncoding abstractEncoding) {
 		for(AbstractTaskMappingEntry abstractEntry : abstractEncoding.getMappingEntries()) {
@@ -119,7 +119,7 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask
 	/** {@inheritDoc} */
 	@Override
 	public Collection<IExecutionUnitAdapter<?>>
-			getAllowedAllocations(IDeployableComponentAdapter<?> deployableComponent) {
+			getAllowedAllocations(ITaskAdapter<?> deployableComponent) {
 		if(deployableComponent.isInstantiation()) {
 			deployableComponent = deployableComponent.getReplacedComponent();
 		}
@@ -129,7 +129,7 @@ public abstract class InstantiatedTaskMappingEncoding<T extends InstantiatedTask
 	/** {@inheritDoc} */
 	@Override
 	public Collection<IExecutionUnitAdapter<?>>
-			getDisAllowedAllocations(IDeployableComponentAdapter<?> deployableComponent) {
+			getDisAllowedAllocations(ITaskAdapter<?> deployableComponent) {
 		if(deployableComponent.isInstantiation()) {
 			deployableComponent = deployableComponent.getReplacedComponent();
 		}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEntry.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEntry.java
index 66230a4d..ffac1e77 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEntry.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/taskmapping/instantiatedmapping/InstantiatedTaskMappingEntry.java
@@ -22,20 +22,20 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.random.RandomExploration;
 
 /**
- * {@link TaskMappingEntry} whose referenced {@link IDeployableComponentAdapter} only refers to
- * already instantiated {@link IDeployableComponentAdapter}s.
+ * {@link TaskMappingEntry} whose referenced {@link ITaskAdapter} only refers to
+ * already instantiated {@link ITaskAdapter}s.
  * 
  * @author diewald
  */
 public abstract class InstantiatedTaskMappingEntry
-		extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition> implements Cloneable {
+		extends TaskMappingEntry<ITaskAdapter<?>, Partition> implements Cloneable {
 
 	/** Constructs a mapping entry the represents the mapping to a given deployment target. */
-	public InstantiatedTaskMappingEntry(IDeployableComponentAdapter<?> deployableComponent,
+	public InstantiatedTaskMappingEntry(ITaskAdapter<?> deployableComponent,
 			Partition deploymentTarget) {
 		super(deployableComponent, deploymentTarget);
 	}
@@ -45,44 +45,44 @@ public abstract class InstantiatedTaskMappingEntry
 	 * {@link InstantiatedTaskMappingEncoding} for each {@link AbstractTaskMappingEntry} of a
 	 * {@link AbstractTaskMappingEncoding}. Thereby, {@link AbstractTaskMappingEntry}s requiring
 	 * instantiation will be replaced by a matching, randomly picked
-	 * {@link IDeployableComponentAdapter}.
+	 * {@link ITaskAdapter}.
 	 */
 	public InstantiatedTaskMappingEntry(AbstractTaskMappingEntry abstractEntry) {
 		this(abstractEntry.getSource(), abstractEntry.getTarget());
 		addAssociatedElement(abstractEntry);
 		abstractEntry.addAssociatedElement(this);
 		if(source.isInstantiationRequired()) {
-			IDeployableComponentAdapter<?> abstractComponent = source;
+			ITaskAdapter<?> abstractComponent = source;
 			source = pickRandomReplacementComponent(source);
 			source.setReplacedComponent(abstractComponent);
 		}
 	}
 
 	/**
-	 * Iff the given {@link IDeployableComponentAdapter} must be instantiated/replaced by a
-	 * "concrete" {@link IDeployableComponentAdapter}, this method returns a randomly picked and
-	 * appropriate {@link IDeployableComponentAdapter}. The returned
-	 * {@link IDeployableComponentAdapter} is picked from the set of replacement
-	 * {@link IDeployableComponentAdapter}s of the given input {@link IDeployableComponentAdapter}.
+	 * Iff the given {@link ITaskAdapter} must be instantiated/replaced by a
+	 * "concrete" {@link ITaskAdapter}, this method returns a randomly picked and
+	 * appropriate {@link ITaskAdapter}. The returned
+	 * {@link ITaskAdapter} is picked from the set of replacement
+	 * {@link ITaskAdapter}s of the given input {@link ITaskAdapter}.
 	 * <p>
-	 * {@code null} is returned if the given {@link IDeployableComponentAdapter} does not require
+	 * {@code null} is returned if the given {@link ITaskAdapter} does not require
 	 * instantiation or no "replacement components were defined.
 	 */
-	public IDeployableComponentAdapter<?>
-			pickRandomReplacementComponent(IDeployableComponentAdapter<?> abstractComponent) {
+	public ITaskAdapter<?>
+			pickRandomReplacementComponent(ITaskAdapter<?> abstractComponent) {
 		if(!source.isInstantiationRequired()) {
 			return null;
 		}
 
 		// TODO: parameterize the collection: cast to raw was used, but is no longer applicable,
 		// since we have an EList here now.
-		Collection<IDeployableComponentAdapter<?>> replacementComponents =
+		Collection<ITaskAdapter<?>> replacementComponents =
 				new ArrayList<>(abstractComponent.getReplacementComponents());
 		RandomExploration randomGenerator = RandomExploration.getInstance();
 		int replacementBound = replacementComponents.size() - 1;
 		int replacementIdx =
 				replacementBound > 0 ? randomGenerator.nextInt(replacementComponents.size()) : 0;
-		return ((IDeployableComponentAdapter<?>)replacementComponents.toArray()[replacementIdx])
+		return ((ITaskAdapter<?>)replacementComponents.toArray()[replacementIdx])
 				.clone();
 	}
 }
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings
index bb10776d..cb1014a4 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/.ratings
@@ -1,4 +1,4 @@
 ComposableCreator.java 14cb174847cd3a0882bc4fd17cf8cbe18b2b7f36 RED
-ComposableCreatorBase.java 0fb620915e2304057db795c29da86414b22958a0 RED
+ComposableCreatorBase.java 3f7b038a706b0abd8790539c38a140bd6521b0c2 RED
 CompositeCreator.java 65ab9f283191b081e40e8587431fd0a95f1daca6 RED
 CompositeCreatorBase.java ce0a74a4b8acf68069534443468f4995a091139e RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java
index 08ca7be3..68aaa13a 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/extensions/compositegene/create/ComposableCreatorBase.java
@@ -33,7 +33,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.decode.ConstraintGenerationDecoder;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.service.IExplorationEncoding;
 import org.fortiss.af3.exploration.alg.util.ExplorationAlgDebugUtils;
@@ -146,7 +146,7 @@ public abstract class ComposableCreatorBase<G extends ComposableGenotype>
 				if(decPhenotype != null) {
 					if(decPhenotype instanceof TaskMappingEncoding &&
 							!ExplorationAlgDebugUtils.checkTaskMappingForSFConsistency(
-									(TaskMappingEncoding<IDeployableComponentAdapter<?>, ?>)decPhenotype)) {
+									(TaskMappingEncoding<ITaskAdapter<?>, ?>)decPhenotype)) {
 						// TODO: Remove this debug code. Is an Exception required instead?
 						System.out.println("Error.");
 					}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings
index 6b8f8b64..4bae8432 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/.ratings
@@ -1,2 +1,2 @@
-MatingCrossoverMutateRepair.java 899d0ad1863d9a7f80799f9c8b2b4bed0c711360 RED
+MatingCrossoverMutateRepair.java 9e19a498c422f257075aba697493a52bea8a3682 RED
 MatingCrossoverMutateRepairModule.java b0b129a5172f79e7fc7369bd86f5fa92181b01c9 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/MatingCrossoverMutateRepair.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/MatingCrossoverMutateRepair.java
index 636971a3..e43acacf 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/MatingCrossoverMutateRepair.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/mating/MatingCrossoverMutateRepair.java
@@ -22,7 +22,7 @@ import java.util.List;
 import java.util.Queue;
 
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 import org.fortiss.af3.exploration.alg.service.IExplorationRepairService;
@@ -104,7 +104,7 @@ public class MatingCrossoverMutateRepair extends MatingCrossoverMutate {
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	private Individual repairGenotype(Individual ind) throws ExplorationException {
 		boolean isRepaired = false;
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings
index cc9a1fc5..dab5c473 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/.ratings
@@ -1,8 +1,8 @@
 CrossoverAbstractTaskMappingModule.java db35eba8d31ba9c7054174d97990a70fdef2e8ab RED
-CrossoverAllocationBase.java f4253fb477d11ef8071ded1084b3ba4a8536a71d RED
+CrossoverAllocationBase.java 5c19d9226b686f697fed4c041704b6702c47dab3 RED
 CrossoverOperatorModuleBase.java 03f237eba55f15043082bb1f5cc47f052cb24d33 RED
-CrossoverRandManyAllocation.java b24cef44f25dfed6429e933281b8da3be681580c RED
-CrossoverSingleAllocation.java 1f4607e9a03f9627b56d4a04b7dcde0c37bf460f RED
+CrossoverRandManyAllocation.java 1fe1d75e49535aa4d7399872494cf2ec2d4c1da1 RED
+CrossoverSingleAllocation.java 13b147eb30b479fcea3304bb01977ca23dcbea0a RED
 NopCrossover.java 70500c9db651250298c97e261e4f8a0d8b6941e3 RED
 NopCrossoverInstantiatedTaskMappingModule.java 95156489b862633b428a87df2ae51aa304c7f6f1 RED
 NopCrossoverPartitionMappingModule.java ac1eb750baf51027e352f4b95e6145e914bc4d19 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverAllocationBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverAllocationBase.java
index 3aeb5e2b..a77fd825 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverAllocationBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverAllocationBase.java
@@ -25,7 +25,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.comm.constrain
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.random.RandomExploration;
@@ -35,14 +35,14 @@ import com.google.common.collect.BiMap;
 import com.google.common.collect.HashBiMap;
 
 /**
- * Base class for crossover operations on the allocations of {@link IDeployableComponentAdapter}s to
+ * Base class for crossover operations on the allocations of {@link ITaskAdapter}s to
  * {@link IExecutionUnitAdapter}s. It requires two parent {@link TaskMappingEncoding}s whose
  * allocations are swapped.
  * 
  * @author huang
  * @author diewald
  */
-public abstract class CrossoverAllocationBase<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public abstract class CrossoverAllocationBase<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		implements Crossover<T> {
 
 	/** Reference to the {@link SystemModelAdapter} which handles the input models. */
@@ -64,9 +64,9 @@ public abstract class CrossoverAllocationBase<S extends TaskMappingEntry<IDeploy
 	/**
 	 * Performs the actual crossover (swapping) operation between the offspring encodings {#link
 	 * newEncoding1} and {#link newEncoding2} for the allocations/mapping of the given
-	 * {@link IDeployableComponentAdapter}.
+	 * {@link ITaskAdapter}.
 	 */
-	protected void crossoverAllocation(IDeployableComponentAdapter<?> deployableComponent,
+	protected void crossoverAllocation(ITaskAdapter<?> deployableComponent,
 			T newEncoding1, T newEncoding2) {
 		List<S> newAssignedResources1 =
 				new ArrayList<>(newEncoding1.getMappingEntriesOf(deployableComponent));
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverRandManyAllocation.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverRandManyAllocation.java
index e5dd9781..062a4310 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverRandManyAllocation.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverRandManyAllocation.java
@@ -18,20 +18,20 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.crossover;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.opt4j.operators.crossover.Pair;
 
 /**
- * Applies the crossover operation on the allocations of {@link IDeployableComponentAdapter}s to
+ * Applies the crossover operation on the allocations of {@link ITaskAdapter}s to
  * {@link IExecutionUnitAdapter}s. It requires two parent {@link TaskMappingEncoding}s whose
  * allocations are randomly swapped to generate two new children {@link TaskMappingEncoding}s.
  * 
  * @author huang
  * @author diewald
  */
-public class CrossoverRandManyAllocation<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class CrossoverRandManyAllocation<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends CrossoverAllocationBase<S, T> {
 
 	/** Constructor that allows to set the cross-over rate */
@@ -46,7 +46,7 @@ public class CrossoverRandManyAllocation<S extends TaskMappingEntry<IDeployableC
 		@SuppressWarnings("unchecked") T newEncoding1 = (T)encoding1.clone();
 		@SuppressWarnings("unchecked") T newEncoding2 = (T)encoding2.clone();
 
-		for(IDeployableComponentAdapter<?> deployableComponent : encoding1.getRequesters()) {
+		for(ITaskAdapter<?> deployableComponent : encoding1.getRequesters()) {
 			if(rand.nextDouble() < rate) {
 				crossoverAllocation(deployableComponent, newEncoding1, newEncoding2);
 			}
@@ -55,8 +55,8 @@ public class CrossoverRandManyAllocation<S extends TaskMappingEntry<IDeployableC
 		// Check whether the a modification happened, if not enforce one.
 		if(newEncoding1 == encoding1 || newEncoding1 == encoding2) {
 			int randomIdx = encoding1.getRequesters().toArray().length - 1;
-			IDeployableComponentAdapter<?> randomlySelectedComponent =
-					(IDeployableComponentAdapter<?>)encoding1.getRequesters().toArray()[randomIdx];
+			ITaskAdapter<?> randomlySelectedComponent =
+					(ITaskAdapter<?>)encoding1.getRequesters().toArray()[randomIdx];
 			crossoverAllocation(randomlySelectedComponent, newEncoding1, newEncoding2);
 		}
 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverSingleAllocation.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverSingleAllocation.java
index 6def3c5e..af3e39cf 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverSingleAllocation.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/crossover/CrossoverSingleAllocation.java
@@ -18,19 +18,19 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.crossover;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.opt4j.operators.crossover.Pair;
 
 /**
- * Applies the crossover operation on the allocations of {@link IDeployableComponentAdapter}s to
+ * Applies the crossover operation on the allocations of {@link ITaskAdapter}s to
  * {@link IExecutionUnitAdapter}s. It requires two parent {@link TaskMappingEncoding}s for which a
  * single allocation is randomly swapped to generate two new children {@link TaskMappingEncoding}s.
  * 
  * @author diewald
  */
-public class CrossoverSingleAllocation<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class CrossoverSingleAllocation<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends CrossoverAllocationBase<S, T> {
 
 	/** Constructor that allows to set the cross-over rate */
@@ -47,8 +47,8 @@ public class CrossoverSingleAllocation<S extends TaskMappingEntry<IDeployableCom
 
 		int deplCompSize = encoding1.getRequesters().toArray().length;
 		int randomIdx = rand.nextInt(deplCompSize - 1);
-		IDeployableComponentAdapter<?> randomlySelectedComponent =
-				(IDeployableComponentAdapter<?>)encoding1.getRequesters().toArray()[randomIdx];
+		ITaskAdapter<?> randomlySelectedComponent =
+				(ITaskAdapter<?>)encoding1.getRequesters().toArray()[randomIdx];
 
 		// TODO: Improve Crossover operator to respect allocation constraints.
 		// boolean didCrossover = false;
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings
index f2670ee5..3e0fa75b 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/.ratings
@@ -1,2 +1,2 @@
-MutateTaskInstance.java 16fff693dc5019eaf8e3240c2e5aa8e3ba80a464 RED
+MutateTaskInstance.java 8ec0051a95c2c0b76264efc6c1de48854661e455 RED
 MutateTaskInstanceModule.java e465af3bd491cead2aa70d5096f68ecd22badd14 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/MutateTaskInstance.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/MutateTaskInstance.java
index 0216033c..b67af2d5 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/MutateTaskInstance.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskinstantiation/MutateTaskInstance.java
@@ -22,16 +22,16 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.ab
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.mutate.taskmapping.MutateTasksBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
 import org.opt4j.operators.mutate.Mutate;
 
 /**
  * {@link Mutate} operator which manipulates the instantiation of the referenced
- * {@link IDeployableComponentAdapter} of a {@link InstantiatedTaskMappingEntry}. The instantiated
- * {@link IDeployableComponentAdapter} is randomly selected from the set of instantiatable
- * {@link IDeployableComponentAdapter}s of the associated {@link AbstractTaskMappingEntry}.
+ * {@link ITaskAdapter} of a {@link InstantiatedTaskMappingEntry}. The instantiated
+ * {@link ITaskAdapter} is randomly selected from the set of instantiatable
+ * {@link ITaskAdapter}s of the associated {@link AbstractTaskMappingEntry}.
  * <p>
  * <b>NOTE:</b> Currently, this is a Nop operator, as a correct handling of {@link TaskGraph}s and
  * an appropriate reliability analysis must be worked out.
@@ -42,17 +42,17 @@ public class MutateTaskInstance
 		extends
 		MutateTasksBase<InstantiatedTaskMappingEntry, InstantiatedTaskMappingEncoding<InstantiatedTaskMappingEntry>> {
 	/**
-	 * Collection of {@link IDeployableComponentAdapter}s which must be instantiated to obtain a
+	 * Collection of {@link ITaskAdapter}s which must be instantiated to obtain a
 	 * "concrete" logical model".
 	 */
-	private Collection<IDeployableComponentAdapter<?>> abstractComponents;
+	private Collection<ITaskAdapter<?>> abstractComponents;
 
 	/** Constructor. */
 	public MutateTaskInstance(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter) {
 		super(systemModelAdapter);
-		abstractComponents = new HashSet<IDeployableComponentAdapter<?>>();
+		abstractComponents = new HashSet<ITaskAdapter<?>>();
 
-		for(IDeployableComponentAdapter<?> deployableComponent : systemModelAdapter
+		for(ITaskAdapter<?> deployableComponent : systemModelAdapter
 				.getDeployableComponents()) {
 			if(deployableComponent.isInstantiationRequired()) {
 				abstractComponents.add(deployableComponent);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings
index a638b0cb..ca376087 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/.ratings
@@ -1,6 +1,6 @@
-MutateAllocation.java 4be3752ce942ef18fdf362d8b96b5947a0edc68a RED
-MutateRedundancy.java 05466c1910bdf50c849cf22f8e668426e6fad0d3 RED
-MutateRedundancyDecrement.java 3a000150f2e86902b9ce85c7672884e94fa19cc4 RED
-MutateRedundancyIncrement.java f6093ed138ecc6a6cd3282df8440f8fcdb40aa53 RED
+MutateAllocation.java 728685a4052cf266b94d165bd58d9b2982efaa2f RED
+MutateRedundancy.java 3ea1cdb42e3aa3000e5db3d581f28ee21272186a RED
+MutateRedundancyDecrement.java b6bb89127a938dafabc4c48ebe8ceb2f42d946dd RED
+MutateRedundancyIncrement.java 92967225c7a135759f7ce70d4eb69d983d2dcff7 RED
 MutateTaskMappingModule.java 22c97eb8bd2dbf8a5a9eae145010f4fa14932c8c RED
-MutateTasksBase.java f0d224a24113d04b3f60a749f74b8aa5a9349204 RED
+MutateTasksBase.java 85e3f642be9d4df9d52f0fe700f51ab229279cee RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateAllocation.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateAllocation.java
index e596d41f..7a7e9419 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateAllocation.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateAllocation.java
@@ -24,7 +24,7 @@ import java.util.List;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
@@ -35,7 +35,7 @@ import org.fortiss.af3.exploration.alg.exception.ExplorationException;
  * 
  * @author huang
  */
-public class MutateAllocation<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class MutateAllocation<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends MutateTasksBase<S, T> {
 
 	/** Constructs a new allocation mutation operator for a given exploration run */
@@ -51,9 +51,9 @@ public class MutateAllocation<S extends TaskMappingEntry<IDeployableComponentAda
 	public void mutate(T encoding, double rate) {
 		checkReplicationCount(encoding);
 
-		Collection<IDeployableComponentAdapter<?>> encDeplComponents =
+		Collection<ITaskAdapter<?>> encDeplComponents =
 				new ArrayList<>(encoding.getRequesters());
-		for(IDeployableComponentAdapter<?> deployableComponent : encDeplComponents) {
+		for(ITaskAdapter<?> deployableComponent : encDeplComponents) {
 			if(rand.nextDouble() < rate) {
 				Collection<S> assignedResources = encoding.getMappingEntriesOf(deployableComponent);
 				if(assignedResources == null) {
@@ -76,7 +76,7 @@ public class MutateAllocation<S extends TaskMappingEntry<IDeployableComponentAda
 	/** Checks the replication count and prints a message in case of errors. */
 	private void checkReplicationCount(T encoding) {
 		if(CHECK_REPLICATION_COUNT) {
-			for(IDeployableComponentAdapter<?> currentComponent : systemModelAdapter
+			for(ITaskAdapter<?> currentComponent : systemModelAdapter
 					.getDeployableComponents()) {
 				if(encoding.getAllocatedResourcesFor(currentComponent).size() != 1) {
 					System.out.println("Encoding replications exceed the allowed amount");
@@ -86,14 +86,14 @@ public class MutateAllocation<S extends TaskMappingEntry<IDeployableComponentAda
 	}
 
 	/**
-	 * Performs the actual re-allocation of the given {@link IDeployableComponentAdapter}.
+	 * Performs the actual re-allocation of the given {@link ITaskAdapter}.
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	private void reAllocateMappingEntry(T encoding,
-			IDeployableComponentAdapter<?> deployableComponent) throws ExplorationException {
+			ITaskAdapter<?> deployableComponent) throws ExplorationException {
 		// The assigned resources must be an indexed list, such that randomly determined allocations
 		// can be directly removed using a random number generator.
 		List<S> assignedResources =
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancy.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancy.java
index 1bd4f9bf..dbc7fc02 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancy.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancy.java
@@ -22,7 +22,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.constraint.InternalReplicationConstraint;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 
@@ -31,7 +31,7 @@ import org.fortiss.af3.exploration.alg.exception.ExplorationException;
  * 
  * @author huang
  */
-public abstract class MutateRedundancy<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public abstract class MutateRedundancy<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends MutateTasksBase<S, T> {
 
 	/** Constructs a new redundancy mutation operator for a given exploration run */
@@ -42,7 +42,7 @@ public abstract class MutateRedundancy<S extends TaskMappingEntry<IDeployableCom
 	/** {@inheritDoc} */
 	@Override
 	public void mutate(T encoding, double rate) {
-		for(IDeployableComponentAdapter<?> deployableComponent : encoding.getRequesters()) {
+		for(ITaskAdapter<?> deployableComponent : encoding.getRequesters()) {
 			if(rand.nextDouble() < rate) {
 				// TODO: remove filter for fixed Deployment: It is not needed.
 				// No replication for Components with a fixed Deployment & Components which shall
@@ -82,8 +82,8 @@ public abstract class MutateRedundancy<S extends TaskMappingEntry<IDeployableCom
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
-	protected abstract void mutate(T encoding, IDeployableComponentAdapter<?> deployableComponent,
+	protected abstract void mutate(T encoding, ITaskAdapter<?> deployableComponent,
 			int minReplicatation, int maxReplication) throws ExplorationException;
 }
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyDecrement.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyDecrement.java
index 83d53e46..ef9c861d 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyDecrement.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyDecrement.java
@@ -20,7 +20,7 @@ import java.util.List;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 
 /**
@@ -28,7 +28,7 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
  * 
  * @author huang
  */
-public class MutateRedundancyDecrement<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class MutateRedundancyDecrement<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends MutateRedundancy<S, T> {
 
 	/** Constructs a new decrement redundancy mutation operator for a given exploration run */
@@ -38,7 +38,7 @@ public class MutateRedundancyDecrement<S extends TaskMappingEntry<IDeployableCom
 
 	/** {@inheritDoc} */
 	@Override
-	protected void mutate(T encoding, IDeployableComponentAdapter<?> deployableComponent,
+	protected void mutate(T encoding, ITaskAdapter<?> deployableComponent,
 			int minReplicatation, int maxReplication) {
 		List<S> assignedResources = encoding.getMappingEntriesOf(deployableComponent);
 		assert (assignedResources != null);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyIncrement.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyIncrement.java
index a19a8eec..a046ba64 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyIncrement.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateRedundancyIncrement.java
@@ -21,7 +21,7 @@ import org.conqat.lib.commons.collections.CollectionUtils;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 
@@ -30,7 +30,7 @@ import org.fortiss.af3.exploration.alg.exception.ExplorationException;
  * 
  * @author huang
  */
-public class MutateRedundancyIncrement<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class MutateRedundancyIncrement<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends MutateRedundancy<S, T> {
 	/** Constructs a new increment redundancy mutation operator for a given exploration run */
 	public MutateRedundancyIncrement(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter) {
@@ -43,7 +43,7 @@ public class MutateRedundancyIncrement<S extends TaskMappingEntry<IDeployableCom
 	 * @throws ExplorationException
 	 */
 	@Override
-	protected void mutate(T encoding, IDeployableComponentAdapter<?> deployableComponent,
+	protected void mutate(T encoding, ITaskAdapter<?> deployableComponent,
 			int minReplicatation, int maxReplication) throws ExplorationException {
 		Collection<S> assignedResources = encoding.getMappingEntriesOf(deployableComponent);
 		assert (assignedResources != null);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateTasksBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateTasksBase.java
index 10598f17..6b3ae2cf 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateTasksBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/operator/mutate/taskmapping/MutateTasksBase.java
@@ -19,7 +19,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmappi
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.operator.mutate.MutateBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 
 /**
@@ -27,7 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
  * 
  * @author huang
  */
-public abstract class MutateTasksBase<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public abstract class MutateTasksBase<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends MutateBase<T> {
 
 	/** Constructor. */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings
index c1264bf5..e317c62d 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/.ratings
@@ -1 +1 @@
-MessageDecoder.java 8763b821ca5bbb4637aadf78c599f5fe103eb5cf RED
+MessageDecoder.java 74e6d7c77fc31809f104d3b0aff037eb9c24c851 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/MessageDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/MessageDecoder.java
index 9a90cb32..536af4a9 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/MessageDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/comm/MessageDecoder.java
@@ -32,7 +32,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.comm.Message;
@@ -52,7 +52,7 @@ import com.google.inject.Inject;
  * 
  * @author diewald
  */
-public class MessageDecoder<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class MessageDecoder<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends ComposableDecoderBase<T, MessageEncoding<S, T>> {
 
 	/** References the input system models. */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings
index 8c060808..f556b706 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/.ratings
@@ -1,2 +1,2 @@
-InstantiatedTaskMappingDecoder.java 57e46646ba44ffaa4af2612718dc31feb47b9f35 RED
+InstantiatedTaskMappingDecoder.java 287c38c6f85cb60c1d1ae830fb8792ee54037bfe RED
 InstantiatedTaskMappingDecoderAcyclic.java 7abff3b7998604fa61a32b4cfa1d98fb9960ffb6 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/InstantiatedTaskMappingDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/InstantiatedTaskMappingDecoder.java
index 021724d7..c812e756 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/InstantiatedTaskMappingDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/instantiatetaskgraph/InstantiatedTaskMappingDecoder.java
@@ -33,7 +33,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.ChannelAdapterWeightedEdge;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.DefaultTaskGraph;
@@ -95,16 +95,16 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 	private void removeInterSafetyChannelSignals(SafetyFunctionArchEncoding<?> sfEnc,
 			InstantiatedTaskGraphEncoding<T, C> itgEnc) throws DecodingException {
 		for(SafetyFunctionArchEntry<?> sfEntry : sfEnc.getAllEntries()) {
-			Collection<IDeployableComponentAdapter<?>> sfCompAdps =
+			Collection<ITaskAdapter<?>> sfCompAdps =
 					castToRawColl(sfEntry.getSafetyFunctionAdapter().getRealizingComponents());
 			assert (sfCompAdps.size() > 0);
-			IDeployableComponentAdapter<?> sfCompAdp = sfCompAdps.stream().findAny().get();
+			ITaskAdapter<?> sfCompAdp = sfCompAdps.stream().findAny().get();
 
 			// Get the "containing" task graph. We must check all replacement components (instances)
 			// since we don't know which one was instantiated (or it would be more costly to find
 			// out).
 			DefaultTaskGraph<?> sfTG = null;
-			for(IDeployableComponentAdapter<?> curSFCompAdp : sfCompAdp
+			for(ITaskAdapter<?> curSFCompAdp : sfCompAdp
 					.getReplacementComponents()) {
 				sfTG = itgEnc.getTaskGraphOf(curSFCompAdp);
 				if(sfTG != null) {
@@ -116,34 +116,34 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 						" of the Component Adapter " + sfCompAdp.getName() + ".");
 			}
 
-			Collection<IDeployableComponentAdapter<?>> connectedSFUnits = new ArrayList<>();
-			Collection<IDeployableComponentAdapter<?>> connectedDiagUnits = new ArrayList<>();
-			Collection<IDeployableComponentAdapter<?>> connectedOutUnit = new ArrayList<>();
+			Collection<ITaskAdapter<?>> connectedSFUnits = new ArrayList<>();
+			Collection<ITaskAdapter<?>> connectedDiagUnits = new ArrayList<>();
+			Collection<ITaskAdapter<?>> connectedOutUnit = new ArrayList<>();
 			for(int channelIdx = 0; channelIdx < sfEntry.getNumChannels(); channelIdx++) {
-				Collection<IDeployableComponentAdapter<?>> sfUnits =
+				Collection<ITaskAdapter<?>> sfUnits =
 						castToRawColl(sfEntry.getSafetyFunctionAdapter().getRealizingComponents());
-				Collection<IDeployableComponentAdapter<?>> diagUnits =
+				Collection<ITaskAdapter<?>> diagUnits =
 						castToRawColl(sfEntry.getSafetyFunctionAdapter().getDiagnosticComponents());
 				// TODO: knowledge about the modeL: output unit not instantiated:
-				IDeployableComponentAdapter<?> outputUnit =
+				ITaskAdapter<?> outputUnit =
 						sfEntry.getSafetyFunctionAdapter().getOutputComponent();
 				// TODO: only for a single diag unit.
-				Collection<IDeployableComponentAdapter<?>> realizingSFUnits =
+				Collection<ITaskAdapter<?>> realizingSFUnits =
 						itgEnc.getDeployableComponents().stream()
 								.filter(d -> sfUnits.contains(d.getReplacedComponent()))
 								.collect(Collectors.toList());
-				Collection<IDeployableComponentAdapter<?>> realizingDiagUnits =
+				Collection<ITaskAdapter<?>> realizingDiagUnits =
 						itgEnc.getDeployableComponents().stream()
 								.filter(d -> diagUnits.contains(d.getReplacedComponent()))
 								.collect(Collectors.toList());
-				Collection<IDeployableComponentAdapter<?>> outComps =
+				Collection<ITaskAdapter<?>> outComps =
 						itgEnc.getDeployableComponents().stream()
 								.filter(d -> d.getObject() == outputUnit.getObject())
 								.collect(Collectors.toList());
 
 				// Pick an sf component instance that is assigned to the current channel.
-				IDeployableComponentAdapter<?> currentChannelSFUnit = null;
-				for(IDeployableComponentAdapter<?> curSFUnit : realizingSFUnits) {
+				ITaskAdapter<?> currentChannelSFUnit = null;
+				for(ITaskAdapter<?> curSFUnit : realizingSFUnits) {
 					if(!connectedSFUnits.contains(curSFUnit)) {
 						// Remember that the diagnostic unit is associated with one channel --> no
 						// elimination of the signal.
@@ -153,8 +153,8 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 					}
 				}
 				// Pick an diagnostic component instance that is assigned to the current channel.
-				IDeployableComponentAdapter<?> currentChannelDiagUnit = null;
-				for(IDeployableComponentAdapter<?> curDiagUnit : realizingDiagUnits) {
+				ITaskAdapter<?> currentChannelDiagUnit = null;
+				for(ITaskAdapter<?> curDiagUnit : realizingDiagUnits) {
 					if(!connectedDiagUnits.contains(curDiagUnit)) {
 						// Remember that the diagnostic unit is associated with one channel --> no
 						// elimination of the signal.
@@ -164,8 +164,8 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 					}
 				}
 				// Pick an io component instance that is assigned to the current channel.
-				IDeployableComponentAdapter<?> currentChannelOutputUnit = null;
-				for(IDeployableComponentAdapter<?> curOutUnit : outComps) {
+				ITaskAdapter<?> currentChannelOutputUnit = null;
+				for(ITaskAdapter<?> curOutUnit : outComps) {
 					if(!connectedOutUnit.contains(curOutUnit)) {
 						// Remember that the diagnostic unit is associated with one channel --> no
 						// elimination of the signal.
@@ -187,30 +187,30 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 	 * @param sfTG
 	 *            {@link TaskGraph} containing the safety function instances.
 	 * @param realizingSFUnits
-	 *            {@link IDeployableComponentAdapter}s realizing the safety function's protection
+	 *            {@link ITaskAdapter}s realizing the safety function's protection
 	 *            element.
 	 * @param realizingDiagUnits
-	 *            {@link IDeployableComponentAdapter}s realizing the safety function's diagnostic
+	 *            {@link ITaskAdapter}s realizing the safety function's diagnostic
 	 *            element.
 	 * @param outComps
-	 *            {@link IDeployableComponentAdapter}s realizing the safety function's output
+	 *            {@link ITaskAdapter}s realizing the safety function's output
 	 *            aggregation element, e.g., a voter.
 	 * @param currentChannelSFUnit
-	 *            {@link IDeployableComponentAdapter} of the currently processed protection element.
+	 *            {@link ITaskAdapter} of the currently processed protection element.
 	 * @param currentChannelDiagUnit
-	 *            {@link IDeployableComponentAdapter} of the currently processed diagnostic element.
+	 *            {@link ITaskAdapter} of the currently processed diagnostic element.
 	 * @param currentChannelOutputUnit
-	 *            {@link IDeployableComponentAdapter} of the currently processed output aggregation
+	 *            {@link ITaskAdapter} of the currently processed output aggregation
 	 *            element.
 	 */
 	private void updateTaskGraph(DefaultTaskGraph<?> sfTG,
-			Collection<IDeployableComponentAdapter<?>> realizingSFUnits,
-			Collection<IDeployableComponentAdapter<?>> realizingDiagUnits,
-			Collection<IDeployableComponentAdapter<?>> outComps,
-			IDeployableComponentAdapter<?> currentChannelSFUnit,
-			IDeployableComponentAdapter<?> currentChannelDiagUnit,
-			IDeployableComponentAdapter<?> currentChannelOutputUnit) {
-		for(IDeployableComponentAdapter<?> curSFUnit : realizingSFUnits) {
+			Collection<ITaskAdapter<?>> realizingSFUnits,
+			Collection<ITaskAdapter<?>> realizingDiagUnits,
+			Collection<ITaskAdapter<?>> outComps,
+			ITaskAdapter<?> currentChannelSFUnit,
+			ITaskAdapter<?> currentChannelDiagUnit,
+			ITaskAdapter<?> currentChannelOutputUnit) {
+		for(ITaskAdapter<?> curSFUnit : realizingSFUnits) {
 			if(currentChannelSFUnit != curSFUnit) {
 				// Eliminate all other signals to different channels.
 				ChannelAdapterWeightedEdge interChannelSignal =
@@ -220,7 +220,7 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 				sfTG.getGraph().removeEdge(interChannelSignal);
 			}
 		}
-		for(IDeployableComponentAdapter<?> curDiagUnit : realizingDiagUnits) {
+		for(ITaskAdapter<?> curDiagUnit : realizingDiagUnits) {
 			if(currentChannelDiagUnit != curDiagUnit) {
 				// Eliminate all other signals to different channels.
 				ChannelAdapterWeightedEdge interChannelSignal =
@@ -230,7 +230,7 @@ public class InstantiatedTaskMappingDecoder<T extends InstantiatedTaskMappingEnt
 				sfTG.getGraph().removeEdge(interChannelSignal);
 			}
 		}
-		for(IDeployableComponentAdapter<?> curOutUnit : outComps) {
+		for(ITaskAdapter<?> curOutUnit : outComps) {
 			if(currentChannelOutputUnit != curOutUnit) {
 				// Eliminate all other signals to different channels.
 				ChannelAdapterWeightedEdge interChannelSignal =
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings
index d1b26cf6..c2f62bf7 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/.ratings
@@ -1,4 +1,4 @@
 SFEncodingDecoder.java 8e1594c92aa5e0c23d07038bb63db5b483c4f727 RED
-SFGraphDecoder.java 7290792dbf7bd2f22e909a1f166ab2dcaae7ee7d RED
-SFMappingConstraintDecoder.java 31ccf2a6cb337edce54fd77edb793e096f1a393d RED
-SFMappingDecoder.java 48342dcb954a8129e640ab89bbaf57fe028febf9 RED
+SFGraphDecoder.java 614f9894d678367b356e987df7e407b001bbeada RED
+SFMappingConstraintDecoder.java 6c72acbd0a65d0db701da8ab4de2e26869f10493 RED
+SFMappingDecoder.java 7d95377e4eda5ddeb17da9c0db1e32a254d3c294 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFGraphDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFGraphDecoder.java
index 39eaf80f..613219cc 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFGraphDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFGraphDecoder.java
@@ -32,13 +32,13 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.problem.ArchExpSubDecoder;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 
 import com.google.inject.Inject;
 
 /**
- * {@link ComposableDecoder} that generates {@link IDeployableComponentAdapter}s from the
+ * {@link ComposableDecoder} that generates {@link ITaskAdapter}s from the
  * chosen architecture of a safety function.
  * 
  * @author diewald
@@ -100,7 +100,7 @@ public class SFGraphDecoder<C>
 	 */
 	private boolean containsDiagUnits(SafetyFunctionArchEntry<C> sFAEntry,
 			SafeTaskGraphEncoding<C> encoding) {
-		Collection<IDeployableComponentAdapter<C>> sfComps =
+		Collection<ITaskAdapter<C>> sfComps =
 				sFAEntry.getSafetyFunctionAdapter().getDiagnosticComponents();
 		if(!sfComps.isEmpty()) {
 			return encoding.containsTask(sfComps.stream().findAny().get());
@@ -114,16 +114,16 @@ public class SFGraphDecoder<C>
 	 */
 	private void addDiagUnits(SafetyFunctionArchEntry<C> sFAEntry,
 			SafeTaskGraphEncoding<C> encoding) {
-		Collection<IDeployableComponentAdapter<C>> diagComps =
+		Collection<ITaskAdapter<C>> diagComps =
 				sFAEntry.getSafetyFunctionAdapter().getDiagnosticComponents();
 		addTasks(diagComps, encoding);
 	}
 
 	/**
-	 * Adds the given collection of {@link IDeployableComponentAdapter}s from the
+	 * Adds the given collection of {@link ITaskAdapter}s from the
 	 * {@link SafetyFunctionArchEntry} to the {@link TaskGraphEncoding}.
 	 */
-	private void addTasks(Collection<IDeployableComponentAdapter<C>> deplComp,
+	private void addTasks(Collection<ITaskAdapter<C>> deplComp,
 			SafeTaskGraphEncoding<C> encoding) {
 		// Add the Components.
 		deplComp.stream().forEach(task -> encoding.addTask(task));
@@ -135,7 +135,7 @@ public class SFGraphDecoder<C>
 	/** Removes the diagnostic units from the {@link TaskGraphEncoding}. */
 	private void removeDiagUnits(SafetyFunctionArchEntry<C> sFAEntry,
 			SafeTaskGraphEncoding<C> encoding) {
-		Collection<IDeployableComponentAdapter<C>> sfComps =
+		Collection<ITaskAdapter<C>> sfComps =
 				sFAEntry.getSafetyFunctionAdapter().getDiagnosticComponents();
 		sfComps.stream().forEach(t -> encoding.removeTask(t));
 	}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingConstraintDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingConstraintDecoder.java
index e83a6b85..bff365d9 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingConstraintDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingConstraintDecoder.java
@@ -29,7 +29,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.decode.ConstraintGenerationDecoder;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISafetyFunctionAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 
@@ -67,13 +67,13 @@ public class SFMappingConstraintDecoder<C>
 	public AbstractTaskMappingEncoding updateComposable(SafetyFunctionArchEncoding<C> inGenotype,
 			AbstractTaskMappingEncoding outGenotype,
 			FlatPhenotypeMap<Phenotype> decodedPhenotypes) {
-		Collection<IDeployableComponentAdapter<C>> deplComps = new HashSet<>();
+		Collection<ITaskAdapter<C>> deplComps = new HashSet<>();
 		deplComps.addAll(systemModelAdapter.getDeployableComponents());
 		for(SafetyFunctionArchEntry<C> sFAEntry : inGenotype.getAllEntries()) {
 			int channelNumber = sFAEntry.getNumChannels();
 
 			Collection<InternalReplicationConstraint> replicationConstraints = new HashSet<>();
-			for(IDeployableComponentAdapter<?> comp : sFAEntry.getSafetyFunctionAdapter()
+			for(ITaskAdapter<?> comp : sFAEntry.getSafetyFunctionAdapter()
 					.getAllComponents()) {
 				replicationConstraints
 						.add(new InternalReplicationConstraint(comp, channelNumber, channelNumber));
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingDecoder.java
index 36e00e78..3cc2fd1a 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/safetyfunction/SFMappingDecoder.java
@@ -37,7 +37,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.decode.ConstraintGenerationDecoder;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
@@ -93,17 +93,17 @@ public class SFMappingDecoder<C>
 		}
 
 		// TODO: replace with a dynamic mechanism for the retrieval of deployable components.
-		Collection<IDeployableComponentAdapter<C>> deplComps = new HashSet<>();
+		Collection<ITaskAdapter<C>> deplComps = new HashSet<>();
 		deplComps.addAll(systemModelAdapter.getDeployableComponents());
 		for(SafetyFunctionArchEntry<C> sFAEntry : inGenotype.getAllEntries()) {
 			boolean diagPresent = sFAEntry.isDiagnosicUnitPresent();
 			int channelNumber = sFAEntry.getNumChannels();
 
-			Collection<IDeployableComponentAdapter<C>> sfComps =
+			Collection<ITaskAdapter<C>> sfComps =
 					sFAEntry.getSafetyFunctionAdapter().getRealizingComponents();
-			Collection<IDeployableComponentAdapter<C>> diagComps =
+			Collection<ITaskAdapter<C>> diagComps =
 					sFAEntry.getSafetyFunctionAdapter().getDiagnosticComponents();
-			IDeployableComponentAdapter<C> outComponent =
+			ITaskAdapter<C> outComponent =
 					sFAEntry.getSafetyFunctionAdapter().getOutputComponent();
 
 			// We assume that the entry number must be equal for all realizing components of a
@@ -116,7 +116,7 @@ public class SFMappingDecoder<C>
 			// the creation phase.
 			Set<IMappingEntry<?, ?>> existingEntries = new HashSet<>();
 			if(outGenotype.getConstraintsOf(InternalIsolatedCommunicationSet.class).isEmpty()) {
-				for(IDeployableComponentAdapter<C> comp : sFAEntry.getSafetyFunctionAdapter()
+				for(ITaskAdapter<C> comp : sFAEntry.getSafetyFunctionAdapter()
 						.getAllComponents()) {
 					Collection<AbstractTaskMappingEntry> curEntry =
 							outGenotype.getMappingEntriesOf(comp);
@@ -187,10 +187,10 @@ public class SFMappingDecoder<C>
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	private void addMissingDiagUnits(AbstractTaskMappingEncoding outGenotype,
-			Collection<IDeployableComponentAdapter<C>> diagComps, int entryNumber)
+			Collection<ITaskAdapter<C>> diagComps, int entryNumber)
 			throws ExplorationException {
 		List<InternalIsolatedCommunicationSet> isoComm = new ArrayList<>(
 				outGenotype.getConstraintsOf(InternalIsolatedCommunicationSet.class));
@@ -203,8 +203,8 @@ public class SFMappingDecoder<C>
 
 	/** Entirely removes the diagnostic units of a safety function from a given mapping. */
 	private void removeDiagUnits(AbstractTaskMappingEncoding outGenotype,
-			Collection<IDeployableComponentAdapter<C>> diagComps) {
-		for(IDeployableComponentAdapter<?> diagComp : diagComps) {
+			Collection<ITaskAdapter<C>> diagComps) {
+		for(ITaskAdapter<?> diagComp : diagComps) {
 			Collection<AbstractTaskMappingEntry> removedEntries = outGenotype.removeTask(diagComp);
 			Collection<InternalIsolatedCommunicationSet> isoCommConstrs =
 					outGenotype.getConstraintsOf(InternalIsolatedCommunicationSet.class);
@@ -218,17 +218,17 @@ public class SFMappingDecoder<C>
 
 	/**
 	 * Adds one random entry to the task mapping for each of the given
-	 * {@link IDeployableComponentAdapter}s.
+	 * {@link ITaskAdapter}s.
 	 * 
 	 * @throws ExplorationException
 	 *             if no valid allocation targets can be identified for one
-	 *             {@link IDeployableComponentAdapter}.
+	 *             {@link ITaskAdapter}.
 	 */
 	private Set<IMappingEntry<?, ?>> addSFComponents(AbstractTaskMappingEncoding outGenotype,
-			Collection<IDeployableComponentAdapter<C>> sfComps) throws ExplorationException {
+			Collection<ITaskAdapter<C>> sfComps) throws ExplorationException {
 		Set<IMappingEntry<?, ?>> createdEntries = new HashSet<>();
 		if(sfComps != null) {
-			for(IDeployableComponentAdapter<C> curSFComp : sfComps) {
+			for(ITaskAdapter<C> curSFComp : sfComps) {
 				createdEntries.add(outGenotype.createAndAddRandomEntry(curSFComp));
 			}
 		}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings
index c4235145..74500d69 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/.ratings
@@ -1,2 +1,2 @@
 AbstractTaskMappingIdentityDecoder.java b1556259f12c67e465031f63f21a47e327f42ab9 RED
-TaskMappingDecoderBase.java 969f0a27fad48ecf6de04e9ea4034602aeb21a20 RED
+TaskMappingDecoderBase.java 0b0fefc3bb48ea5b65956266b48bd97eed90d9f5 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java
index 98eea0ce..4fc4acda 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/TaskMappingDecoderBase.java
@@ -26,7 +26,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.exception.ExplorationException;
 
@@ -34,7 +34,7 @@ import org.fortiss.af3.exploration.alg.exception.ExplorationException;
  * 
  * @author diewald
  */
-public abstract class TaskMappingDecoderBase<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>, P extends ComposablePhenotype<?>>
+public abstract class TaskMappingDecoderBase<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>, P extends ComposablePhenotype<?>>
 		extends ComposableDecoderBase<T, P> {
 
 	/**
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings
index 706484f3..1755d9c2 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/.ratings
@@ -1,4 +1,4 @@
 AbstractTaskMappingDecoder.java 8daae35d8536b37e000eed45cec870fa94958f2e RED
-FailSilentAbstractTaskMappingDecoder.java 64dc3dac76cabf96f0dc39e5e7192c5caa04a7b0 RED
-FaultDetectionVotingAbstractTaskMappingDecoder.java 68bcd5b7faedc97269973023e5f9b6eebb020c1e RED
+FailSilentAbstractTaskMappingDecoder.java e68e58f1eb1a5400060f804701873eab36c710ed RED
+FaultDetectionVotingAbstractTaskMappingDecoder.java a3dcf021b83dce8574f076440fc2fadfc2402a23 RED
 TaskInstanceResourceAlignmentDecoder.java 116f72a16a02c9aac617cc4c9684cd583b87e1b6 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FailSilentAbstractTaskMappingDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FailSilentAbstractTaskMappingDecoder.java
index ecb43eb9..c162c849 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FailSilentAbstractTaskMappingDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FailSilentAbstractTaskMappingDecoder.java
@@ -30,7 +30,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
 
@@ -78,7 +78,7 @@ public class FailSilentAbstractTaskMappingDecoder extends
 			FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException {
 		outGenotype.replaceConstraints(inGenotype.getConstraints());
 
-		for(IDeployableComponentAdapter<?> comp : inGenotype.getRequesters()) {
+		for(ITaskAdapter<?> comp : inGenotype.getRequesters()) {
 			Collection<AbstractTaskMappingEntry> abstrEntries =
 					inGenotype.getMappingEntriesOf(comp);
 			Collection<FailSilentTaskMappingEntry> instEntries;
@@ -107,9 +107,9 @@ public class FailSilentAbstractTaskMappingDecoder extends
 		}
 
 		// Remove all tasks that are present in the output encoding but not in the input encoding.
-		Collection<IDeployableComponentAdapter<?>> rmTasks = new ArrayList<>();
-		for(IDeployableComponentAdapter<?> comp : outGenotype.getRequesters()) {
-			IDeployableComponentAdapter<?> rmComponent = comp;
+		Collection<ITaskAdapter<?>> rmTasks = new ArrayList<>();
+		for(ITaskAdapter<?> comp : outGenotype.getRequesters()) {
+			ITaskAdapter<?> rmComponent = comp;
 			if(comp.isInstantiation()) {
 				comp = comp.getReplacedComponent();
 			}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FaultDetectionVotingAbstractTaskMappingDecoder.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FaultDetectionVotingAbstractTaskMappingDecoder.java
index 9e0033f5..7e0ac023 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FaultDetectionVotingAbstractTaskMappingDecoder.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/taskmapping/instantiate/FaultDetectionVotingAbstractTaskMappingDecoder.java
@@ -29,7 +29,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.exception.DecodingException;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.moea.model.DseSpecification;
 import org.opt4j.core.problem.Decoder;
@@ -78,7 +78,7 @@ public class FaultDetectionVotingAbstractTaskMappingDecoder extends
 			FlatPhenotypeMap<Phenotype> decodedPhenotypes) throws DecodingException {
 		outGenotype.replaceConstraints(inGenotype.getConstraints());
 
-		for(IDeployableComponentAdapter<?> comp : inGenotype.getRequesters()) {
+		for(ITaskAdapter<?> comp : inGenotype.getRequesters()) {
 			Collection<AbstractTaskMappingEntry> abstrEntries =
 					inGenotype.getMappingEntriesOf(comp);
 			Collection<FaultDetectionVotingTaskMappingEntry> instEntries;
@@ -107,9 +107,9 @@ public class FaultDetectionVotingAbstractTaskMappingDecoder extends
 		}
 
 		// Remove all tasks that are present in the output encoding but not in the input encoding.
-		Collection<IDeployableComponentAdapter<?>> rmTasks = new ArrayList<>();
-		for(IDeployableComponentAdapter<?> comp : outGenotype.getRequesters()) {
-			IDeployableComponentAdapter<?> rmComponent = comp;
+		Collection<ITaskAdapter<?>> rmTasks = new ArrayList<>();
+		for(ITaskAdapter<?> comp : outGenotype.getRequesters()) {
+			ITaskAdapter<?> rmComponent = comp;
 			if(comp.isInstantiation()) {
 				comp = comp.getReplacedComponent();
 			}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings
index 1c98fc29..2d052905 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/.ratings
@@ -2,5 +2,5 @@ ArchExpSubSolution.java 3bb56206fe70f19f7cb6aee575eba552ce9bbc4e RED
 ArchitectureSolution.java 8ba40ce339c4195641ed1b67c79718e297d66e4c RED
 IExplorationSolution.java a6153937197358907ceec46606a7f28620c26f2b RED
 IScheduleSolution.java 8a2959147bdca874fd43b1591bc5471b68c04333 RED
-StrictTTSchedule.java 59958b5cacbe4a02e27ab82aac0afc501b10864f RED
-TimeSlot.java a394badca1460454c91e0d82b0d124f8b2a2ebcf RED
+StrictTTSchedule.java 2a272e7f146d8aa2a105c23302782ee291e55dea RED
+TimeSlot.java 499ba8b40aca05351c4baf03d104dd20e5eb19d1 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java
index 12ba0330..bf7ccd9c 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/StrictTTSchedule.java
@@ -27,7 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ICommunicationResourceAdapter;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IGatewayUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter;
@@ -46,7 +46,7 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.sched.ScheduleRuntimeExcepti
  * @author huang
  */
 
-public class StrictTTSchedule<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class StrictTTSchedule<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		implements IScheduleSolution<StrictTTSchedule<S, T>>, ComposablePhenotype<T>,
 		ArchExpSubSolution<T> {
 	/**
@@ -146,13 +146,13 @@ public class StrictTTSchedule<S extends TaskMappingEntry<IDeployableComponentAda
 
 	/**
 	 * Validates whether the number of {@link TimeSlot}s representing a
-	 * {@link IDeployableComponentAdapter} matches the number of allocations defined in the
+	 * {@link ITaskAdapter} matches the number of allocations defined in the
 	 * {@link IMappingEncoding} from which this {@link StrictTTSchedule} is derived.
-	 * This check is performed for each {@link IDeployableComponentAdapter} in the
+	 * This check is performed for each {@link ITaskAdapter} in the
 	 * {@link IMappingEncoding}.
 	 */
 	private boolean validateAllocationNumberInSchedule(boolean enableScheduleException) {
-		for(IDeployableComponentAdapter<?> comp : encoding.getRequesters()) {
+		for(ITaskAdapter<?> comp : encoding.getRequesters()) {
 			int compEncNum = encoding.getMappingEntriesOf(comp).size();
 			int compSchedNum = 0;
 			for(IResourceAdapter<?> resourceAdapter : getResources()) {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/TimeSlot.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/TimeSlot.java
index 459ac9a3..055e615e 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/TimeSlot.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/solution/TimeSlot.java
@@ -20,7 +20,7 @@ import java.util.Comparator;
 import java.util.HashSet;
 
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ICommunicationResourceAdapter;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.comm.Message;
@@ -42,7 +42,7 @@ public class TimeSlot implements java.lang.Comparable<TimeSlot> {
 	private IResourceAdapter<?> resource;
 
 	/** The {@link IMappingEntry} that is represented by this {@link TimeSlot}. */
-	private IMappingEntry<IDeployableComponentAdapter<?>, ?> deployedRequester;
+	private IMappingEntry<ITaskAdapter<?>, ?> deployedRequester;
 
 	/** The {@link Message} reserving this {@link TimeSlot} of a communication resource. */
 	private Message deployedMessage;
@@ -73,7 +73,7 @@ public class TimeSlot implements java.lang.Comparable<TimeSlot> {
 	 * Constructs a time slot for a given resource, and enables to specify if the slot has been
 	 * allocated for a voter.
 	 */
-	public TimeSlot(IMappingEntry<IDeployableComponentAdapter<?>, ?> deployedRequest,
+	public TimeSlot(IMappingEntry<ITaskAdapter<?>, ?> deployedRequest,
 			IResourceAdapter<?> resource, double startTime, double endTime, int iteration,
 			boolean isVoterSlot) {
 		this.deployedRequester = deployedRequest;
@@ -91,7 +91,7 @@ public class TimeSlot implements java.lang.Comparable<TimeSlot> {
 	 * Constructs a time slot for a given resource, and enables to specify if the slot has been
 	 * allocated for a voter. Furthermore, the collection of predecessors is defined.
 	 */
-	public TimeSlot(IMappingEntry<IDeployableComponentAdapter<?>, ?> deployedRequest,
+	public TimeSlot(IMappingEntry<ITaskAdapter<?>, ?> deployedRequest,
 			IResourceAdapter<?> resource, Collection<TimeSlot> predecessorSlots, double startTime,
 			double endTime, int iteration, boolean isVoterSlot) {
 		this(deployedRequest, resource, startTime, endTime, iteration, isVoterSlot);
@@ -100,7 +100,7 @@ public class TimeSlot implements java.lang.Comparable<TimeSlot> {
 	}
 
 	/** Constructs a time slot for a given mappingEntry. */
-	public TimeSlot(IMappingEntry<IDeployableComponentAdapter<?>, ?> deployedRequest,
+	public TimeSlot(IMappingEntry<ITaskAdapter<?>, ?> deployedRequest,
 			double startTime, double endTime) {
 		this(deployedRequest, deployedRequest.getTarget(), startTime, endTime, 0, false);
 	}
@@ -116,7 +116,7 @@ public class TimeSlot implements java.lang.Comparable<TimeSlot> {
 	}
 
 	/** Returns deployedRequester. */
-	public IMappingEntry<IDeployableComponentAdapter<?>, ?> getDeployedRequester() {
+	public IMappingEntry<ITaskAdapter<?>, ?> getDeployedRequester() {
 		return deployedRequester;
 	}
 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings
index 307c2f61..481e4886 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/.ratings
@@ -3,4 +3,4 @@ ArchitectureEvaluator.java 600c424651bc22bacecef9e596360763fdf28585 RED
 ExplorationTargetEvaluatorBase.java b6db855e18f03c4f5c8dd7b42dbae72836509f01 RED
 ExpressionEvaluatorBase.java 1552c9232d4ef9589560b6a95523ca21739ad110 RED
 ITopLevelEvaluator.java 032ec6375efff2234664690f271cec98816abcc5 RED
-TaskMappingEvaluator.java 34231ad9255d3b7accdba5c1e75f3ecb4be4512f RED
+TaskMappingEvaluator.java d73211bc436bf951dbac5e66065b82aa9d9e97a1 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/TaskMappingEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/TaskMappingEvaluator.java
index 4f5b2682..8596fa79 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/TaskMappingEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/TaskMappingEvaluator.java
@@ -22,7 +22,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.MappingEncodin
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.partitionmapping.Partition;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
@@ -39,10 +39,10 @@ import org.fortiss.tooling.base.model.element.IModelElement;
  * @author diewald
  */
 public abstract class TaskMappingEvaluator extends
-		ExpressionEvaluatorBase<TaskMappingEncoding<IDeployableComponentAdapter<?>, TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>, Double, ExplorationTarget<Double>> {
+		ExpressionEvaluatorBase<TaskMappingEncoding<ITaskAdapter<?>, TaskMappingEntry<ITaskAdapter<?>, Partition>>, Double, ExplorationTarget<Double>> {
 
 	/** Reference to the mapping which shall be evaluated here. */
-	protected MappingEncoding<?, IDeployableComponentAdapter<?>, Partition, ?> mapping;
+	protected MappingEncoding<?, ITaskAdapter<?>, Partition, ?> mapping;
 
 	/** Mapping of Partitions to physical execution units. */
 	// FIXME: HACK in order to validate the mapping of components/tasks to phys exec units if
@@ -71,7 +71,7 @@ public abstract class TaskMappingEvaluator extends
 		IRequestAdapter<?> requestAdp = systemModelAdapter.getDeployableComponentOf(requester);
 
 		Collection<Partition> allocResourceAdps =
-				mapping.getAllocatedResourcesFor((IDeployableComponentAdapter<?>)requestAdp);
+				mapping.getAllocatedResourcesFor((ITaskAdapter<?>)requestAdp);
 		for(IResourceAdapter<?> allocResource : allocResourceAdps) {
 			if(allocResource.getObject() == resource) {
 				return Boolean.valueOf(true);
@@ -97,7 +97,7 @@ public abstract class TaskMappingEvaluator extends
 		IRequestAdapter<?> requestAdp = systemModelAdapter.getDeployableComponentOf(requester);
 
 		Collection<Partition> allocResourceAdps =
-				mapping.getAllocatedResourcesFor((IDeployableComponentAdapter<?>)requestAdp);
+				mapping.getAllocatedResourcesFor((ITaskAdapter<?>)requestAdp);
 		for(IResourceAdapter<?> allocResource : allocResourceAdps) {
 			if(allocResource.getObject() == resource) {
 				return Boolean.valueOf(false);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings
index ca186bd2..796dd04f 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/.ratings
@@ -1,8 +1,8 @@
-ComponentMultiAllocationConstraintEvaluator.java dd4460755f6dc04b67032d5ce5b68d0ae7c03cfa RED
-ComponentMultiDislocationConstraintEvaluator.java e63169976a3075d5d9ac62767bf6c17bc4ddfe07 RED
+ComponentMultiAllocationConstraintEvaluator.java 7742b1ca3553eb066830cae7e42e57502317ab02 RED
+ComponentMultiDislocationConstraintEvaluator.java 27140484b86611f07080e59de1ff54313c6c7ade RED
 ConstraintEvaluatorBase.java f42f71e64d32201b232c24542a2c0367a6293942 RED
-DeadlineConstraintEvaluator.java a023d233a2ee768cef573a67e06ae1fe0b53ddbe RED
+DeadlineConstraintEvaluator.java f2681056772afc4dc3c95ddab49f3800d893c2e8 RED
 IConstraintEvaluator.java bca49bbdea5e089b0d045fc356ceedcb466df55e RED
-MappingEvaluatorConstraint.java dc7f0f8492827efad3c131ef5ab6768bba2b90ee RED
-PeriodConstraintEvaluator.java 52dc75180579f154a514816223461e27cb9ca84d RED
-SafetyIntegrityLevelConstraintEvaluator.java a689ee98f7243165b5186ccb70b37bdff1606748 RED
+MappingEvaluatorConstraint.java 9ffa75d8a7ffe974b2ac547fefd16a95e7423ae7 RED
+PeriodConstraintEvaluator.java d4f1997659766f0958eebfe89aa3447d4d98469f RED
+SafetyIntegrityLevelConstraintEvaluator.java b9b6594e9b8065b27a4cc28f8cfe5b2eb5b4e3d1 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiAllocationConstraintEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiAllocationConstraintEvaluator.java
index 2b74ee44..734815b2 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiAllocationConstraintEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiAllocationConstraintEvaluator.java
@@ -27,7 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
@@ -41,7 +41,7 @@ import com.google.common.collect.ClassToInstanceMap;
 
 /**
  * Deployment constraint which defines the allowed deployments of
- * {@link IDeployableComponentAdapter}s to {@link IExecutionUnitAdapter}s. All other allocations are
+ * {@link ITaskAdapter}s to {@link IExecutionUnitAdapter}s. All other allocations are
  * forbidden.
  * 
  * @author huang
@@ -108,7 +108,7 @@ public class ComponentMultiAllocationConstraintEvaluator<S extends InstantiatedT
 
 		Collection<InstantiatedTaskMappingEntry> entries = new ArrayList<>();
 		for(InstantiatedTaskMappingEntry mappingEntry : solution.getMappingEntries()) {
-			IDeployableComponentAdapter<?> compAdp = mappingEntry.getSource();
+			ITaskAdapter<?> compAdp = mappingEntry.getSource();
 			if(compAdp.getObject() == constrComp) {
 				entries.add(mappingEntry);
 			} else if(compAdp.isInstantiation() &&
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiDislocationConstraintEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiDislocationConstraintEvaluator.java
index 9797d5ad..8b31c80f 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiDislocationConstraintEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/ComponentMultiDislocationConstraintEvaluator.java
@@ -26,7 +26,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.service.IExplorationTargetEvaluator;
@@ -38,7 +38,7 @@ import org.opt4j.core.Value;
 import com.google.common.collect.ClassToInstanceMap;
 
 /**
- * Constraint which defines the disallowed allocations of {@link IDeployableComponentAdapter}s to
+ * Constraint which defines the disallowed allocations of {@link ITaskAdapter}s to
  * {@link IExecutionUnitAdapter}s.
  * 
  * @author diewald
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/DeadlineConstraintEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/DeadlineConstraintEvaluator.java
index 0f5f8d75..83e2dd58 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/DeadlineConstraintEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/DeadlineConstraintEvaluator.java
@@ -29,7 +29,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.af3.AF3SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
@@ -54,13 +54,13 @@ public class DeadlineConstraintEvaluator<S extends InstantiatedTaskMappingEntry,
 	 * The source component which defines the component associated with the start time of this
 	 * deadline.
 	 */
-	private Collection<IDeployableComponentAdapter<?>> sourceDeployableComponent;
+	private Collection<ITaskAdapter<?>> sourceDeployableComponent;
 
 	/**
 	 * The target component which defines the component associated with the finish time of this
 	 * deadline.
 	 */
-	private Collection<IDeployableComponentAdapter<?>> targetDeployableComponent;
+	private Collection<ITaskAdapter<?>> targetDeployableComponent;
 
 	/** Stores the deadline for this goal. */
 	private double deadline;
@@ -83,7 +83,7 @@ public class DeadlineConstraintEvaluator<S extends InstantiatedTaskMappingEntry,
 		// would be rather required to define the source and sink components as
 		// IDeployableComponents in the ecore model. The transformation from AF3 components to the
 		// IDeployableCompontes should be done when the data from the GUI is written to the model.
-		IDeployableComponentAdapter<?> origStartComponent =
+		ITaskAdapter<?> origStartComponent =
 				((AF3SystemModelAdapter)systemModelAdapter).getDeployableComponentAdapter(explorationTarget
 						.getStartComponent());
 		if(origStartComponent.isInstantiation()) {
@@ -92,7 +92,7 @@ public class DeadlineConstraintEvaluator<S extends InstantiatedTaskMappingEntry,
 			sourceDeployableComponent.addAll(origStartComponent.getReplacementComponents());
 		}
 
-		IDeployableComponentAdapter<?> origTargetComponent =
+		ITaskAdapter<?> origTargetComponent =
 				((AF3SystemModelAdapter)systemModelAdapter).getDeployableComponentAdapter(explorationTarget
 						.getEndComponent());
 		if(origStartComponent.isInstantiation()) {
@@ -130,11 +130,11 @@ public class DeadlineConstraintEvaluator<S extends InstantiatedTaskMappingEntry,
 			// the start time is the release time of this iteration, which is the beginning
 			// of the period
 			// double start = i * tg.getPeriod();
-			IDeployableComponentAdapter<?> earliestComp =
+			ITaskAdapter<?> earliestComp =
 					sourceDeployableComponent.stream()
 							.min(Comparator.comparing(t -> schedule.getFirstStartTime(t, j))).get();
 			double start = schedule.getFirstStartTime(earliestComp, i);
-			IDeployableComponentAdapter<?> latestComp =
+			ITaskAdapter<?> latestComp =
 					targetDeployableComponent.stream()
 							.min(Comparator.comparing(t -> schedule.getLastEndTime(t, j))).get();
 			double end = schedule.getLastEndTime(latestComp, i);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/MappingEvaluatorConstraint.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/MappingEvaluatorConstraint.java
index 8149529c..e5f12704 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/MappingEvaluatorConstraint.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/MappingEvaluatorConstraint.java
@@ -23,7 +23,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.evaluator.TaskMappingEvaluator;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.service.IExplorationTargetEvaluator;
 import org.fortiss.af3.exploration.dsl_v2.model.function.Maximize;
@@ -40,7 +40,7 @@ import com.google.common.collect.ClassToInstanceMap;
  * @author diewald
  */
 public class MappingEvaluatorConstraint extends TaskMappingEvaluator implements
-		IConstraintEvaluator<TaskMappingEncoding<IDeployableComponentAdapter<?>, TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>, Boolean, ExplorationConstraint<Boolean>> {
+		IConstraintEvaluator<TaskMappingEncoding<ITaskAdapter<?>, TaskMappingEntry<ITaskAdapter<?>, Partition>>, Boolean, ExplorationConstraint<Boolean>> {
 
 	/** Prototype constructor. */
 	public MappingEvaluatorConstraint() {
@@ -58,7 +58,7 @@ public class MappingEvaluatorConstraint extends TaskMappingEvaluator implements
 	/** {@inheritDoc} */
 	@Override
 	public Value<?> evaluateGoal(
-			TaskMappingEncoding<IDeployableComponentAdapter<?>, TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>> phenotype,
+			TaskMappingEncoding<ITaskAdapter<?>, TaskMappingEntry<ITaskAdapter<?>, Partition>> phenotype,
 			FlatPhenotypeMap<Phenotype> phenotypeTypeMap,
 			ClassToInstanceMap<EObject> transformedModels) {
 		mapping = phenotype;
@@ -95,7 +95,7 @@ public class MappingEvaluatorConstraint extends TaskMappingEvaluator implements
 
 	/** {@inheritDoc} */
 	@Override
-	public IExplorationTargetEvaluator<TaskMappingEncoding<IDeployableComponentAdapter<?>, TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>, Double, ExplorationTarget<Double>>
+	public IExplorationTargetEvaluator<TaskMappingEncoding<ITaskAdapter<?>, TaskMappingEntry<ITaskAdapter<?>, Partition>>, Double, ExplorationTarget<Double>>
 			createEvaluator(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
 					ExplorationTarget<Double> explorationTarget)
 					throws InstantiationException, Exception {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/PeriodConstraintEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/PeriodConstraintEvaluator.java
index 419a0327..e6960990 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/PeriodConstraintEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/PeriodConstraintEvaluator.java
@@ -27,7 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
@@ -41,7 +41,7 @@ import org.opt4j.core.Value;
 import com.google.common.collect.ClassToInstanceMap;
 
 /**
- * This {@link IConstraintEvaluator} evaluates whether all {@link IDeployableComponentAdapter}s are
+ * This {@link IConstraintEvaluator} evaluates whether all {@link ITaskAdapter}s are
  * executed within their respective period. Any violation is summed and then squared.
  * 
  * @author diewald
@@ -76,7 +76,7 @@ public class PeriodConstraintEvaluator<S extends InstantiatedTaskMappingEntry, T
 
 		// we evaluate if all tasks are within the period. we want everything to be
 		// finished within the period
-		for(IDeployableComponentAdapter<?> deployableComponent : itmEnc.getRequesters()) {
+		for(ITaskAdapter<?> deployableComponent : itmEnc.getRequesters()) {
 			TaskGraph taskGraph = itgEnc.getTaskGraphOf(deployableComponent);
 			// we need to check each iteration in the hyper period
 			if(taskGraph != null) {
@@ -104,7 +104,7 @@ public class PeriodConstraintEvaluator<S extends InstantiatedTaskMappingEntry, T
 	@Override
 	public boolean validateInputs() throws Exception {
 		// Each deployable component has a period.
-		for(IDeployableComponentAdapter<?> component : systemModelAdapter
+		for(ITaskAdapter<?> component : systemModelAdapter
 				.getDeployableComponents()) {
 			if(component.getTimingRequirementPeriod() == null) {
 				throw new Exception("The component " + component.getName() +
@@ -115,7 +115,7 @@ public class PeriodConstraintEvaluator<S extends InstantiatedTaskMappingEntry, T
 		}
 
 		// Check WCETs of each component/execution unit combination.
-		for(IDeployableComponentAdapter<?> component : systemModelAdapter
+		for(ITaskAdapter<?> component : systemModelAdapter
 				.getDeployableComponents()) {
 			for(IExecutionUnitAdapter<?> execUnit : systemModelAdapter.getDeploymentTargets()) {
 				if(component.getWcet(execUnit) == null) {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/SafetyIntegrityLevelConstraintEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/SafetyIntegrityLevelConstraintEvaluator.java
index 6e39ec41..2b797123 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/SafetyIntegrityLevelConstraintEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/constraint/SafetyIntegrityLevelConstraintEvaluator.java
@@ -31,7 +31,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.service.IExplorationTargetEvaluator;
@@ -46,8 +46,8 @@ import com.google.common.collect.ClassToInstanceMap;
 
 /**
  * Preliminary {@link Evaluator} to check whether the allocation of specific
- * {@link IDeployableComponentAdapter}s to {@link IExecutionUnitAdapter}s satisfy the Safety
- * Integrity Level required by the {@link IDeployableComponentAdapter}.
+ * {@link ITaskAdapter}s to {@link IExecutionUnitAdapter}s satisfy the Safety
+ * Integrity Level required by the {@link ITaskAdapter}.
  * 
  * @author diewald
  */
@@ -75,10 +75,10 @@ public class SafetyIntegrityLevelConstraintEvaluator<S extends InstantiatedTaskM
 	/** {@inheritDoc} */
 	@Override
 	public boolean validateInternal(ExplorationConstraint<?> expTarget, T mapping, Value<?> value) {
-		List<IDeployableComponentAdapter<?>> silComponents = getSILComponentAdapters();
+		List<ITaskAdapter<?>> silComponents = getSILComponentAdapters();
 		List<SIL> silBounds = explorationTarget.getLimitation();
 		for(int idx = 0; idx < silComponents.size(); idx++) {
-			IDeployableComponentAdapter<?> silComponent = silComponents.get(idx);
+			ITaskAdapter<?> silComponent = silComponents.get(idx);
 			SIL actualSIL = detectSIL(silComponent, mapping.getMappingEntriesOf(silComponent));
 			if(actualSIL.getValue() < silBounds.get(idx).getValue()) {
 				return false;
@@ -95,11 +95,11 @@ public class SafetyIntegrityLevelConstraintEvaluator<S extends InstantiatedTaskM
 	}
 
 	/**
-	 * Returns the set of {@link IDeployableComponentAdapter}s that is equivalent to the set of
+	 * Returns the set of {@link ITaskAdapter}s that is equivalent to the set of
 	 * {@link Component}s given in the {@link SafetyIntegrityLevelConstraint}.
 	 */
-	private List<IDeployableComponentAdapter<?>> getSILComponentAdapters() {
-		Collection<IDeployableComponentAdapter<?>> deplComp =
+	private List<ITaskAdapter<?>> getSILComponentAdapters() {
+		Collection<ITaskAdapter<?>> deplComp =
 				castToRawColl(systemModelAdapter.getDeployableComponents());
 		return deplComp.stream()
 				.filter(c -> explorationTarget.getComponents().contains(c.getObject()))
@@ -114,10 +114,10 @@ public class SafetyIntegrityLevelConstraintEvaluator<S extends InstantiatedTaskM
 	 */
 	private List<SIL> getSILViolations(T mapping) {
 		List<SIL> silViolations = new ArrayList<>();
-		List<IDeployableComponentAdapter<?>> silComponents = getSILComponentAdapters();
+		List<ITaskAdapter<?>> silComponents = getSILComponentAdapters();
 		List<SIL> silBounds = explorationTarget.getLimitation();
 		for(int idx = 0; idx < silComponents.size(); idx++) {
-			IDeployableComponentAdapter<?> silComponent = silComponents.get(idx);
+			ITaskAdapter<?> silComponent = silComponents.get(idx);
 			SIL actualSIL = detectSIL(silComponent, mapping.getMappingEntriesOf(silComponent));
 			silViolations.add(calculateSILViolation(silBounds.get(idx), actualSIL));
 		}
@@ -127,7 +127,7 @@ public class SafetyIntegrityLevelConstraintEvaluator<S extends InstantiatedTaskM
 	// TODO: Port to org.fortiss.af3.safety
 	/** Helper function for the calculation of the actual SIL of a deployed component. */
 	private SIL detectSIL(
-			@SuppressWarnings("unused") IDeployableComponentAdapter<?> deployableComponent,
+			@SuppressWarnings("unused") ITaskAdapter<?> deployableComponent,
 			Collection<S> allEntries) {
 		// Determine the number of replications onto different execution units. This separation is
 		// yet very primitive.
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings
index 4e26c4bf..b79d9411 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/.ratings
@@ -1,5 +1,5 @@
-EnergyObjectiveEvaluator.java 5d9f8a7b9144fd8eb3b70dc6c66b2624bf3cddb1 RED
-FailSilentReliabilityEvaluator.java 8808fe9805ec75dad6d44e97d320ececb9501742 RED
-FaultDetectionVotingReliabilityEvaluator.java 4e7edb17054a81aec398c9d95e99b0a1e8268322 RED
-MappingEvaluatorObjective.java 6258cac448f074f569bd750e54892cc2652fb613 RED
-ReliabilityEvaluatorBase.java e20aadec51a62a486a03c9e47da074613c6bea42 RED
+EnergyObjectiveEvaluator.java a1ba92a7191a5d8883cc5b30e71640117ef98548 RED
+FailSilentReliabilityEvaluator.java 038633e5f181ff6d610da803663613589e34defb RED
+FaultDetectionVotingReliabilityEvaluator.java 7a5de8a099ec40bb2d46e67247feb7f6fff0ecc5 RED
+MappingEvaluatorObjective.java 6b220a94ac9d5f7b19e8d9f0721e47bb74b8c526 RED
+ReliabilityEvaluatorBase.java 7637e5338c1ce33c53b6c6458fe0256266a1459f RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/EnergyObjectiveEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/EnergyObjectiveEvaluator.java
index f162a2bc..f6f2932c 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/EnergyObjectiveEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/EnergyObjectiveEvaluator.java
@@ -30,7 +30,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedu
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.TimeSlot;
 import org.fortiss.af3.exploration.alg.dse.evaluator.ExplorationTargetEvaluatorBase;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ICommunicationResourceAdapter;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITransmissionUnitAdapter;
@@ -46,7 +46,7 @@ import com.google.common.collect.ClassToInstanceMap;
  * 
  * @author huang
  */
-public class EnergyObjectiveEvaluator<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>>
+public class EnergyObjectiveEvaluator<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>>
 		extends ExplorationTargetEvaluatorBase<StrictTTSchedule<S, T>, Double, EnergyMinObjective> {
 
 	/** Creates a template energy objective evaluator */
@@ -88,7 +88,7 @@ public class EnergyObjectiveEvaluator<S extends TaskMappingEntry<IDeployableComp
 						IExecutionUnitAdapter<?> executionUnit =
 								(IExecutionUnitAdapter<?>)deploymentTarget;
 						// TODO: Rework Schedule to avoid casting.
-						IDeployableComponentAdapter<?> deployedComponent =
+						ITaskAdapter<?> deployedComponent =
 								t.getDeployedRequester().getSource();
 
 						energy += deployedComponent.getEnergyConsumption(executionUnit);
@@ -113,7 +113,7 @@ public class EnergyObjectiveEvaluator<S extends TaskMappingEntry<IDeployableComp
 	public boolean validateInputs() throws Exception {
 		// TODO: If constraints exist for the allocation, only consider component / execution unit
 		// allocations that are valid acc. to these constraints.
-		for(IDeployableComponentAdapter<?> component : systemModelAdapter
+		for(ITaskAdapter<?> component : systemModelAdapter
 				.getDeployableComponents()) {
 			for(IExecutionUnitAdapter<?> execUnit : systemModelAdapter.getDeploymentTargets()) {
 				if(component.getEnergyConsumption(execUnit) == null) {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FailSilentReliabilityEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FailSilentReliabilityEvaluator.java
index a6e25f94..4f72253e 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FailSilentReliabilityEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FailSilentReliabilityEvaluator.java
@@ -22,7 +22,7 @@ import org.apfloat.Apfloat;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.FailSilentTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.FailSilentTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.DefaultTaskGraph;
 import org.fortiss.af3.exploration.alg.service.IExplorationTargetEvaluator;
@@ -58,7 +58,7 @@ public class FailSilentReliabilityEvaluator extends
 		Apfloat overallSuccRate = new Apfloat(1, FP_PRECISION);
 		Apfloat one = new Apfloat(1, FP_PRECISION);
 
-		for(IDeployableComponentAdapter<?> deployableComponent : itmEnc.getRequesters()) {
+		for(ITaskAdapter<?> deployableComponent : itmEnc.getRequesters()) {
 			// TODO: Check if this correctly determines the taskFailureRate
 
 			// only software tasks are considered
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FaultDetectionVotingReliabilityEvaluator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FaultDetectionVotingReliabilityEvaluator.java
index f0b05a66..33400203 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FaultDetectionVotingReliabilityEvaluator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/FaultDetectionVotingReliabilityEvaluator.java
@@ -24,7 +24,7 @@ import org.apfloat.Apfloat;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.FaultDetectionVotingTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.FaultDetectionVotingTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.DefaultTaskGraph;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
@@ -145,10 +145,10 @@ public class FaultDetectionVotingReliabilityEvaluator extends
 		// not analyzed yet, just do it
 		FaultDetectionVotingTaskMappingEncoding mapping = itmEnc;
 		// STEP 1: analyze the reliability of each actor
-		Map<IDeployableComponentAdapter<?>, ReliabilityMeasure> actorReliabilities =
-				new HashMap<IDeployableComponentAdapter<?>, ReliabilityMeasure>();
+		Map<ITaskAdapter<?>, ReliabilityMeasure> actorReliabilities =
+				new HashMap<ITaskAdapter<?>, ReliabilityMeasure>();
 
-		for(IDeployableComponentAdapter<?> deployableComponent : taskGraph.getTasks()) {
+		for(ITaskAdapter<?> deployableComponent : taskGraph.getTasks()) {
 			Collection<FaultDetectionVotingTaskMappingEntry> mappings =
 					mapping.getMappingEntriesOf(deployableComponent);
 			// compute the reliability of the task
@@ -188,7 +188,7 @@ public class FaultDetectionVotingReliabilityEvaluator extends
 	}
 
 	/** Entry point for task analysis */
-	private ReliabilityMeasure taskAnalysis(IDeployableComponentAdapter<?> deployableComponent,
+	private ReliabilityMeasure taskAnalysis(ITaskAdapter<?> deployableComponent,
 			DefaultTaskGraph<?> taskgraph,
 			Collection<FaultDetectionVotingTaskMappingEntry> mappings) {
 
@@ -202,7 +202,7 @@ public class FaultDetectionVotingReliabilityEvaluator extends
 	}
 
 	/** Analyzes the reliability of a task. */
-	private void taskAnalysis(IDeployableComponentAdapter<?> deployableComponent,
+	private void taskAnalysis(ITaskAdapter<?> deployableComponent,
 			ActorAnalysisNode current, DefaultTaskGraph<?> taskgraph, ReliabilityMeasure rm,
 			List<FaultDetectionVotingTaskMappingEntry> mappings) {
 
@@ -285,15 +285,15 @@ public class FaultDetectionVotingReliabilityEvaluator extends
 	 * @return {@link ReliabilityMeasure} for the given {@link TaskGraph}.
 	 */
 	private ReliabilityMeasure appAnalysis(DefaultTaskGraph<?> tg,
-			Map<IDeployableComponentAdapter<?>, ReliabilityMeasure> actorReliabilities) {
+			Map<ITaskAdapter<?>, ReliabilityMeasure> actorReliabilities) {
 		ReliabilityMeasure rm = new ReliabilityMeasure();
 
 		// SUC: the task is successful, iff all actors are successful
 		Apfloat taskSuc = computeTaskSuc(actorReliabilities);
 
 		// SDC: a task is SDC iff, at least one of its tasks is SDC and non of them are DUE
-		Map<IDeployableComponentAdapter<?>, ReliabilityMeasure> actorReliabilitiesCopy =
-				new HashMap<IDeployableComponentAdapter<?>, ReliabilityMeasure>(actorReliabilities);
+		Map<ITaskAdapter<?>, ReliabilityMeasure> actorReliabilitiesCopy =
+				new HashMap<ITaskAdapter<?>, ReliabilityMeasure>(actorReliabilities);
 		Apfloat taskSdc = new Apfloat(0, FP_PRECISION);
 		taskSdc = computeTaskSdc(actorReliabilitiesCopy);
 
@@ -307,10 +307,10 @@ public class FaultDetectionVotingReliabilityEvaluator extends
 
 	/** Computes the success probability of a task */
 	private static Apfloat computeTaskSuc(
-			Map<IDeployableComponentAdapter<?>, ReliabilityMeasure> actorReliabilities) {
+			Map<ITaskAdapter<?>, ReliabilityMeasure> actorReliabilities) {
 		// SUC: the task is successful, iff all actors are successful
 		Apfloat taskSuc = new Apfloat(1, FP_PRECISION);
-		for(IDeployableComponentAdapter<?> deployableComponent : actorReliabilities.keySet()) {
+		for(ITaskAdapter<?> deployableComponent : actorReliabilities.keySet()) {
 			taskSuc = taskSuc.multiply(actorReliabilities.get(deployableComponent).suc);
 		}
 		return taskSuc;
@@ -321,13 +321,13 @@ public class FaultDetectionVotingReliabilityEvaluator extends
 	 * =SDC(t0)SUC(T\t0) + (SDC(t0)+SUC(t0)) SDC(T\t0)
 	 */
 	private Apfloat computeTaskSdc(
-			Map<IDeployableComponentAdapter<?>, ReliabilityMeasure> actorReliabilities) {
+			Map<ITaskAdapter<?>, ReliabilityMeasure> actorReliabilities) {
 
 		Apfloat taskSdc;
 
 		// get the first entry (make sure map is not empty)
-		IDeployableComponentAdapter<?> deployableComponent =
-				(IDeployableComponentAdapter<?>)actorReliabilities.keySet().toArray()[0];
+		ITaskAdapter<?> deployableComponent =
+				(ITaskAdapter<?>)actorReliabilities.keySet().toArray()[0];
 		ReliabilityMeasure rm = actorReliabilities.get(deployableComponent);
 		// now we can remove the entry from the map
 		actorReliabilities.remove(deployableComponent);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/MappingEvaluatorObjective.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/MappingEvaluatorObjective.java
index 4ce36691..200cc7c7 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/MappingEvaluatorObjective.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/MappingEvaluatorObjective.java
@@ -25,7 +25,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.FlatPhenotypeMap;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.evaluator.TaskMappingEvaluator;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.service.IExplorationTargetEvaluator;
 import org.fortiss.af3.exploration.dsl_v2.model.arithmetic.IArithmeticExpression;
@@ -67,7 +67,7 @@ public class MappingEvaluatorObjective extends TaskMappingEvaluator {
 	/** {@inheritDoc} */
 	@Override
 	public Value<?> evaluateGoal(
-			TaskMappingEncoding<IDeployableComponentAdapter<?>, TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>> phenotype,
+			TaskMappingEncoding<ITaskAdapter<?>, TaskMappingEntry<ITaskAdapter<?>, Partition>> phenotype,
 			FlatPhenotypeMap<Phenotype> phenotypeTypeMap,
 			ClassToInstanceMap<EObject> transformedModels) throws Exception {
 		mapping = phenotype;
@@ -109,7 +109,7 @@ public class MappingEvaluatorObjective extends TaskMappingEvaluator {
 
 	/** {@inheritDoc} */
 	@Override
-	public IExplorationTargetEvaluator<TaskMappingEncoding<IDeployableComponentAdapter<?>, TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>>, Double, ExplorationTarget<Double>>
+	public IExplorationTargetEvaluator<TaskMappingEncoding<ITaskAdapter<?>, TaskMappingEntry<ITaskAdapter<?>, Partition>>, Double, ExplorationTarget<Double>>
 			createEvaluator(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
 					ExplorationTarget<Double> explorationTarget)
 					throws InstantiationException, Exception {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/ReliabilityEvaluatorBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/ReliabilityEvaluatorBase.java
index 17ad1362..cad040c4 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/ReliabilityEvaluatorBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/evaluator/objective/ReliabilityEvaluatorBase.java
@@ -35,7 +35,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegen
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.Phenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
 import org.fortiss.af3.exploration.alg.dse.evaluator.ExplorationTargetEvaluatorBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
@@ -62,8 +62,8 @@ public abstract class ReliabilityEvaluatorBase<S extends InstantiatedTaskMapping
 	protected final static int FP_PRECISION = 50;
 
 	/** Component reliability */
-	private Map<IDeployableComponentAdapter<?>, Map<IExecutionUnitAdapter<?>, Apfloat>> componentReliability =
-			new HashMap<IDeployableComponentAdapter<?>, Map<IExecutionUnitAdapter<?>, Apfloat>>();
+	private Map<ITaskAdapter<?>, Map<IExecutionUnitAdapter<?>, Apfloat>> componentReliability =
+			new HashMap<ITaskAdapter<?>, Map<IExecutionUnitAdapter<?>, Apfloat>>();
 
 	/** Helper required to perform {@link org.apfloat.Apfloat}-based calculations. */
 	private FixedPrecisionApfloatHelper apfloatHelper =
@@ -73,7 +73,7 @@ public abstract class ReliabilityEvaluatorBase<S extends InstantiatedTaskMapping
 	 * References the "target" {@link Component} in the original input model. This is the
 	 * {@link Component} for which the failures shall be minimized.
 	 */
-	IDeployableComponentAdapter<?> targetComponent;
+	ITaskAdapter<?> targetComponent;
 
 	/** Constructor. */
 	public ReliabilityEvaluatorBase(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -102,7 +102,7 @@ public abstract class ReliabilityEvaluatorBase<S extends InstantiatedTaskMapping
 		componentReliability.clear();
 
 		// extract the detector annotations
-		for(IDeployableComponentAdapter<?> deployableComponent : systemModelAdapter
+		for(ITaskAdapter<?> deployableComponent : systemModelAdapter
 				.getDeployableComponents()) {
 			TaskGraph tg = systemModelAdapter.getTaskGraph(deployableComponent);
 			// TODO: re-add the consideration of fault detector annotations here after the
@@ -126,7 +126,7 @@ public abstract class ReliabilityEvaluatorBase<S extends InstantiatedTaskMapping
 		// task
 		Set<IExecutionUnitAdapter<?>> targetsToBeRemoved = new HashSet<IExecutionUnitAdapter<?>>();
 
-		for(IDeployableComponentAdapter<?> deployableComponent : systemModelAdapter
+		for(ITaskAdapter<?> deployableComponent : systemModelAdapter
 				.getRealizableDeployableComponents()) {
 
 			// compute the component failure rates
@@ -281,7 +281,7 @@ public abstract class ReliabilityEvaluatorBase<S extends InstantiatedTaskMapping
 
 	/** Stores the failure rate of a component to a task map. */
 	private void storeComponentFailureRate(Map<IExecutionUnitAdapter<?>, Apfloat> taskmap,
-			IDeployableComponentAdapter<?> deployableComponent,
+			ITaskAdapter<?> deployableComponent,
 			IExecutionUnitAdapter<?> deploymentTarget, double coreFailureRate) {
 		// get the execution time from annotation
 		// TODO: heterogeneous cores
@@ -325,7 +325,7 @@ public abstract class ReliabilityEvaluatorBase<S extends InstantiatedTaskMapping
 	}
 
 	/** Returns the failure rate for a component. */
-	protected Apfloat getComponentFailureRate(IDeployableComponentAdapter<?> deployableComponent,
+	protected Apfloat getComponentFailureRate(ITaskAdapter<?> deployableComponent,
 			IExecutionUnitAdapter<?> deploymentTarget) {
 		if(deployableComponent.getObject() instanceof EObject) {
 			deployableComponent = systemModelAdapter
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings
index c3c1a8a1..7a5d5e0e 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/.ratings
@@ -1,6 +1,6 @@
 ComponentArchitectureFinalizer.java ec0e29b2ed27aecccae28bab0253b8e068276a17 RED
-ComponentArchitectureInitializer.java 4b1e1f03b6205b91e6a9dae5ae5f77ad5ef9ed78 RED
+ComponentArchitectureInitializer.java 52d1f756c194774a4ac5b96ac4f2014dc9b5a6b7 RED
 ComponentArchitectureInserter.java 9ab94811d460d06fa1ce2f72e40911beb7982e94 RED
-ComponentArchitectureInstantiator.java afa254d07ee7590e5f6a0d6f289673005f872b62 RED
-ComponentArchitectureReplicator.java a3f395333815fc495c7cc306fe998092d552bdb5 RED
+ComponentArchitectureInstantiator.java 41fddd490e8b45b39bb3725d1e2a93a63b737169 RED
+ComponentArchitectureReplicator.java 59ee5ee2ad6331150b53293e1a549b788a52ee00 RED
 ComponentArchitectureTransformer.java 9eded58c64a6077a3a5cb13cf3d7d78779b70a49 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInitializer.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInitializer.java
index 98e07a27..9e37eca8 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInitializer.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInitializer.java
@@ -28,7 +28,7 @@ import org.fortiss.af3.exploration.alg.dse.modeltransformation.EMFModelConcurren
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationModuleBase;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.element.M2MCopier;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
 import org.fortiss.af3.exploration.alg.exception.TransformationModuleException;
 import org.fortiss.af3.exploration.alg.guava.SubClassToInstanceMap;
@@ -159,7 +159,7 @@ public class ComponentArchitectureInitializer
 	private void updateEncodingAssociations(AbstractTaskMappingEncoding mapping) {
 		Multimap<Component, Component> processedElements = HashMultimap.create();
 		for(AbstractTaskMappingEntry entry : mapping.getMappingEntries()) {
-			IDeployableComponentAdapter<?> compAdp = entry.getSource();
+			ITaskAdapter<?> compAdp = entry.getSource();
 			Component origAF3Component = (Component)compAdp.getObject();
 			Component genAF3Component = null;
 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInstantiator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInstantiator.java
index ba60a39f..b7b4e6f4 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInstantiator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureInstantiator.java
@@ -40,7 +40,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationModuleBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
 import org.fortiss.af3.exploration.alg.exception.TransformationModuleException;
 import org.fortiss.af3.exploration.alg.guava.SubClassToInstanceMap;
@@ -124,7 +124,7 @@ public class ComponentArchitectureInstantiator
 	}
 
 	/**
-	 * Instantiates the referenced AF3 {@link Component} of each {@link IDeployableComponentAdapter}
+	 * Instantiates the referenced AF3 {@link Component} of each {@link ITaskAdapter}
 	 * that demands its instantiation. Therefore, the appropriate {@link Component} from the
 	 * Component Pool is copied to the generated {@link ComponentArchitecture}. As a side effect,
 	 * this method updates the {@code genToOrigAssocMap} such that instantiated Components can be
@@ -138,7 +138,7 @@ public class ComponentArchitectureInstantiator
 		Collection<Component> instantiatedComponents = new HashSet<>();
 		Collection<EObject> preCleanupElementsCollection = new HashSet<>();
 
-		for(IDeployableComponentAdapter<?> comp : mapping.getRequesters()) {
+		for(ITaskAdapter<?> comp : mapping.getRequesters()) {
 			if(comp.isInstantiation()) {
 				Component origComp = (Component)comp.getReplacedComponent().getObject();
 				preCleanupElementsCollection.addAll(getChildrenWithType(origComp, EObject.class));
@@ -150,8 +150,8 @@ public class ComponentArchitectureInstantiator
 		Collection<Component> abstrCompRemovalList = new ArrayList<>();
 
 		for(InstantiatedTaskMappingEntry entry : mapping.getMappingEntries()) {
-			@SuppressWarnings("unchecked") IDeployableComponentAdapter<Component> compAdp =
-					(IDeployableComponentAdapter<Component>)entry.getSource();
+			@SuppressWarnings("unchecked") ITaskAdapter<Component> compAdp =
+					(ITaskAdapter<Component>)entry.getSource();
 			if(compAdp.isInstantiation()) {
 				// Randomly take one replicated generated Component that belongs to the
 				// corresponding adapter.
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureReplicator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureReplicator.java
index 44414a36..bb65d3f1 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureReplicator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/comparch/ComponentArchitectureReplicator.java
@@ -57,7 +57,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.ab
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationModuleBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
@@ -86,7 +86,7 @@ public class ComponentArchitectureReplicator
 		extends TransformationModuleBase<ComponentArchitecture> {
 
 	/** Collection of {@link Component}s that can be allocated to {@link IPlatformResource}. */
-	private Collection<IDeployableComponentAdapter<Component>> deployableComponentCollection =
+	private Collection<ITaskAdapter<Component>> deployableComponentCollection =
 			new HashSet<>();
 
 	/**
@@ -165,11 +165,11 @@ public class ComponentArchitectureReplicator
 					"An IMappingEncoding is required for this module to operate properly.");
 		}
 		deployableComponentCollection = retrieveDeployableComponents(this, mapping);
-		Map<IDeployableComponentAdapter<Component>, Component> genCompAssoc =
+		Map<ITaskAdapter<Component>, Component> genCompAssoc =
 				getDeployableComponentMap(this, origToGenAssocMap, deployableComponentCollection);
 		EList<Port> replicatedPorts = new BasicEList<Port>();
 
-		for(Entry<IDeployableComponentAdapter<Component>, Component> deployedComponentPair : genCompAssoc
+		for(Entry<ITaskAdapter<Component>, Component> deployedComponentPair : genCompAssoc
 				.entrySet()) {
 			Component currentDeployableAf3Component = deployedComponentPair.getValue();
 			// TODO: This part needs to be updated to match the new Allocation Models.
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings
index 488e7cf2..593fb265 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/.ratings
@@ -1,4 +1,4 @@
-DeploymentFinalizer.java 092db412513fd59d462e2a796c324281d335c2c3 RED
+DeploymentFinalizer.java af4b595914e455ac80b12561ec2d3c5147ede8c8 RED
 DeploymentInitializer.java 9d5023ee12fc92185bb418c735f1d6c5196dcab8 RED
 DeploymentReplicator.java 7c65dd646ca37477be592bb620536f15c48fa1f8 RED
-ExplorationSolutionToDeployment.java 8a8f53838eab59d0ce3af8950e313f9969ee130c RED
+ExplorationSolutionToDeployment.java 6fb7c9bcdaf4371a2251193fad66aa61c7e511d2 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/DeploymentFinalizer.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/DeploymentFinalizer.java
index 54c00ad2..02d5f691 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/DeploymentFinalizer.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/DeploymentFinalizer.java
@@ -42,7 +42,7 @@ import org.fortiss.af3.deployment.utils.DeploymentModelElementFactory;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.EMFModelConcurrencyHandler;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationModuleBase;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
@@ -113,7 +113,7 @@ public class DeploymentFinalizer extends TransformationModuleBase<Deployment> {
 			ExplorationEncodingMap<IExplorationEncoding> explorationEncodings,
 			SubClassToInstanceMap<N> transformedModels, EObject outputModel)
 			throws TransformationModuleException {
-		@SuppressWarnings("unchecked") IMappingEncoding<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>, IMappingEntry<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>>> mapping =
+		@SuppressWarnings("unchecked") IMappingEncoding<ITaskAdapter<?>, IExecutionUnitAdapter<?>, IMappingEntry<ITaskAdapter<?>, IExecutionUnitAdapter<?>>> mapping =
 				explorationEncodings.getEncoding(IMappingEncoding.class);
 		if(mapping == null) {
 			throw new TransformationModuleException(this,
@@ -167,10 +167,10 @@ public class DeploymentFinalizer extends TransformationModuleBase<Deployment> {
 	 * processed in an AF3 compatible {@link Deployment}.
 	 */
 	private List<ComponentAllocation> allocateComponentsToExecutionUnits(
-			IMappingEncoding<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>, ?> mapping) {
+			IMappingEncoding<ITaskAdapter<?>, IExecutionUnitAdapter<?>, ?> mapping) {
 		List<ComponentAllocation> componentToExecutionUnitAllocations =
 				new ArrayList<ComponentAllocation>();
-		for(IMappingEntry<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>> curEntry : mapping
+		for(IMappingEntry<ITaskAdapter<?>, IExecutionUnitAdapter<?>> curEntry : mapping
 				.getMappingEntries()) {
 			Component curComponent =
 					(Component)encEntryModelElemAssoc.get(curEntry, Component.class);
@@ -179,7 +179,7 @@ public class DeploymentFinalizer extends TransformationModuleBase<Deployment> {
 			// replication that is performed for abstract entries while we have instantiated entries
 			// here.
 			if(curComponent == null) {
-				for(IMappingEntry<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>> assocEntry : curEntry
+				for(IMappingEntry<ITaskAdapter<?>, IExecutionUnitAdapter<?>> assocEntry : curEntry
 						.getAssociatedElement()) {
 					curComponent =
 							(Component)encEntryModelElemAssoc.get(assocEntry, Component.class);
@@ -206,7 +206,7 @@ public class DeploymentFinalizer extends TransformationModuleBase<Deployment> {
 	// TODO: how to handle instantiated components?
 	private void createDeploymentParameterMap(ComponentArchitecture originalCA,
 			PlatformArchitecture originalPA, Deployment deployment,
-			IMappingEncoding<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>, IMappingEntry<IDeployableComponentAdapter<?>, IExecutionUnitAdapter<?>>> mapping) {
+			IMappingEncoding<ITaskAdapter<?>, IExecutionUnitAdapter<?>, IMappingEntry<ITaskAdapter<?>, IExecutionUnitAdapter<?>>> mapping) {
 		List<Deployment> allDeploymentsWithParameters =
 				getDeploymentsWithParametersOf(originalCA, originalPA);
 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/ExplorationSolutionToDeployment.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/ExplorationSolutionToDeployment.java
index dda88dcf..9bf003c7 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/ExplorationSolutionToDeployment.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/deployment/ExplorationSolutionToDeployment.java
@@ -30,7 +30,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationStrategyBase;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.comparch.ComponentArchitectureTransformer;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
 import org.fortiss.af3.exploration.alg.exception.TransformationModuleException;
@@ -92,7 +92,7 @@ public class ExplorationSolutionToDeployment extends TransformationStrategyBase<
 			SubClassToInstanceMap<N> transformedModels, EObject outputModel)
 			throws TransformationModuleException {
 		if(state == TransformationState.INITIALIZING) {
-			@SuppressWarnings("unchecked") IMappingEncoding<IDeployableComponentAdapter<?>, ?, IMappingEntry<IDeployableComponentAdapter<?>, ?>> mapping =
+			@SuppressWarnings("unchecked") IMappingEncoding<ITaskAdapter<?>, ?, IMappingEntry<ITaskAdapter<?>, ?>> mapping =
 					explorationEncodings.getEncoding(IMappingEncoding.class);
 			if(mapping == null) {
 				throw new TransformationModuleException(this,
@@ -117,8 +117,8 @@ public class ExplorationSolutionToDeployment extends TransformationStrategyBase<
 	 */
 	// TODO: Use "Component" as Generic.
 	private boolean isAdditionalArchRequiredByReplication(
-			IMappingEncoding<IDeployableComponentAdapter<?>, ?, IMappingEntry<IDeployableComponentAdapter<?>, ?>> mapping) {
-		for(IDeployableComponentAdapter<?> deployedComponent : mapping.getRequesters()) {
+			IMappingEncoding<ITaskAdapter<?>, ?, IMappingEntry<ITaskAdapter<?>, ?>> mapping) {
+		for(ITaskAdapter<?> deployedComponent : mapping.getRequesters()) {
 			if(mapping.getAllocatedResourcesFor(deployedComponent).size() > 1) {
 				return true;
 			}
@@ -133,8 +133,8 @@ public class ExplorationSolutionToDeployment extends TransformationStrategyBase<
 	 */
 	// TODO: Use "Component" as Generic.
 	private boolean isAdditionalArchRequiredByInstantiation(
-			IMappingEncoding<IDeployableComponentAdapter<?>, ?, IMappingEntry<IDeployableComponentAdapter<?>, ?>> mapping) {
-		for(IDeployableComponentAdapter<?> deployedComponent : mapping.getRequesters()) {
+			IMappingEncoding<ITaskAdapter<?>, ?, IMappingEntry<ITaskAdapter<?>, ?>> mapping) {
+		for(ITaskAdapter<?> deployedComponent : mapping.getRequesters()) {
 			if(deployedComponent.isInstantiation()) {
 				return true;
 			}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings
index ebb09608..9998a3ec 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/.ratings
@@ -1,2 +1,2 @@
-SafetyChannelPortReplicator.java 60ff23175a19e6f670bcab9dfe0ef5710e3e87bc RED
-SafetyDiagUnitRemover.java ea740f040043b3019f8c69544b4178eee8ce700d RED
+SafetyChannelPortReplicator.java 691c953255a126c817b29b822ba52fa70422c866 RED
+SafetyDiagUnitRemover.java 082f3e2cab9b3c4ce1f4fc96ab3690ffa51be4f1 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyChannelPortReplicator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyChannelPortReplicator.java
index a512a33b..6a5366a3 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyChannelPortReplicator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyChannelPortReplicator.java
@@ -34,7 +34,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunction
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationModuleBase;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.comparch.ComponentArchitectureTransformer;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.guava.SubClassToInstanceMap;
 import org.fortiss.af3.exploration.alg.service.ExplorationEncodingMap;
 import org.fortiss.af3.exploration.alg.service.IExplorationEncoding;
@@ -78,7 +78,7 @@ public class SafetyChannelPortReplicator extends TransformationModuleBase<Compon
 
 		Collection<Component> sfComponents = new HashSet<>();
 		for(SafetyFunctionArchEntry<Component> sfaEntry : sfaEnc.getAllEntries()) {
-			Collection<IDeployableComponentAdapter<Component>> entryCompAdps =
+			Collection<ITaskAdapter<Component>> entryCompAdps =
 					sfaEntry.getSafetyFunctionAdapter().getAllComponents();
 			entryCompAdps.forEach(c -> sfComponents.add(c.getObject()));
 		}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyDiagUnitRemover.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyDiagUnitRemover.java
index 2fa7de61..79c3fd9e 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyDiagUnitRemover.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/modeltransformation/safety/SafetyDiagUnitRemover.java
@@ -29,7 +29,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunction
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.base.TransformationModuleBase;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.comparch.ComponentArchitectureTransformer;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.exception.TransformationModuleException;
 import org.fortiss.af3.exploration.alg.guava.SubClassToInstanceMap;
 import org.fortiss.af3.exploration.alg.service.ExplorationEncodingMap;
@@ -108,7 +108,7 @@ public class SafetyDiagUnitRemover extends TransformationModuleBase<ComponentArc
 
 		for(SafetyFunctionArchEntry<Component> sfaEntry : sfaEnc.getAllEntries()) {
 			if(!sfaEntry.isDiagnosicUnitPresent()) {
-				for(IDeployableComponentAdapter<Component> diagCompAdp : sfaEntry
+				for(ITaskAdapter<Component> diagCompAdp : sfaEntry
 						.getSafetyFunctionAdapter().getDiagnosticComponents()) {
 					for(EObject genDiagComponent : origToGenAssocMap.get(diagCompAdp.getObject())) {
 						if(!(genDiagComponent instanceof Component)) {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings
index ddc21a53..36dca816 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/.ratings
@@ -1,6 +1,6 @@
 ICommunicationResourceAdapter.java 54dd128bfa04c5cfd16551eec8983e712636f86a RED
-IDeployableComponentAdapter.java 68b34853bd6f88201f68eb369d70be41e8870266 RED
-IExecutionUnitAdapter.java bdef41e1f32b3e4940af175609d789d25472bc0e RED
+IComponentAdapter.java c8425150287be21b48d686469b88ea7fb77793e4 RED
+IExecutionUnitAdapter.java a93c835d5dce6a6054eea7b0abb9663c04a335b8 RED
 IGatewayUnitAdapter.java 5f806d2907ee461938eea14238572311572ecf81 RED
 ILogicalArchitectureAdapter.java 7570a2adab987260e74bc255fcf21862a820226e RED
 IMemoryUnitAdapter.java 588840b8237bd23a048a69961ffe985caf3b425b RED
@@ -9,9 +9,11 @@ IPlatformArchitectureAdapter.java 0a785dcff9147e1904751714ccd61ed758e0f1fe RED
 IRequestAdapter.java bb7b3c05c4f52215cd79b27207bad8ce66a28506 RED
 IResourceAdapter.java 634866895c9d1aa427f3c8d47e69acd807d0b582 RED
 IResourceConnectionAdapter.java 7e20a8c3e60a9892597301556c891ba2dd43387f RED
-ISafetyFunctionAdapter.java 594df1308c5ea7ab7320129ec3ba77f3f2d584e1 RED
-ISignalAdapter.java 6bc37547141af089e14b7615eb39910bf2a24c98 RED
+ISafetyFunctionAdapter.java 02c3777272abddd5f60d2c840cf3739827e8287a RED
+ISignalAdapter.java a158c54dc238fa5c8891f4355ffa2833f6984f81 RED
+ITaskAdapter.java 94fa22a6afe51b29dd67fd81188174e22e96f026 RED
+ITasksAdapter.java cf118b5d3cb7142f9c53e02bca6b8439b0604bb1 RED
 ITransmissionUnitAdapter.java 8965b73bfe9ef232a2a6d5427f7001761716d583 RED
 InternalComponentParameters.java 2b19f4eeddee84e4c6e558ed9a1613cba33b7665 RED
-SystemModelAdapter.java 165e4d628f2d82129c5de66f908575e96ac43330 RED
+SystemModelAdapter.java 47763ad9c87a81b171d92bc926bf00f1a40b82ce RED
 SystemParameterContainer.java eddfc430acd8661dfe8ffbf191ef71a83157eff5 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IComponentAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IComponentAdapter.java
new file mode 100644
index 00000000..2dfb6442
--- /dev/null
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IComponentAdapter.java
@@ -0,0 +1,24 @@
+/*-------------------------------------------------------------------------+
+| Copyright 2018 fortiss GmbH                                              |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.af3.exploration.alg.dse.sysmodel.arch;
+
+/**
+ * 
+ * @author diewald
+ */
+public interface IComponentAdapter<T> extends IRequestAdapter<T>, Cloneable {
+
+}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IExecutionUnitAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IExecutionUnitAdapter.java
index e7ea6bfc..a73348f4 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IExecutionUnitAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IExecutionUnitAdapter.java
@@ -16,7 +16,7 @@
 package org.fortiss.af3.exploration.alg.dse.sysmodel.arch;
 
 /**
- * Adapter between the execution units (=deployment target of {@link IDeployableComponentAdapter}s)
+ * Adapter between the execution units (=deployment target of {@link ITaskAdapter}s)
  * of the system meta-model used in the modeling tool, and the DSE.
  * 
  * @author barner
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISafetyFunctionAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISafetyFunctionAdapter.java
index 1cd63de1..4013b994 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISafetyFunctionAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISafetyFunctionAdapter.java
@@ -33,29 +33,29 @@ public interface ISafetyFunctionAdapter<T> {
 	void initializeAdapter(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter);
 
 	/**
-	 * Returns the collection of {@link IDeployableComponentAdapter}s that are realizing the safety
+	 * Returns the collection of {@link ITaskAdapter}s that are realizing the safety
 	 * function.
 	 */
-	Collection<IDeployableComponentAdapter<T>> getRealizingComponents();
+	Collection<ITaskAdapter<T>> getRealizingComponents();
 
 	/**
-	 * Returns the collection of {@link IDeployableComponentAdapter}s that are realizing diagnostic
+	 * Returns the collection of {@link ITaskAdapter}s that are realizing diagnostic
 	 * functions of the actual safety function.
 	 */
-	Collection<IDeployableComponentAdapter<T>> getDiagnosticComponents();
+	Collection<ITaskAdapter<T>> getDiagnosticComponents();
 
 	/**
-	 * Returns the {@link IDeployableComponentAdapter} that generates the output signal of the
+	 * Returns the {@link ITaskAdapter} that generates the output signal of the
 	 * safety functions, i.e. a voter or HW interfacing component.
 	 */
 	// TODO: extend to collection.
-	IDeployableComponentAdapter<T> getOutputComponent();
+	ITaskAdapter<T> getOutputComponent();
 
 	/**
-	 * Returns the collection of all {@link IDeployableComponentAdapter}s that represent
+	 * Returns the collection of all {@link ITaskAdapter}s that represent
 	 * {@code this} safety function.
 	 */
-	Collection<IDeployableComponentAdapter<T>> getAllComponents();
+	Collection<ITaskAdapter<T>> getAllComponents();
 
 	/**
 	 * Returns the collection of {@link SafetyArchitecture}s that may be used to implement
@@ -90,7 +90,7 @@ public interface ISafetyFunctionAdapter<T> {
 
 	/**
 	 * Returns whether each channel of {@code this} safety function requires a separate output
-	 * {@link IDeployableComponentAdapter}.
+	 * {@link ITaskAdapter}.
 	 */
 	boolean hasSeparateOutPerChannel();
 }
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISignalAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISignalAdapter.java
index 39a91e69..51ba90cc 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISignalAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ISignalAdapter.java
@@ -28,10 +28,10 @@ import org.fortiss.af3.exploration.backend.IDseInputContainer.SignalType;
 public interface ISignalAdapter<T> extends IRequestAdapter<T> {
 
 	/** Returns the source component of this {@link ISignalAdapter}. */
-	IDeployableComponentAdapter<?> getSource();
+	ITaskAdapter<?> getSource();
 
 	/** Returns the collection of target components of this {@link ISignalAdapter}. */
-	Collection<IDeployableComponentAdapter<?>> getTargets();
+	Collection<ITaskAdapter<?>> getTargets();
 
 	/**
 	 * Returns the size of the message sent via this {@link ISignalAdapter} if it was deployed onto
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IDeployableComponentAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ITaskAdapter.java
similarity index 59%
rename from org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IDeployableComponentAdapter.java
rename to org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ITaskAdapter.java
index cc731f20..aff94917 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/IDeployableComponentAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/ITaskAdapter.java
@@ -26,16 +26,16 @@ import org.fortiss.af3.component.model.Component;
  * 
  * @author barner
  */
-public interface IDeployableComponentAdapter<T> extends IRequestAdapter<T>, Cloneable {
+public interface ITaskAdapter<T> extends IRequestAdapter<T>, Cloneable {
 
 	/**
-	 * Returns the WCET if this {@link IDeployableComponentAdapter} would be executed on the given
+	 * Returns the WCET if this {@link ITaskAdapter} would be executed on the given
 	 * {@link IExecutionUnitAdapter}.
 	 */
 	public Double getWcet(IExecutionUnitAdapter<?> executionUnit);
 
 	/**
-	 * Returns the consumed energy if this {@link IDeployableComponentAdapter} would be executed on
+	 * Returns the consumed energy if this {@link ITaskAdapter} would be executed on
 	 * the given {@link IExecutionUnitAdapter}.
 	 */
 	public Double getEnergyConsumption(IExecutionUnitAdapter<?> executionUnit);
@@ -50,71 +50,71 @@ public interface IDeployableComponentAdapter<T> extends IRequestAdapter<T>, Clon
 	public void setTimingRequirementPeriod(double period);
 
 	/**
-	 * Predicates whether this {@link IDeployableComponentAdapter} must be instantiated by another
-	 * {@link IDeployableComponentAdapter}. This is determined by evaluating whether
-	 * {@link IDeployableComponentAdapter}s are given that may be used to instantiate this
-	 * {@link IDeployableComponentAdapter}.
+	 * Predicates whether this {@link ITaskAdapter} must be instantiated by another
+	 * {@link ITaskAdapter}. This is determined by evaluating whether
+	 * {@link ITaskAdapter}s are given that may be used to instantiate this
+	 * {@link ITaskAdapter}.
 	 */
 	public boolean isInstantiationRequired();
 
 	/**
-	 * Returns those {@link IDeployableComponentAdapter}s that may be used to instantiate this
-	 * {@link IDeployableComponentAdapter}.
+	 * Returns those {@link ITaskAdapter}s that may be used to instantiate this
+	 * {@link ITaskAdapter}.
 	 */
-	public Collection<IDeployableComponentAdapter<T>> getReplacementComponents();
+	public Collection<ITaskAdapter<T>> getReplacementComponents();
 
 	/**
-	 * Predicates whether this {@link IDeployableComponentAdapter} instantiates an abstract
-	 * {@link IDeployableComponentAdapter}.
+	 * Predicates whether this {@link ITaskAdapter} instantiates an abstract
+	 * {@link ITaskAdapter}.
 	 */
 	public boolean isInstantiation();
 
 	/**
-	 * Returns the {@link IDeployableComponentAdapter} instantiated by this
-	 * {@link IDeployableComponentAdapter} (if applicable).
+	 * Returns the {@link ITaskAdapter} instantiated by this
+	 * {@link ITaskAdapter} (if applicable).
 	 */
-	public IDeployableComponentAdapter<T> getReplacedComponent();
+	public ITaskAdapter<T> getReplacedComponent();
 
 	/**
-	 * Sets the replacedComponent reference of {@code this} {@link IDeployableComponentAdapter} to
-	 * allow tracking of the "abstract" {@link IDeployableComponentAdapter}s from the instantiated
-	 * {@link IDeployableComponentAdapter}s.
+	 * Sets the replacedComponent reference of {@code this} {@link ITaskAdapter} to
+	 * allow tracking of the "abstract" {@link ITaskAdapter}s from the instantiated
+	 * {@link ITaskAdapter}s.
 	 */
 	// TODO: If possible, find a way to eliminate this suppresswarning.
 	public void setReplacedComponent(
-			@SuppressWarnings("rawtypes") IDeployableComponentAdapter abstractComponent);
+			@SuppressWarnings("rawtypes") ITaskAdapter abstractComponent);
 
 	/**
-	 * Whenever an {@link IDeployableComponentAdapter} is copied/cloned its references wrt. the task
+	 * Whenever an {@link ITaskAdapter} is copied/cloned its references wrt. the task
 	 * instantiation need to be updated. Hence, after cloning, this method should be called for each
-	 * copied/cloned {@link IDeployableComponentAdapter}.
+	 * copied/cloned {@link ITaskAdapter}.
 	 */
 	public void updateInstatiationData();
 
 	/**
 	 * Returns the minimum number of replications allowed for this
-	 * {@link IDeployableComponentAdapter}.
+	 * {@link ITaskAdapter}.
 	 */
 	public int getMinReplication();
 
 	/**
 	 * Returns the maximum number of replications allowed for this
-	 * {@link IDeployableComponentAdapter}.
+	 * {@link ITaskAdapter}.
 	 */
 	public int getMaxReplication();
 
 	/**
-	 * Predicate if this {@link IDeployableComponentAdapter} is strongly causal. This implies that
-	 * its outputs to non-strongly causal {@link IDeployableComponentAdapter}s only become available
+	 * Predicate if this {@link ITaskAdapter} is strongly causal. This implies that
+	 * its outputs to non-strongly causal {@link ITaskAdapter}s only become available
 	 * during the next hyperperiod.
 	 */
 	public boolean isStronglyCausal();
 
 	/**
-	 * Clones the {@link IDeployableComponentAdapter} on which this method is called. If
+	 * Clones the {@link ITaskAdapter} on which this method is called. If
 	 * {@link Component}s are instantiated during the exploration, this is needed. The initially
-	 * constructed {@link IDeployableComponentAdapter}s must be replicated for each instantiated
+	 * constructed {@link ITaskAdapter}s must be replicated for each instantiated
 	 * encoding.
 	 */
-	public IDeployableComponentAdapter<T> clone();
+	public ITaskAdapter<T> clone();
 }
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/SystemModelAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/SystemModelAdapter.java
index bbbe03bd..6fa37728 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/SystemModelAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/SystemModelAdapter.java
@@ -97,7 +97,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	protected SubClassToInstanceMap<EObject> inputModels = MutableSubClassToInstanceMap.create();
 
 	/** Deployable software components, to be mapped to deployment targets provided by platform. */
-	protected Collection<IDeployableComponentAdapter<C>> deployableComponents;
+	protected Collection<ITaskAdapter<C>> deployableComponents;
 
 	/** Collection of deployable components from the base model. */
 	protected Collection<C> deployableComponentObjects;
@@ -118,17 +118,17 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Deployable software components that may be replicated (per default: all @{code
 	 * deployableComponent}s.
 	 */
-	protected Collection<IDeployableComponentAdapter<C>> replicableComponents;
+	protected Collection<ITaskAdapter<C>> replicableComponents;
 
 	/** Schedulable software components, to be scheduled by the internal scheduling algorithm. */
-	protected Collection<IDeployableComponentAdapter<C>> schedulableComponents = new ArrayList<>();
+	protected Collection<ITaskAdapter<C>> schedulableComponents = new ArrayList<>();
 
 	/**
 	 * Collection of software components that will be actually executed. This includes realizations
 	 * of "abstract" software components (-> interfaces) that are contained in the
 	 * {@code deployableComponents} collection.
 	 */
-	protected Collection<IDeployableComponentAdapter<C>> realizableDeployableComponents;
+	protected Collection<ITaskAdapter<C>> realizableDeployableComponents;
 
 	/**
 	 * Deployment targets, i.e. the execution units of the target platform, where deployable
@@ -188,8 +188,8 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 */
 	protected Collection<AcyclicTaskGraph> acyclicTaskGraphs;
 
-	/** The "messages" emitted by the sender {@link IDeployableComponentAdapter}. */
-	protected Map<IDeployableComponentAdapter<C>, Collection<ISignalAdapter<S>>> emittedMessagesBySender;
+	/** The "messages" emitted by the sender {@link ITaskAdapter}. */
+	protected Map<ITaskAdapter<C>, Collection<ISignalAdapter<S>>> emittedMessagesBySender;
 
 	/** Hyper-period of independent tasks graphs */
 	protected Double hyperPeriod;
@@ -198,13 +198,13 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Map: deployable component (= task) -> corresponding (independent, connected)
 	 * {@link DefaultTaskGraph}.
 	 */
-	protected Map<IDeployableComponentAdapter<C>, TaskGraph> componentInGraph;
+	protected Map<ITaskAdapter<C>, TaskGraph> componentInGraph;
 
 	/**
 	 * Map: deployable component (= task) -> corresponding (independent, connected)
 	 * {@link AcyclicTaskGraph}.
 	 */
-	protected Map<IDeployableComponentAdapter<C>, AcyclicTaskGraph> componentInAcyclicGraph;
+	protected Map<ITaskAdapter<C>, AcyclicTaskGraph> componentInAcyclicGraph;
 
 	/**
 	 * Mapping virtual resource -> hardware resource onto which virtual resource is (statically)
@@ -282,11 +282,11 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	}
 
 	/**
-	 * Setups the list of {@link IDeployableComponentAdapter}s that are scheduleable by a
+	 * Setups the list of {@link ITaskAdapter}s that are scheduleable by a
 	 * time-triggered scheduler.
 	 */
 	protected void setupScheduleableComponents() {
-		for(IDeployableComponentAdapter<C> comp : deployableComponents) {
+		for(ITaskAdapter<C> comp : deployableComponents) {
 			if(comp.getTimingRequirementPeriod() != null) {
 				schedulableComponents.add(comp);
 			}
@@ -314,7 +314,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 		// to processing elements, and that potentially require data from other software components)
 		DefaultTaskGraph<?> temporaryTaskGraph = new DefaultTaskGraph<>();
 		// createTaskForrest();
-		for(IDeployableComponentAdapter<?> deployableComponent : deployableComponents) {
+		for(ITaskAdapter<?> deployableComponent : deployableComponents) {
 			temporaryTaskGraph.addTask(deployableComponent);
 		}
 		// Temporary task graph: add edges
@@ -362,12 +362,12 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 		Collection<TaskGraph> independentTaskGraphs = new ArrayList<>();
 
 		// Compute vertex sets of maximum connected components of temporary task graph
-		ConnectivityInspector<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> ci =
-				new ConnectivityInspector<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+		ConnectivityInspector<ITaskAdapter<?>, ChannelAdapterWeightedEdge> ci =
+				new ConnectivityInspector<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 						monolithicTaskGraph.getGraph());
-		List<Set<IDeployableComponentAdapter<?>>> connectedSets = ci.connectedSets();
+		List<Set<ITaskAdapter<?>>> connectedSets = ci.connectedSets();
 		// Reconstruct TaskGraphs from vertex sets of connected components
-		for(Set<IDeployableComponentAdapter<?>> connectedSet : connectedSets) {
+		for(Set<ITaskAdapter<?>> connectedSet : connectedSets) {
 			TaskGraph taskGraph = new DefaultTaskGraph<>();
 			Graphs.addAllVertices(taskGraph.getGraph(), connectedSet);
 
@@ -415,20 +415,20 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 
 	/**
 	 * Creates a map for the given collection of {@link TaskGraph}s which allows to identify the
-	 * {@link TaskGraph} that contains the given {@link IDeployableComponentAdapter} as a vertex.
+	 * {@link TaskGraph} that contains the given {@link ITaskAdapter} as a vertex.
 	 */
 	// TODO: Here, we know that the IDeployableCOmponentAdapters are constructed using Components.
 	// However, we should try to avoid the "SuppressWarnings".
 	@SuppressWarnings("unchecked")
-	private <T extends TaskGraph> Map<IDeployableComponentAdapter<C>, T>
+	private <T extends TaskGraph> Map<ITaskAdapter<C>, T>
 			registerTaskGraphsForComponents(Collection<T> graphs) {
-		Map<IDeployableComponentAdapter<C>, T> componentToGraphMap =
-				new HashMap<IDeployableComponentAdapter<C>, T>();
+		Map<ITaskAdapter<C>, T> componentToGraphMap =
+				new HashMap<ITaskAdapter<C>, T>();
 
 		for(T taskGraph : graphs) {
-			for(IDeployableComponentAdapter<?> deployableComponent : taskGraph.getGraph()
+			for(ITaskAdapter<?> deployableComponent : taskGraph.getGraph()
 					.vertexSet()) {
-				componentToGraphMap.put((IDeployableComponentAdapter<C>)deployableComponent,
+				componentToGraphMap.put((ITaskAdapter<C>)deployableComponent,
 						taskGraph);
 			}
 		}
@@ -438,13 +438,13 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 
 	/**
 	 * For a given collection of {@link TaskGraph}s this method removes all the {@link TaskGraph}s
-	 * from the given collection and the contained {@link IDeployableComponentAdapter}s from the set
+	 * from the given collection and the contained {@link ITaskAdapter}s from the set
 	 * of deployable components if the corresponding {@link TaskGraph} has a non-strictly positive
 	 * hyperperiod.
 	 */
 	private <T extends TaskGraph> void removeInvalidTaskGraphs(Collection<T> taskGraphs) {
-		Set<IDeployableComponentAdapter<?>> tasksToBeRemoved =
-				new HashSet<IDeployableComponentAdapter<?>>();
+		Set<ITaskAdapter<?>> tasksToBeRemoved =
+				new HashSet<ITaskAdapter<?>>();
 		Collection<T> graphsToBeRemoved = new HashSet<T>();
 		// for(T currentGraph : taskGraphs) {
 		// if(currentGraph.getPeriod() <= 0) {
@@ -463,7 +463,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 					"The following deployable components are ignored during design exploration due to lack of timing annotations.");
 			System.out.println(
 					"Each deployable component must be annotated with delay (execution time) and the source commpoent must be annotated with a period!");
-			for(IDeployableComponentAdapter<?> deployableComponent : tasksToBeRemoved) {
+			for(ITaskAdapter<?> deployableComponent : tasksToBeRemoved) {
 				System.out.print(deployableComponent.getName() + " , ");
 				deployableComponents.remove(deployableComponent);
 			}
@@ -521,8 +521,8 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 		// TODO: Currently, top-level components are considered as deployable components (=tasks)
 		for(ISignalAdapter<?> channelAdapter : messages) {
 
-			IDeployableComponentAdapter<?> sourceDeployableComponent = channelAdapter.getSource();
-			Collection<IDeployableComponentAdapter<?>> targetDeployableComponents =
+			ITaskAdapter<?> sourceDeployableComponent = channelAdapter.getSource();
+			Collection<ITaskAdapter<?>> targetDeployableComponents =
 					channelAdapter.getTargets();
 
 			if(sourceDeployableComponent != null && !(targetDeployableComponents.isEmpty())) {
@@ -535,7 +535,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	/**
 	 * Creates the {@link PlatformCommunicationGraphEncoding} that is used to determine the routing
 	 * of
-	 * messages between {@link IDeployableComponentAdapter}s and their respective
+	 * messages between {@link ITaskAdapter}s and their respective
 	 * {@link IExecutionUnitAdapter}s.
 	 */
 	protected void setupPlatformGraph() {
@@ -600,13 +600,13 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 
 	/**
 	 * Setups the {#link emittedMessagesBySender} map which makes it possible to easily identify the
-	 * {@link ISignalAdapter}s that are emitted by the given {@link IDeployableComponentAdapter}.
+	 * {@link ISignalAdapter}s that are emitted by the given {@link ITaskAdapter}.
 	 */
 	protected void setupEmittedMessages() {
 		emittedMessagesBySender =
-				new HashMap<IDeployableComponentAdapter<C>, Collection<ISignalAdapter<S>>>();
+				new HashMap<ITaskAdapter<C>, Collection<ISignalAdapter<S>>>();
 
-		for(IDeployableComponentAdapter<C> currentSender : deployableComponents) {
+		for(ITaskAdapter<C> currentSender : deployableComponents) {
 			Collection<ISignalAdapter<S>> emittedMessages = new ArrayList<ISignalAdapter<S>>();
 			for(ISignalAdapter<S> currentMessage : messages) {
 				if(currentSender == currentMessage.getSource()) {
@@ -634,7 +634,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Returns the deployable (software) component from the original logical architecture. May
 	 * contain "abstract" {@link Component}s.
 	 */
-	public Collection<IDeployableComponentAdapter<C>> getDeployableComponents() {
+	public Collection<ITaskAdapter<C>> getDeployableComponents() {
 		return deployableComponents;
 	}
 
@@ -642,7 +642,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Returns the deployable (software) component from the original logical architecture that my be
 	 * replicated. May contain "abstract" {@link Component}s.
 	 */
-	public Collection<IDeployableComponentAdapter<C>> getReplicableComponents() {
+	public Collection<ITaskAdapter<C>> getReplicableComponents() {
 		return replicableComponents;
 	}
 
@@ -650,7 +650,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Returns the scheduleable (software) component from the original logical architecture. May
 	 * contain "abstract" {@link Component}s.
 	 */
-	public Collection<IDeployableComponentAdapter<C>> getScheduleableComponents() {
+	public Collection<ITaskAdapter<C>> getScheduleableComponents() {
 		return schedulableComponents;
 	}
 
@@ -658,21 +658,21 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Returns the deployable (software) components that can be actually executed on
 	 * {@link ExecutionUnit}s, i.e. software components that are backed by an implementation.
 	 */
-	public Collection<IDeployableComponentAdapter<C>> getRealizableDeployableComponents() {
+	public Collection<ITaskAdapter<C>> getRealizableDeployableComponents() {
 		return realizableDeployableComponents;
 	}
 
 	// TODO: Consider implementing this method as a map, since this operation is run often?
 	/**
-	 * Returns the {@link IDeployableComponentAdapter} that is constructed form the given object.
+	 * Returns the {@link ITaskAdapter} that is constructed form the given object.
 	 * 
 	 * @param originalEObject
-	 *            The object for which the corresponding {@link IDeployableComponentAdapter} shall
+	 *            The object for which the corresponding {@link ITaskAdapter} shall
 	 *            be identified.
-	 * @return The asociated {@link IDeployableComponentAdapter}, or {@code null} if none can be
+	 * @return The asociated {@link ITaskAdapter}, or {@code null} if none can be
 	 *         identified.
 	 */
-	public synchronized IDeployableComponentAdapter<C>
+	public synchronized ITaskAdapter<C>
 			getDeployableComponentOf(EObject originalEObject) {
 		// FIXME: HACK to work around the missing consideration of the Task Architecture ATM.
 		if(originalEObject instanceof Task) {
@@ -681,7 +681,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 			originalEObject = cCol.iterator().next();
 		}
 
-		for(IDeployableComponentAdapter<C> deployableComponentAdapter : deployableComponents) {
+		for(ITaskAdapter<C> deployableComponentAdapter : deployableComponents) {
 			if(deployableComponentAdapter.getObject() == originalEObject) {
 				return deployableComponentAdapter;
 			}
@@ -690,13 +690,13 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	}
 
 	/**
-	 * Returns the {@link IDeployableComponentAdapter} that wraps the given {@link EObject}. Here,
-	 * only those {@link IDeployableComponentAdapter} are searched which can be actually executed on
+	 * Returns the {@link ITaskAdapter} that wraps the given {@link EObject}. Here,
+	 * only those {@link ITaskAdapter} are searched which can be actually executed on
 	 * {@link ExecutionUnit}s, i.e. "abstract" components are not considered.
 	 */
-	public synchronized IDeployableComponentAdapter<C>
+	public synchronized ITaskAdapter<C>
 			getRealizeableDeployableComponentOf(EObject originalEObject) {
-		for(IDeployableComponentAdapter<C> deployableComponentAdapter : realizableDeployableComponents) {
+		for(ITaskAdapter<C> deployableComponentAdapter : realizableDeployableComponents) {
 			if(deployableComponentAdapter.getObject() == originalEObject) {
 				return deployableComponentAdapter;
 			}
@@ -708,8 +708,8 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Returns the {@link ISignalAdapter} corresponding the sender and receiver {@link Component}.
 	 * Returns null if no channel exists between the two given components.
 	 */
-	public synchronized ISignalAdapter<S> getChannelAdapter(IDeployableComponentAdapter<C> source,
-			IDeployableComponentAdapter<C> target) {
+	public synchronized ISignalAdapter<S> getChannelAdapter(ITaskAdapter<C> source,
+			ITaskAdapter<C> target) {
 		// TODO: Currently, top-level components are considered as deployable components (=tasks)
 		for(ISignalAdapter<S> currentChannel : messages) {
 			if(currentChannel.getSource() == source &&
@@ -811,7 +811,7 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * Returns the {@link DefaultTaskGraph} in which a given deployable component (=task) is
 	 * contained.
 	 */
-	public TaskGraph getTaskGraph(IDeployableComponentAdapter<?> deployableComponent) {
+	public TaskGraph getTaskGraph(ITaskAdapter<?> deployableComponent) {
 		return componentInGraph.get(deployableComponent);
 	}
 
@@ -820,23 +820,23 @@ public class SystemModelAdapter<C, E, S, G, TR, M> {
 	 * contained.
 	 */
 	public DefaultTaskGraph<?>
-			getAcyclicTaskGraph(IDeployableComponentAdapter<?> deployableComponent) {
+			getAcyclicTaskGraph(ITaskAdapter<?> deployableComponent) {
 		return componentInAcyclicGraph.get(deployableComponent);
 	}
 
 	/**
 	 * Returns the {@link ISignalAdapter}s "emitted" by the given
-	 * {@link IDeployableComponentAdapter}. Returns an empty collection if the given
-	 * {@link IDeployableComponentAdapter} does not emit anything.
+	 * {@link ITaskAdapter}. Returns an empty collection if the given
+	 * {@link ITaskAdapter} does not emit anything.
 	 */
 	public Collection<ISignalAdapter<S>>
-			getEmmittedMessages(IDeployableComponentAdapter<?> sender) {
+			getEmmittedMessages(ITaskAdapter<?> sender) {
 		// TODO: use another representation ro make an access via the reference obsolete
 		if(sender.isInstantiation()) {
 			sender = sender.getReplacedComponent();
 		}
 		// TODO: replace by map or similar.
-		IDeployableComponentAdapter<?> origSender =
+		ITaskAdapter<?> origSender =
 				getDeployableComponentOf((EObject)sender.getObject());
 		return emittedMessagesBySender.get(origSender);
 	}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings
index 9f8fbf3e..fe3679c6 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/.ratings
@@ -1,5 +1,5 @@
-AF3DeployableComponentAdapter.java e19b08011718d3aaa1c072945f4d0c1b723add2f RED
-AF3ExecutionUnitAdapter.java 95b1d4b3e933372e5e45e41ecd4e2730f823bcc5 RED
+AF3DeployableComponentAdapter.java 7928e43de3a336a64c7e36cc43c209ea5b65f93d RED
+AF3ExecutionUnitAdapter.java bc68d73a77512eb6695b663f3e84c24696df447e RED
 AF3GatewayAdapter.java f61ab5ff2fa58f561ea6720ba1add06c0d1f437e RED
 AF3LogicalArchitectureAdapter.java b129b15fefcd1864df1d2584f2ca0820ef6600c4 RED
 AF3MemoryUnitAdapter.java 4737c88556ab6274f19c8b31196870063e800b9d RED
@@ -8,6 +8,6 @@ AF3PlatformArchitectureAdapter.java 1d4acb95db3042cdbbc43484687e935124df2114 RED
 AF3RequestAdapter.java 8b551cf83401d93705d0527184a961ea8244daa3 RED
 AF3ResourceAdapter.java f20b7da41445acadc3d3cc5b662a993ecbaed47a RED
 AF3ResourceConnectionAdapter.java b0804eb7d4a2b36065d45bfd90ad548ca7e6c0f8 RED
-AF3SignalAdapter.java 66182f23909cf222fff5524158525bf432239b35 RED
-AF3SystemModelAdapter.java e65fffe8d5970a65296f57434a980cd7035994fc RED
+AF3SignalAdapter.java cd04646323507aff4f3085a9275baf8a72888d18 RED
+AF3SystemModelAdapter.java 333a798e917e6ced6d452856bdb062a882b322d0 RED
 AF3TransmissionUnitAdapter.java 9221b239d1d54cc0b2f01b3c385faa660ed1d3e0 RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3DeployableComponentAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3DeployableComponentAdapter.java
index daa63fdb..cf32ff53 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3DeployableComponentAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3DeployableComponentAdapter.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 import org.eclipse.emf.common.util.Enumerator;
 import org.fortiss.af3.component.model.Component;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.InternalComponentParameters;
 import org.fortiss.af3.safety.model.annotation.SafetyIntegrityLevel;
@@ -34,7 +34,7 @@ import org.fortiss.af3.safety.model.annotation.SafetyIntegrityLevel;
  * @author barner
  */
 public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
-		implements IDeployableComponentAdapter<Component> {
+		implements ITaskAdapter<Component> {
 	/** Map of possible Wcets defined by the deployment target. */
 	@SuppressWarnings("unused")
 	private Map<IExecutionUnitAdapter<?>, Double> wcetMap;
@@ -55,16 +55,16 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 	private SafetyIntegrityLevel sil;
 
 	/** Reference to the corresponding elements of the diverse implementations. */
-	private Collection<IDeployableComponentAdapter<Component>> replacementComponents;
+	private Collection<ITaskAdapter<Component>> replacementComponents;
 
 	/**
-	 * "Trace" to the {@link IDeployableComponentAdapter} which {@code this}
-	 * {@link IDeployableComponentAdapter} replaced (if applicable).
+	 * "Trace" to the {@link ITaskAdapter} which {@code this}
+	 * {@link ITaskAdapter} replaced (if applicable).
 	 */
-	private IDeployableComponentAdapter<Component> replacedComponent;
+	private ITaskAdapter<Component> replacedComponent;
 
 	/**
-	 * Creates an {@link IDeployableComponentAdapter} for an {@link Component}.
+	 * Creates an {@link ITaskAdapter} for an {@link Component}.
 	 * 
 	 * @throws Exception
 	 */
@@ -83,11 +83,11 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 
 		sil = getAnnotation(deployableComponent, SafetyIntegrityLevel.class);
 
-		replacementComponents = new HashSet<IDeployableComponentAdapter<Component>>();
+		replacementComponents = new HashSet<ITaskAdapter<Component>>();
 	}
 
 	/**
-	 * Creates an {@link IDeployableComponentAdapter} for an {@link Component} with the given
+	 * Creates an {@link ITaskAdapter} for an {@link Component} with the given
 	 * period and replication bounds.
 	 * 
 	 * @throws Exception
@@ -103,7 +103,7 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 	}
 
 	/**
-	 * Creates an {@link IDeployableComponentAdapter} for an {@link Component} with the given
+	 * Creates an {@link ITaskAdapter} for an {@link Component} with the given
 	 * period.
 	 * 
 	 * @throws Exception
@@ -111,7 +111,7 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 	public AF3DeployableComponentAdapter(Component deployableComponent,
 			Map<Component, InternalComponentParameters> internalParameters, Integer minReplication,
 			Integer maxReplication, Double period,
-			Collection<IDeployableComponentAdapter<Component>> componentReplacementAdapters)
+			Collection<ITaskAdapter<Component>> componentReplacementAdapters)
 			throws Exception {
 		this(deployableComponent, internalParameters, minReplication, maxReplication, period);
 		this.period = period;
@@ -120,12 +120,12 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 	}
 
 	/**
-	 * Creates an "concrete" {@link IDeployableComponentAdapter} for an {@link Component} with the
+	 * Creates an "concrete" {@link ITaskAdapter} for an {@link Component} with the
 	 * given period.
 	 */
 	public AF3DeployableComponentAdapter(Component deployableComponent,
 			Map<Component, InternalComponentParameters> internalParameters,
-			IDeployableComponentAdapter<Component> replacedComponent) throws Exception {
+			ITaskAdapter<Component> replacedComponent) throws Exception {
 		this(deployableComponent, internalParameters, replacedComponent.getMinReplication(),
 				replacedComponent.getMaxReplication(),
 				replacedComponent.getTimingRequirementPeriod());
@@ -180,13 +180,13 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 
 	/** {@inheritDoc} */
 	@Override
-	public Collection<IDeployableComponentAdapter<Component>> getReplacementComponents() {
+	public Collection<ITaskAdapter<Component>> getReplacementComponents() {
 		return replacementComponents;
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public IDeployableComponentAdapter<Component> getReplacedComponent() {
+	public ITaskAdapter<Component> getReplacedComponent() {
 		return replacedComponent;
 	}
 
@@ -195,7 +195,7 @@ public class AF3DeployableComponentAdapter extends AF3RequestAdapter<Component>
 	@SuppressWarnings("unchecked")
 	@Override
 	public void setReplacedComponent(
-			@SuppressWarnings("rawtypes") IDeployableComponentAdapter abstractComponent) {
+			@SuppressWarnings("rawtypes") ITaskAdapter abstractComponent) {
 		replacedComponent = abstractComponent;
 	}
 
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3ExecutionUnitAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3ExecutionUnitAdapter.java
index e6442bb5..23c37922 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3ExecutionUnitAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3ExecutionUnitAdapter.java
@@ -15,13 +15,13 @@
 +--------------------------------------------------------------------------*/
 package org.fortiss.af3.exploration.alg.dse.sysmodel.arch.af3;
 
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.platform.model.ExecutionUnit;
 
 /**
  * Adapter between AF3 {@link ExecutionUnit} (=deployment target of
- * {@link IDeployableComponentAdapter}s) and the DSE.
+ * {@link ITaskAdapter}s) and the DSE.
  * 
  * @author barner
  */
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SignalAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SignalAdapter.java
index cbad7c8a..5bc26e19 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SignalAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SignalAdapter.java
@@ -21,7 +21,7 @@ import java.util.Iterator;
 import org.fortiss.af3.component.model.Channel;
 import org.fortiss.af3.component.model.InputPort;
 import org.fortiss.af3.component.model.OutputPort;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITransmissionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.comm.Message;
@@ -38,10 +38,10 @@ public class AF3SignalAdapter extends AF3RequestAdapter<OutputPort>
 	private static final long MBYTES_TO_BYTES = 1000 * 1000;
 
 	/** Message's source component */
-	IDeployableComponentAdapter<?> source;
+	ITaskAdapter<?> source;
 
 	/** Message's target component adapter */
-	Collection<IDeployableComponentAdapter<?>> targets;
+	Collection<ITaskAdapter<?>> targets;
 
 	/** Message's target AF3 ports. */
 	Collection<InputPort> targetPorts;
@@ -60,8 +60,8 @@ public class AF3SignalAdapter extends AF3RequestAdapter<OutputPort>
 	 * 
 	 * @throws Exception
 	 */
-	public AF3SignalAdapter(OutputPort senderPort, IDeployableComponentAdapter<?> source,
-			Collection<InputPort> targetPorts, Collection<IDeployableComponentAdapter<?>> targets,
+	public AF3SignalAdapter(OutputPort senderPort, ITaskAdapter<?> source,
+			Collection<InputPort> targetPorts, Collection<ITaskAdapter<?>> targets,
 			Long messageSize) throws Exception {
 		super(senderPort);
 
@@ -80,7 +80,7 @@ public class AF3SignalAdapter extends AF3RequestAdapter<OutputPort>
 
 	/** {@inheritDoc} */
 	@Override
-	public IDeployableComponentAdapter<?> getSource() {
+	public ITaskAdapter<?> getSource() {
 		return source;
 	}
 
@@ -88,13 +88,13 @@ public class AF3SignalAdapter extends AF3RequestAdapter<OutputPort>
 	 * Adds a target to the target list of the channel adapter. Compatibility layer for AF3 /wo
 	 * multicast patch.
 	 */
-	public void addTarget(IDeployableComponentAdapter<?> target) {
+	public void addTarget(ITaskAdapter<?> target) {
 		targets.add(target);
 	}
 
 	/** {@inheritDoc} */
 	@Override
-	public Collection<IDeployableComponentAdapter<?>> getTargets() {
+	public Collection<ITaskAdapter<?>> getTargets() {
 		// TODO: use another representation ro make an access via the reference obsolete
 		return targets;
 	}
@@ -131,7 +131,7 @@ public class AF3SignalAdapter extends AF3RequestAdapter<OutputPort>
 	@Override
 	public String getName() {
 		String targetNameList = "";
-		for(Iterator<IDeployableComponentAdapter<?>> targetIterator =
+		for(Iterator<ITaskAdapter<?>> targetIterator =
 				targets.iterator(); targetIterator.hasNext();) {
 			targetNameList += targetIterator.next().getName();
 			if(targetIterator.hasNext()) {
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SystemModelAdapter.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SystemModelAdapter.java
index 623841b5..34b75357 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SystemModelAdapter.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/af3/AF3SystemModelAdapter.java
@@ -52,7 +52,7 @@ import org.fortiss.af3.component.model.InputPort;
 import org.fortiss.af3.component.model.OutputPort;
 import org.fortiss.af3.component.model.Port;
 import org.fortiss.af3.deployment.model.Deployment;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IGatewayUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IMemoryUnitAdapter;
@@ -102,10 +102,10 @@ public class AF3SystemModelAdapter extends
 	private AF3DeploymentParameterMapAdapter parameterAdapter;
 
 	/**
-	 * Collection of {@link IDeployableComponentAdapter} which can be used to instantiate "abstract"
-	 * {@link IDeployableComponentAdapter}s.
+	 * Collection of {@link ITaskAdapter} which can be used to instantiate "abstract"
+	 * {@link ITaskAdapter}s.
 	 */
-	private Collection<IDeployableComponentAdapter<Component>> componentReplacementAdapters;
+	private Collection<ITaskAdapter<Component>> componentReplacementAdapters;
 
 	// TODO (2x): package access rights are ok? If so, please add /* package */
 	/** Contains informations whether the given AF3 model supports multicast channels. */
@@ -182,7 +182,7 @@ public class AF3SystemModelAdapter extends
 				systemParameters.getReplacementComponents());
 		setDeploymentTargetConnectors(
 				createDeploymentTargetConnectors(systemParameters.getDeploymentTargets()));
-		Multimap<Component, IDeployableComponentAdapter<Component>> componentToReplacementAdapter =
+		Multimap<Component, ITaskAdapter<Component>> componentToReplacementAdapter =
 				createComponentReplacementAdapters(systemParameters.getReplacementComponents());
 		deployableComponents = createDeployableComponents(componentToReplacementAdapter,
 				systemParameters.getComponentPeriodMap(),
@@ -220,15 +220,15 @@ public class AF3SystemModelAdapter extends
 	}
 
 	/**
-	 * Creates a collection of {@link IDeployableComponentAdapter}s that are available to
-	 * instantiate other "abstract" {@link IDeployableComponentAdapter}s. Only those
-	 * {@link IDeployableComponentAdapter}s which are referenced by {@link Component}s of the input
+	 * Creates a collection of {@link ITaskAdapter}s that are available to
+	 * instantiate other "abstract" {@link ITaskAdapter}s. Only those
+	 * {@link ITaskAdapter}s which are referenced by {@link Component}s of the input
 	 * {@link ComponentArchitecture} are included in the collection.
 	 */
-	private Multimap<Component, IDeployableComponentAdapter<Component>>
+	private Multimap<Component, ITaskAdapter<Component>>
 			createComponentReplacementAdapters(Multimap<Component, Component> replacementComponents)
 					throws Exception {
-		Multimap<Component, IDeployableComponentAdapter<Component>> rval = HashMultimap.create();
+		Multimap<Component, ITaskAdapter<Component>> rval = HashMultimap.create();
 		Collection<Component> allReplacementComponents = replacementComponents.values();
 		Map<Component, InternalComponentParameters> internalParameterMap =
 				createInternalParameterMaps(allReplacementComponents);
@@ -248,11 +248,11 @@ public class AF3SystemModelAdapter extends
 	 * 
 	 * @throws Exception
 	 */
-	private Collection<IDeployableComponentAdapter<Component>> createDeployableComponents(
-			Multimap<Component, IDeployableComponentAdapter<Component>> componentReplacementAdapters,
+	private Collection<ITaskAdapter<Component>> createDeployableComponents(
+			Multimap<Component, ITaskAdapter<Component>> componentReplacementAdapters,
 			Map<Component, Double> componentPeriodMap,
 			Map<Component, Pair<Integer, Integer>> componentReplicationBounds) throws Exception {
-		Collection<IDeployableComponentAdapter<Component>> rval = new HashSet<>();
+		Collection<ITaskAdapter<Component>> rval = new HashSet<>();
 
 		Map<Component, InternalComponentParameters> internalParameterMap =
 				createInternalParameterMaps(deployableComponentObjects);
@@ -281,23 +281,23 @@ public class AF3SystemModelAdapter extends
 	}
 
 	/**
-	 * Creates a collection of {@link IDeployableComponentAdapter}s which can be instantiated to run
+	 * Creates a collection of {@link ITaskAdapter}s which can be instantiated to run
 	 * on execution units.
 	 * 
 	 * @throws Exception
-	 *             If the {@link IDeployableComponentAdapter} cannot be created for one of the
+	 *             If the {@link ITaskAdapter} cannot be created for one of the
 	 *             Components that are concrete implementations of "abstract" {@link Component}s
 	 *             defined in the {@link ComponentArchitecture}.
 	 */
-	private Collection<IDeployableComponentAdapter<Component>> createRealizableDeployableComponents(
-			Collection<IDeployableComponentAdapter<Component>> deployableComponents)
+	private Collection<ITaskAdapter<Component>> createRealizableDeployableComponents(
+			Collection<ITaskAdapter<Component>> deployableComponents)
 			throws Exception {
-		Collection<IDeployableComponentAdapter<Component>> rval =
-				new ArrayList<IDeployableComponentAdapter<Component>>();
+		Collection<ITaskAdapter<Component>> rval =
+				new ArrayList<ITaskAdapter<Component>>();
 
 		rval.addAll(componentReplacementAdapters);
 
-		for(IDeployableComponentAdapter<Component> deployableComponent : deployableComponents) {
+		for(ITaskAdapter<Component> deployableComponent : deployableComponents) {
 			if(!deployableComponent.isInstantiationRequired()) {
 				rval.add(deployableComponent);
 			}
@@ -498,15 +498,15 @@ public class AF3SystemModelAdapter extends
 		deployableComponents.forEach(d -> af3DeployableComponents.add(d.getObject()));
 
 		for(OutputPort currentSenderPort : getDeployableOutputPorts(af3DeployableComponents)) {
-			IDeployableComponentAdapter<?> currentSenderComponentAdapter =
+			ITaskAdapter<?> currentSenderComponentAdapter =
 					getDeployableComponentAdapter(currentSenderPort.getComponent());
 			if(currentSenderComponentAdapter != null) {
-				Collection<IDeployableComponentAdapter<?>> receiverComponentAdapters =
-						new ArrayList<IDeployableComponentAdapter<?>>();
+				Collection<ITaskAdapter<?>> receiverComponentAdapters =
+						new ArrayList<ITaskAdapter<?>>();
 				Collection<Port> targetPorts =
 						findTargetPorts(currentSenderPort, af3DeployableComponents);
 				for(Port currentReceiverPort : targetPorts) {
-					IDeployableComponentAdapter<?> receiverComponentAdapter =
+					ITaskAdapter<?> receiverComponentAdapter =
 							getDeployableComponentAdapter(currentReceiverPort.getComponent());
 					receiverComponentAdapters.add(receiverComponentAdapter);
 				}
@@ -527,7 +527,7 @@ public class AF3SystemModelAdapter extends
 	}
 
 	/**
-	 * Pre-sort the {@link ISignalAdapter}s such that the {@link IDeployableComponentAdapter}s
+	 * Pre-sort the {@link ISignalAdapter}s such that the {@link ITaskAdapter}s
 	 * referenced by periodic constraints are located at the top of the {@link ISignalAdapter} list.
 	 * <p>
 	 * <b>NOTE:</b> This method is just for user convenience, do not expect the ordering to be kept
@@ -946,18 +946,18 @@ public class AF3SystemModelAdapter extends
 	}
 
 	/**
-	 * Returns the (first) {@link IDeployableComponentAdapter} which is associated with the given
-	 * AF3 {@link Component}. Returns null if no matching {@link IDeployableComponentAdapter} is
+	 * Returns the (first) {@link ITaskAdapter} which is associated with the given
+	 * AF3 {@link Component}. Returns null if no matching {@link ITaskAdapter} is
 	 * found.
 	 */
-	public IDeployableComponentAdapter<?> getDeployableComponentAdapter(Component af3Component) {
+	public ITaskAdapter<?> getDeployableComponentAdapter(Component af3Component) {
 		if(af3Component == null) {
 			throw new IllegalArgumentException(
 					"Cannot identify IDeployableComponentAdapters for 'null' Components");
 		}
 
-		IDeployableComponentAdapter<?> deployableComponentAdapter = null;
-		for(IDeployableComponentAdapter<Component> deployableComponent : deployableComponents) {
+		ITaskAdapter<?> deployableComponentAdapter = null;
+		for(ITaskAdapter<Component> deployableComponent : deployableComponents) {
 			if(deployableComponent.getObject() == af3Component) {
 				deployableComponentAdapter = deployableComponent;
 				break;
@@ -1058,7 +1058,7 @@ public class AF3SystemModelAdapter extends
 		// would be rather required to define the source and sink components as
 		// IDeployableComponents in the ecore model. The transformation from AF3 components to the
 		// IDeployableCompontes should be done when the data from the GUI is written to the model.
-		IDeployableComponentAdapter<?> deployableComponent =
+		ITaskAdapter<?> deployableComponent =
 				getDeployableComponentAdapter(component);
 		return getTaskGraph(deployableComponent);
 	}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings
index 269ee57a..a84a6cb9 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/.ratings
@@ -1,5 +1,5 @@
-AcyclicTaskGraph.java 87b725593dd67491bdc28b8f41c5cc75d19eea64 RED
+AcyclicTaskGraph.java 7cca0f0902960c20a4acfae7fe2f84432592da20 RED
 ChannelAdapterWeightedEdge.java ef160bea5d74f09617388767313657dd76283f61 RED
-DefaultTaskGraph.java bf03b79a978932543c71424ed1dcfb549dfbd9f8 RED
-TaskGraph.java 0e859151bb4ff33f3203e013edd08e5f3e95f439 RED
-TaskGraphInstantiator.java fe92d5016c6c5b901c20ab418566286ef58d5a9c RED
+DefaultTaskGraph.java 4d155038b8a2b112dd83e96f09fb70483bc7e5aa RED
+TaskGraph.java da0b771d32cd41947767ffb0d5a5a5d90c1c206f RED
+TaskGraphInstantiator.java 227babf2903b30077cf9ba6d0b9857f91d61ef0d RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/AcyclicTaskGraph.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/AcyclicTaskGraph.java
index a682e516..4ba1a5dd 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/AcyclicTaskGraph.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/AcyclicTaskGraph.java
@@ -21,7 +21,7 @@ import java.util.HashMap;
 import java.util.SortedSet;
 
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskgraph.TaskGraphEncoding;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ILogicalArchitectureAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.faultmodel.FaultDetector;
@@ -32,7 +32,7 @@ import org.jgrapht.alg.interfaces.MinimumSpanningTree;
 import org.jgrapht.graph.ListenableDirectedWeightedGraph;
 
 /**
- * Creates a Directed acyclic task graph of all the {@link IDeployableComponentAdapter}s.
+ * Creates a Directed acyclic task graph of all the {@link ITaskAdapter}s.
  * <li>Each
  * {@link ISignalAdapter} is examined:</li>
  * <li>If there exists no path between a target of the
@@ -40,11 +40,11 @@ import org.jgrapht.graph.ListenableDirectedWeightedGraph;
  * <li>
  * Otherwise, a loop is detected. Then, the detected loop is cut either by not adding the edge (if
  * the source vertex is strongly causal) or by removing an edge between the vertices (i.e.
- * {@link IDeployableComponentAdapter}s) that are closest to the current {@link ISignalAdapter} by
+ * {@link ITaskAdapter}s) that are closest to the current {@link ISignalAdapter} by
  * traversing the found path backwards and adding the current edge.</li>
  * <p>
  * <b>NOTE:</b> This method expects <b>correct</b> {@link ILogicalArchitectureAdapter}s as input,
- * i.e. at least one {@link IDeployableComponentAdapter} of each loop must be 'strongly causal'.
+ * i.e. at least one {@link ITaskAdapter} of each loop must be 'strongly causal'.
  * 
  * @author diewald
  */
@@ -71,15 +71,15 @@ public class AcyclicTaskGraph extends DefaultTaskGraph<AcyclicTaskGraph> {
 	 * {@link ChannelAdapterWeightedEdge}s.
 	 */
 	private void createMinSpanAcycTaskGraph(TaskGraph taskGraph) {
-		DirectedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> tg =
+		DirectedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge> tg =
 				taskGraph.getGraph();
 		Graphs.addAllVertices(graph, tg.vertexSet());
 
 		if(taskGraph.getTasks().size() == 1) {
 			return;
 		}
-		MinimumSpanningTree<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> minSpanTree =
-				new PrimMinimumSpanningTree<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+		MinimumSpanningTree<ITaskAdapter<?>, ChannelAdapterWeightedEdge> minSpanTree =
+				new PrimMinimumSpanningTree<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 						taskGraph.getGraph());
 		minSpanTree.getMinimumSpanningTreeEdgeSet().stream()
 				.forEach(e -> graph.addEdge(tg.getEdgeSource(e), tg.getEdgeTarget(e), e));
@@ -97,11 +97,11 @@ public class AcyclicTaskGraph extends DefaultTaskGraph<AcyclicTaskGraph> {
 			throw new AssertionError();
 		}
 		clonedTaskGraph.graph =
-				new ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+				new ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 						ChannelAdapterWeightedEdge.class);
 		Graphs.addGraph(clonedTaskGraph.graph, graph);
 		clonedTaskGraph.taskFaultDetectorsMap =
-				new HashMap<IDeployableComponentAdapter<?>, SortedSet<FaultDetector>>(
+				new HashMap<ITaskAdapter<?>, SortedSet<FaultDetector>>(
 						taskFaultDetectorsMap);
 
 		return clonedTaskGraph;
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/DefaultTaskGraph.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/DefaultTaskGraph.java
index b75b7d35..922da178 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/DefaultTaskGraph.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/DefaultTaskGraph.java
@@ -23,7 +23,7 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.faultmodel.FaultDetector;
@@ -57,7 +57,7 @@ import com.google.common.collect.Multimap;
 public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGraph, Cloneable {
 	/** Underlying graph implementation */
 	// TODO: Add a weight w.r.t. transmission time, when deployed
-	protected ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> graph;
+	protected ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge> graph;
 
 	// TODO: Currently, all tasks in a {@link TaskGraph} must have the same period
 	/** The period time of this {@link DefaultTaskGraph}. */
@@ -65,32 +65,32 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	// TODO: Fault detector library
 	/** Fault detector library (map: task -> set of fault detectors) */
-	protected Map<IDeployableComponentAdapter<?>, SortedSet<FaultDetector>> taskFaultDetectorsMap;
+	protected Map<ITaskAdapter<?>, SortedSet<FaultDetector>> taskFaultDetectorsMap;
 
 	/** Random generator */
 	private RandomExploration gen = RandomExploration.getInstance();
 
 	/**
-	 * Associates "abstract" {@link IDeployableComponentAdapter}s with its instances contained in
+	 * Associates "abstract" {@link ITaskAdapter}s with its instances contained in
 	 * this {@link TaskGraph}.
 	 */
-	private Multimap<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>> abstractToInstanceTaskMap;
+	private Multimap<ITaskAdapter<?>, ITaskAdapter<?>> abstractToInstanceTaskMap;
 
 	/** Creates an empty {@link DefaultTaskGraph}. */
 	public DefaultTaskGraph() {
 
-		graph = new ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+		graph = new ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 				ChannelAdapterWeightedEdge.class);
 
 		taskFaultDetectorsMap =
-				new HashMap<IDeployableComponentAdapter<?>, SortedSet<FaultDetector>>();
+				new HashMap<ITaskAdapter<?>, SortedSet<FaultDetector>>();
 
 		abstractToInstanceTaskMap = HashMultimap.create();
 	}
 
 	/** Registers a deployable component (=task) with the {@link DefaultTaskGraph}. */
 	@Override
-	public boolean addTask(IDeployableComponentAdapter<?> task) {
+	public boolean addTask(ITaskAdapter<?> task) {
 		if(task.isInstantiation()) {
 			abstractToInstanceTaskMap.put(task.getReplacedComponent(), task);
 		}
@@ -101,8 +101,8 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public boolean addTask(IDeployableComponentAdapter<?> task,
-			IDeployableComponentAdapter<?> refTask) {
+	public boolean addTask(ITaskAdapter<?> task,
+			ITaskAdapter<?> refTask) {
 		// FIXME: Hack, remove the map.
 		abstractToInstanceTaskMap.put(refTask, task);
 		return graph.addVertex(task);
@@ -110,7 +110,7 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public void removeTask(IDeployableComponentAdapter<?> task) {
+	public void removeTask(ITaskAdapter<?> task) {
 		Collection<ChannelAdapterWeightedEdge> outgoingEdges = graph.outgoingEdgesOf(task);
 		Collection<ChannelAdapterWeightedEdge> incomingEdges = graph.incomingEdgesOf(task);
 
@@ -126,14 +126,14 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public boolean addDataDependency(IDeployableComponentAdapter<?> sourceComponent,
-			Collection<IDeployableComponentAdapter<?>> destinationComponents,
+	public boolean addDataDependency(ITaskAdapter<?> sourceComponent,
+			Collection<ITaskAdapter<?>> destinationComponents,
 			ISignalAdapter<?> channelAdapter) {
 
 		boolean addingAllEdgesSuccessful = true;
 
 		// Add edges from the source component to each receiver.
-		for(IDeployableComponentAdapter<?> currentDestinationComponent : destinationComponents) {
+		for(ITaskAdapter<?> currentDestinationComponent : destinationComponents) {
 			// Only add Dependencies which are present in this TaskGraph
 			if(graph.containsVertex(sourceComponent) &&
 					graph.containsVertex(currentDestinationComponent)) {
@@ -150,8 +150,8 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 	}
 
 	/** Registers a data dependencies between a source and its destination component. */
-	public boolean addDataDependency(IDeployableComponentAdapter<?> sourceComponent,
-			IDeployableComponentAdapter<?> destinationComponent, ISignalAdapter<?> channelAdapter) {
+	public boolean addDataDependency(ITaskAdapter<?> sourceComponent,
+			ITaskAdapter<?> destinationComponent, ISignalAdapter<?> channelAdapter) {
 		graph.addVertex(sourceComponent);
 		graph.addVertex(destinationComponent);
 		return graph.addEdge(sourceComponent, destinationComponent,
@@ -160,14 +160,14 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public Set<IDeployableComponentAdapter<?>> getTasks() {
+	public Set<ITaskAdapter<?>> getTasks() {
 		return graph.vertexSet();
 	}
 
 	// TODO: Get rid of this method!
 	/** {@inheritDoc} */
 	@Override
-	public ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>
+	public ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge>
 			getGraph() {
 		return graph;
 	}
@@ -188,7 +188,7 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 	public void updatePeriod() throws InvalidTimingModelException {
 		boolean isFirstSet = false;
 		// TODO: Move these consistency check to model validation framework
-		for(IDeployableComponentAdapter<?> deployableComponent : getTasks()) {
+		for(ITaskAdapter<?> deployableComponent : getTasks()) {
 			Double deployableComponentPeriod = deployableComponent.getTimingRequirementPeriod();
 
 			if(!isFirstSet) {
@@ -206,7 +206,7 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 	}
 
 	/** Returns the fault detector with a given index / ID for a given task. */
-	public FaultDetector getFaultDetector(IDeployableComponentAdapter<?> task, int id) {
+	public FaultDetector getFaultDetector(ITaskAdapter<?> task, int id) {
 		if(taskFaultDetectorsMap.containsKey(task)) {
 			Object[] faultDetectors = taskFaultDetectorsMap.get(task).toArray();
 			if(id < faultDetectors.length) {
@@ -218,7 +218,7 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public void addFaultDetector(IDeployableComponentAdapter<?> task, FaultDetector faultDetector) {
+	public void addFaultDetector(ITaskAdapter<?> task, FaultDetector faultDetector) {
 		if(!taskFaultDetectorsMap.containsKey(task)) {
 			SortedSet<FaultDetector> faultDetectors = new TreeSet<FaultDetector>();
 			taskFaultDetectorsMap.put(task, faultDetectors);
@@ -228,7 +228,7 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public int getRandomFaultDetectorId(IDeployableComponentAdapter<?> task) {
+	public int getRandomFaultDetectorId(ITaskAdapter<?> task) {
 		if(taskFaultDetectorsMap.get(task) == null)
 			return 0;
 		return gen.nextInt(taskFaultDetectorsMap.get(task).size());
@@ -237,8 +237,8 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 	/** {@inheritDoc} */
 	@Override
 	public void display() {
-		JGraphTVisualizer<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> taskViz =
-				new JGraphTVisualizer<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+		JGraphTVisualizer<ITaskAdapter<?>, ChannelAdapterWeightedEdge> taskViz =
+				new JGraphTVisualizer<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 						this.getGraph());
 		taskViz.displayGraph("Task graph");
 	}
@@ -248,11 +248,11 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 	public String toString() {
 		String rval = "";
 
-		Iterator<IDeployableComponentAdapter<?>> iter =
-				new DepthFirstIterator<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+		Iterator<ITaskAdapter<?>> iter =
+				new DepthFirstIterator<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 						graph);
 		while(iter.hasNext()) {
-			IDeployableComponentAdapter<?> deployableComponent = iter.next();
+			ITaskAdapter<?> deployableComponent = iter.next();
 			rval = rval.concat("Task " + deployableComponent.getName() + ": ");
 			for(ChannelAdapterWeightedEdge edge : graph.outgoingEdgesOf(deployableComponent)) {
 				rval = rval.concat("->" + graph.getEdgeTarget(edge).getName());
@@ -274,11 +274,11 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 			throw new AssertionError();
 		}
 		clonedTaskGraph.graph =
-				new ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+				new ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 						ChannelAdapterWeightedEdge.class);
 		Graphs.addGraph(clonedTaskGraph.graph, graph);
 		clonedTaskGraph.taskFaultDetectorsMap =
-				new HashMap<IDeployableComponentAdapter<?>, SortedSet<FaultDetector>>(
+				new HashMap<ITaskAdapter<?>, SortedSet<FaultDetector>>(
 						taskFaultDetectorsMap);
 
 		return clonedTaskGraph;
@@ -286,7 +286,7 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public boolean containsTask(IDeployableComponentAdapter<?> task) {
+	public boolean containsTask(ITaskAdapter<?> task) {
 		if(task.isInstantiationRequired()) {
 			// FIXME: Hack to get the DSE working again. To fix it, replace the calls that need the
 			// instantiated component from an abstaract component, fix at the coller side.
@@ -297,8 +297,8 @@ public class DefaultTaskGraph<T extends DefaultTaskGraph<?>> implements TaskGrap
 
 	/** {@inheritDoc} */
 	@Override
-	public boolean containsAnyTaskOf(Collection<IDeployableComponentAdapter<?>> taskSet) {
-		for(IDeployableComponentAdapter<?> task : taskSet) {
+	public boolean containsAnyTaskOf(Collection<ITaskAdapter<?>> taskSet) {
+		for(ITaskAdapter<?> task : taskSet) {
 			if(containsTask(task)) {
 				return true;
 			}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraph.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraph.java
index 4fbbb98a..c3325e1f 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraph.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraph.java
@@ -18,7 +18,7 @@ package org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph;
 import java.util.Collection;
 import java.util.Set;
 
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.faultmodel.FaultDetector;
 import org.fortiss.af3.exploration.alg.exception.InvalidTimingModelException;
@@ -34,13 +34,13 @@ import org.jgrapht.graph.ListenableDirectedWeightedGraph;
 public interface TaskGraph {
 
 	/** Registers a data dependencies between a source and its destination components. */
-	public boolean addDataDependency(IDeployableComponentAdapter<?> sourceComponent,
-			Collection<IDeployableComponentAdapter<?>> destinationComponents,
+	public boolean addDataDependency(ITaskAdapter<?> sourceComponent,
+			Collection<ITaskAdapter<?>> destinationComponents,
 			ISignalAdapter<?> channelAdapter);
 
 	// TODO: Get rid of this method!
 	/** Returns the underlying {@link ListenableDirectedWeightedGraph}. */
-	public ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>
+	public ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge>
 			getGraph();
 
 	/**
@@ -57,36 +57,36 @@ public interface TaskGraph {
 	public Double getPeriod();
 
 	/** Returns the set of deployable components (=tasks) of this {@link TaskGraph}. */
-	public Set<IDeployableComponentAdapter<?>> getTasks();
+	public Set<ITaskAdapter<?>> getTasks();
 
 	/**
 	 * Checks whether {@code this} {@link TaskGraph} contains the given
-	 * {@link IDeployableComponentAdapter} or an instance of it.
+	 * {@link ITaskAdapter} or an instance of it.
 	 */
-	public boolean containsTask(IDeployableComponentAdapter<?> task);
+	public boolean containsTask(ITaskAdapter<?> task);
 
 	/**
 	 * Checks whether {@code this} {@link TaskGraph} contains any of the given
-	 * {@link IDeployableComponentAdapter}s.
+	 * {@link ITaskAdapter}s.
 	 */
-	public boolean containsAnyTaskOf(Collection<IDeployableComponentAdapter<?>> taskSet);
+	public boolean containsAnyTaskOf(Collection<ITaskAdapter<?>> taskSet);
 
 	/**
-	 * Adds the given {@link IDeployableComponentAdapter} to the {@link TaskGraph}, i.e. as a vertex
+	 * Adds the given {@link ITaskAdapter} to the {@link TaskGraph}, i.e. as a vertex
 	 * to the corresponding {@link DirectedGraph}.
 	 */
-	public boolean addTask(IDeployableComponentAdapter<?> task);
+	public boolean addTask(ITaskAdapter<?> task);
 
 	/**
 	 * Adds the given {@code task} to the {@link TaskGraph}, i.e. as a vertex
 	 * to the corresponding {@link DirectedGraph}, and further makes it accessible if the given
 	 * {@code refTask} is queried.
 	 */
-	public boolean addTask(IDeployableComponentAdapter<?> task,
-			IDeployableComponentAdapter<?> refTask);
+	public boolean addTask(ITaskAdapter<?> task,
+			ITaskAdapter<?> refTask);
 
 	/** Removes the given {@code task} and its data dependencies from the {@link TaskGraph}. */
-	public void removeTask(IDeployableComponentAdapter<?> task);
+	public void removeTask(ITaskAdapter<?> task);
 
 	/** Creates a Dialog that illustrates this {@link TaskGraph}. */
 	public void display();
@@ -95,9 +95,9 @@ public interface TaskGraph {
 	public <T extends TaskGraph> T copy();
 
 	/** Registers a fault detector for a given task. */
-	public void addFaultDetector(IDeployableComponentAdapter<?> deployableComponent,
+	public void addFaultDetector(ITaskAdapter<?> deployableComponent,
 			FaultDetector faultDetector);
 
 	/** Returns a random fault detector index / ID for the given task. */
-	public int getRandomFaultDetectorId(IDeployableComponentAdapter<?> deployableComponent);
+	public int getRandomFaultDetectorId(ITaskAdapter<?> deployableComponent);
 }
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraphInstantiator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraphInstantiator.java
index 61a55ff7..6f1d9f48 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraphInstantiator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/arch/taskgraph/TaskGraphInstantiator.java
@@ -25,12 +25,12 @@ import java.util.Set;
 
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.jgrapht.graph.ListenableDirectedWeightedGraph;
 
 /**
  * Manages the construction of {@link TaskGraph}s whose vertices are exclusively instances of
- * {@link IDeployableComponentAdapter}s.
+ * {@link ITaskAdapter}s.
  * 
  * @author diewald
  */
@@ -38,33 +38,33 @@ public class TaskGraphInstantiator<T extends TaskGraph> {
 
 	/**
 	 * Holds for each {@link TaskGraph} in the system a map that relates possibly abstract
-	 * {@link IDeployableComponentAdapter} with the {@link IDeployableComponentAdapter} that
+	 * {@link ITaskAdapter} with the {@link ITaskAdapter} that
 	 * instantiate them.
 	 */
-	private Map<T, Map<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>>> instanceToAbstractNodeMap;
+	private Map<T, Map<ITaskAdapter<?>, ITaskAdapter<?>>> instanceToAbstractNodeMap;
 
 	/**
 	 * Constructs a {@link TaskGraphInstantiator} that can create a {@link TaskGraph} containing
-	 * only {@link IDeployableComponentAdapter} instances from the given {#link abstractGraph}
+	 * only {@link ITaskAdapter} instances from the given {#link abstractGraph}
 	 * using the given {#link encoding}.
 	 */
 	public TaskGraphInstantiator(T abstractGraph,
 			InstantiatedTaskMappingEncoding<? extends InstantiatedTaskMappingEntry> encoding) {
 		instanceToAbstractNodeMap =
-				new HashMap<T, Map<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>>>();
+				new HashMap<T, Map<ITaskAdapter<?>, ITaskAdapter<?>>>();
 		instanceToAbstractNodeMap.put(abstractGraph,
 				createAbstractInstantiatedNodeAssociations(encoding));
 	}
 
 	/**
 	 * Constructs a {@link TaskGraphInstantiator} that can create {@link TaskGraph}s containing
-	 * only {@link IDeployableComponentAdapter} instances from the given {#link abstractGraphs}
+	 * only {@link ITaskAdapter} instances from the given {#link abstractGraphs}
 	 * using the given {#link encoding}.
 	 */
 	public TaskGraphInstantiator(Collection<T> abstractGraphs,
 			InstantiatedTaskMappingEncoding<? extends InstantiatedTaskMappingEntry> encoding) {
 		instanceToAbstractNodeMap =
-				new HashMap<T, Map<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>>>();
+				new HashMap<T, Map<ITaskAdapter<?>, ITaskAdapter<?>>>();
 		for(T taskGraph : abstractGraphs) {
 			instanceToAbstractNodeMap.put(taskGraph,
 					createAbstractInstantiatedNodeAssociations(encoding));
@@ -72,7 +72,7 @@ public class TaskGraphInstantiator<T extends TaskGraph> {
 	}
 
 	/**
-	 * Creates {@link TaskGraph}s containing only {@link IDeployableComponentAdapter} instances for
+	 * Creates {@link TaskGraph}s containing only {@link ITaskAdapter} instances for
 	 * each {@link TaskGraph} in the given collection.
 	 */
 	public Collection<T> createMultipleInstanceTaskGraphs(Collection<T> abstractGraphs) {
@@ -84,22 +84,22 @@ public class TaskGraphInstantiator<T extends TaskGraph> {
 	}
 
 	/**
-	 * Creates a single {@link TaskGraph} containing only {@link IDeployableComponentAdapter}
+	 * Creates a single {@link TaskGraph} containing only {@link ITaskAdapter}
 	 * instances for the given {@link TaskGraph}.
 	 */
 	public T createInstanceTaskGraph(T abstractGraph) {
 		T instanceTaskGraph = abstractGraph.copy();
 
-		Map<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>> nodeCorrespondenceMap =
+		Map<ITaskAdapter<?>, ITaskAdapter<?>> nodeCorrespondenceMap =
 				instanceToAbstractNodeMap.get(abstractGraph);
 		assert (nodeCorrespondenceMap != null);
 
-		Set<IDeployableComponentAdapter<?>> removeableVertices =
-				new HashSet<IDeployableComponentAdapter<?>>();
-		for(Entry<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>> instancePair : nodeCorrespondenceMap
+		Set<ITaskAdapter<?>> removeableVertices =
+				new HashSet<ITaskAdapter<?>>();
+		for(Entry<ITaskAdapter<?>, ITaskAdapter<?>> instancePair : nodeCorrespondenceMap
 				.entrySet()) {
-			IDeployableComponentAdapter<?> instComp = instancePair.getKey();
-			IDeployableComponentAdapter<?> abstrComp = instancePair.getValue();
+			ITaskAdapter<?> instComp = instancePair.getKey();
+			ITaskAdapter<?> abstrComp = instancePair.getValue();
 			if(abstractGraph.containsTask(abstrComp) && abstrComp.isInstantiationRequired()) {
 				insertInstanceComponent(instanceTaskGraph, abstrComp, instComp);
 				// Add the instantiated "abstract" Component to the set of Components which shall be
@@ -108,7 +108,7 @@ public class TaskGraphInstantiator<T extends TaskGraph> {
 				removeableVertices.add(abstrComp);
 			}
 		}
-		for(IDeployableComponentAdapter<?> abstractComponent : removeableVertices) {
+		for(ITaskAdapter<?> abstractComponent : removeableVertices) {
 			instanceTaskGraph.removeTask(abstractComponent);
 		}
 
@@ -120,9 +120,9 @@ public class TaskGraphInstantiator<T extends TaskGraph> {
 	 * instanceTaskGraph}.
 	 */
 	public void insertInstanceComponent(T instanceTaskGraph,
-			IDeployableComponentAdapter<?> abstractNode,
-			IDeployableComponentAdapter<?> instanceNode) {
-		ListenableDirectedWeightedGraph<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> graph =
+			ITaskAdapter<?> abstractNode,
+			ITaskAdapter<?> instanceNode) {
+		ListenableDirectedWeightedGraph<ITaskAdapter<?>, ChannelAdapterWeightedEdge> graph =
 				instanceTaskGraph.getGraph();
 		instanceTaskGraph.addTask(instanceNode, abstractNode);
 
@@ -145,16 +145,16 @@ public class TaskGraphInstantiator<T extends TaskGraph> {
 	 * {@link IDeployableComponentAdapter}.
 	 */
 	/**
-	 * Creates a map which relates "abstract" {@link IDeployableComponentAdapter} with the
-	 * {@link IDeployableComponentAdapter} instantiating the "abstract"
-	 * {@link IDeployableComponentAdapter}.
+	 * Creates a map which relates "abstract" {@link ITaskAdapter} with the
+	 * {@link ITaskAdapter} instantiating the "abstract"
+	 * {@link ITaskAdapter}.
 	 */
-	private Map<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>>
+	private Map<ITaskAdapter<?>, ITaskAdapter<?>>
 			createAbstractInstantiatedNodeAssociations(
 					InstantiatedTaskMappingEncoding<? extends InstantiatedTaskMappingEntry> encoding) {
-		Map<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>> instanceToAbstractNodeMap =
-				new HashMap<IDeployableComponentAdapter<?>, IDeployableComponentAdapter<?>>();
-		for(IDeployableComponentAdapter<?> instantiatedComponent : encoding.getRequesters()) {
+		Map<ITaskAdapter<?>, ITaskAdapter<?>> instanceToAbstractNodeMap =
+				new HashMap<ITaskAdapter<?>, ITaskAdapter<?>>();
+		for(ITaskAdapter<?> instantiatedComponent : encoding.getRequesters()) {
 			if(instantiatedComponent.isInstantiation()) {
 				instanceToAbstractNodeMap.put(instantiatedComponent,
 						instantiatedComponent.getReplacedComponent());
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings
index e1693337..e27cfea5 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/.ratings
@@ -1,2 +1,2 @@
 Message.java c76010ee09dbf91335ddbba7dd062c961c94a23b RED
-MessageGenerator.java cc0c56a394e5ccbd909d981305d52ba2021fc8fd RED
+MessageGenerator.java 0432d3d1641372d9f505901c9db7b4e74c38208d RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/MessageGenerator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/MessageGenerator.java
index 44ec4c47..5deb3528 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/MessageGenerator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/comm/MessageGenerator.java
@@ -27,7 +27,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.Ta
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ISignalAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
@@ -40,7 +40,7 @@ import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
  * 
  * @author diewald
  */
-public class MessageGenerator<S extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>, T extends TaskMappingEncoding<IDeployableComponentAdapter<?>, S>> {
+public class MessageGenerator<S extends TaskMappingEntry<ITaskAdapter<?>, Partition>, T extends TaskMappingEncoding<ITaskAdapter<?>, S>> {
 
 	/** Reference to the systemModel. */
 	private SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter;
@@ -60,7 +60,7 @@ public class MessageGenerator<S extends TaskMappingEntry<IDeployableComponentAda
 		// TODO: represent the signals in the task graph: do not use the systemModelAdapter here.
 		// Consequence: there may be multiple edges between two vertices (tasks).
 		for(S entry : encoding.getMappingEntries()) {
-			IDeployableComponentAdapter<?> senderComponent = entry.getSource();
+			ITaskAdapter<?> senderComponent = entry.getSource();
 			if(senderComponent.isInstantiation()) {
 				senderComponent = senderComponent.getReplacedComponent();
 			}
@@ -94,13 +94,13 @@ public class MessageGenerator<S extends TaskMappingEntry<IDeployableComponentAda
 
 	/**
 	 * Creates a {@link Collection} which contains all {@link IMappingEntry}s that are causally
-	 * depend on the given sender {@link IDeployableComponentAdapter}.
+	 * depend on the given sender {@link ITaskAdapter}.
 	 */
 	private Collection<S> getSuccessorMappingEntries(T encoding, ISignalAdapter<?> emittedMessage) {
 		Collection<S> mappingEntriesOfSuccesors = new HashSet<S>();
-		Collection<IDeployableComponentAdapter<?>> realSuccessorComponents = new HashSet<>();
+		Collection<ITaskAdapter<?>> realSuccessorComponents = new HashSet<>();
 
-		for(IDeployableComponentAdapter<?> successorComponent : emittedMessage.getTargets()) {
+		for(ITaskAdapter<?> successorComponent : emittedMessage.getTargets()) {
 			if(successorComponent.isInstantiationRequired()) {
 				// Since the generated message refer to the components in the system model adapter,
 				// we must search the encoding for equivalent components in this special case
@@ -111,10 +111,10 @@ public class MessageGenerator<S extends TaskMappingEntry<IDeployableComponentAda
 			}
 		}
 
-		for(IDeployableComponentAdapter<?> successorComponent : realSuccessorComponents) {
-			Collection<IDeployableComponentAdapter<?>> encComps = filterSet(
+		for(ITaskAdapter<?> successorComponent : realSuccessorComponents) {
+			Collection<ITaskAdapter<?>> encComps = filterSet(
 					encoding.getRequesters(), c -> c.getObject() == successorComponent.getObject());
-			for(IDeployableComponentAdapter<?> encComp : encComps) {
+			for(ITaskAdapter<?> encComp : encComps) {
 				mappingEntriesOfSuccesors.addAll(encoding.getMappingEntriesOf(encComp));
 			}
 		}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings
index de0580d1..ee66f500 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/.ratings
@@ -1,2 +1,2 @@
 ScheduleRuntimeException.java d682adaaaff3d366cc6b55dd9c8e9c30bbc51152 RED
-SchedulerBase.java 693950060d2f589d00564a679e5258400e374201 RED
+SchedulerBase.java 91fa4c435adc47f068e1d4c28ba26d831117605d RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/SchedulerBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/SchedulerBase.java
index 9eb6bc8a..8de79db5 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/SchedulerBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/SchedulerBase.java
@@ -20,7 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.model.ExplorationSpecification;
 import org.fortiss.af3.exploration.model.ExplorationTarget;
@@ -42,10 +42,10 @@ public class SchedulerBase {
 	protected Collection<DeadlineConstraint> deadlines;
 
 	/** Contains the reference deployable component -> deadline value. */
-	protected Map<IDeployableComponentAdapter<?>, DeadlineConstraint> componentDeadlineSourceMap;
+	protected Map<ITaskAdapter<?>, DeadlineConstraint> componentDeadlineSourceMap;
 
 	/** Contains the reference deadline -> target component. */
-	protected Map<DeadlineConstraint, IDeployableComponentAdapter<?>> deadlineTargetComponent;
+	protected Map<DeadlineConstraint, ITaskAdapter<?>> deadlineTargetComponent;
 
 	/** Constructs a scheduler for a given input model. */
 	public SchedulerBase(SystemModelAdapter<?, ?, ?, ?, ?, ?> systemModelAdapter,
@@ -56,16 +56,16 @@ public class SchedulerBase {
 						.map(DeadlineConstraint.class::cast).collect(Collectors.toList());
 
 		componentDeadlineSourceMap =
-				new HashMap<IDeployableComponentAdapter<?>, DeadlineConstraint>();
-		deadlineTargetComponent = new HashMap<DeadlineConstraint, IDeployableComponentAdapter<?>>();
+				new HashMap<ITaskAdapter<?>, DeadlineConstraint>();
+		deadlineTargetComponent = new HashMap<DeadlineConstraint, ITaskAdapter<?>>();
 
 		createComponentDeadlineMap();
 	}
 
 	/**
-	 * Creates two maps that <li>relate a {@link IDeployableComponentAdapter} which is defined as
+	 * Creates two maps that <li>relate a {@link ITaskAdapter} which is defined as
 	 * the "source" of a deadline to its {@link DeadlineConstraint} and <li>a map that relates
-	 * {@link DeadlineConstraint}s with its "target" {@link IDeployableComponentAdapter}s.
+	 * {@link DeadlineConstraint}s with its "target" {@link ITaskAdapter}s.
 	 */
 	private void createComponentDeadlineMap() {
 		if(deadlines == null) {
@@ -73,7 +73,7 @@ public class SchedulerBase {
 		}
 
 		for(DeadlineConstraint currentDeadline : deadlines) {
-			for(IDeployableComponentAdapter<?> deployableComponent : systemModelAdapter
+			for(ITaskAdapter<?> deployableComponent : systemModelAdapter
 					.getDeployableComponents()) {
 				if(deployableComponent.getObject() == currentDeadline.getStartComponent()) {
 					componentDeadlineSourceMap.put(deployableComponent, currentDeadline);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings
index 76880c7d..0514a704 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/.ratings
@@ -1 +1 @@
-TDMABusScheduler.java b637503506b0a53020d35d3d944ec5d8c8f101bf RED
+TDMABusScheduler.java 815ef85024a6d99387a2a3d6d108e02fe31a601a RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/TDMABusScheduler.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/TDMABusScheduler.java
index ae189da1..4384a1b6 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/TDMABusScheduler.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/comm/TDMABusScheduler.java
@@ -38,7 +38,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedu
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule.ResourceSchedule;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.TimeSlot;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ICommunicationResourceAdapter;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IGatewayUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
@@ -96,7 +96,7 @@ public class TDMABusScheduler<S extends InstantiatedTaskMappingEntry, T extends
 				// Message is not schedulable (e.g. an RC message) --> Skip scheduling this message.
 				continue;
 			}
-			IDeployableComponentAdapter<?> senderComponent =
+			ITaskAdapter<?> senderComponent =
 					senderSlot.getDeployedRequester().getSource();
 			message.addMessageSenderTimeSlot(senderSlot);
 			emitableMessagesPerSlot.put(senderSlot, message);
@@ -105,7 +105,7 @@ public class TDMABusScheduler<S extends InstantiatedTaskMappingEntry, T extends
 				// consider this receiver here.
 				AcyclicTaskGraph correspondingTaskGraph =
 						acycItgEnc.getTaskGraphOf(senderComponent);
-				IDeployableComponentAdapter<?> receiverComponent = receiverEntry.getSource();
+				ITaskAdapter<?> receiverComponent = receiverEntry.getSource();
 				if(correspondingTaskGraph.getGraph().containsEdge(senderComponent,
 						receiverComponent)) {
 					TimeSlot recvTimeSlot = schedule.getTimeSlotOf(receiverEntry);
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings
index 0c173fae..671bc5a5 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/.ratings
@@ -1,3 +1,3 @@
-EDFSchedulerBase.java ccef414626ed16974de7a2524cf68fcef718fcb8 RED
-FailSilentEDFScheduler.java 121a3f20080cf87677e4cb6c695751ee7cf70cc9 RED
-FaultDetectionVotingEDFScheduler.java b16293a95822a802cf87ea88ecba7180913698c9 RED
+EDFSchedulerBase.java fdb939558fd2175e37da5d48c8a9e639bb68655a RED
+FailSilentEDFScheduler.java 288d361bd44dc5fc6c88c7e0c9cf224da976a665 RED
+FaultDetectionVotingEDFScheduler.java 4cb56434b52ca84bf574e668ee4c67760495fa7e RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/EDFSchedulerBase.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/EDFSchedulerBase.java
index 45bb7e32..d5bc7559 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/EDFSchedulerBase.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/EDFSchedulerBase.java
@@ -36,7 +36,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.InstantiatedTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.TimeSlot;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.AcyclicTaskGraph;
@@ -64,7 +64,7 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 	/** TODO SchedulingObject */
 	protected class SchedulingObject implements java.lang.Comparable<SchedulingObject>, Cloneable {
 		/** Scheduled deployable component */
-		protected IDeployableComponentAdapter<?> deployableComponent;
+		protected ITaskAdapter<?> deployableComponent;
 
 		/** Release time */
 		protected double release;
@@ -97,7 +97,7 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 		 * deadline.
 		 */
 		public SchedulingObject(SchedulingObjectComparator comparator,
-				IDeployableComponentAdapter<?> deployableComponent, double release,
+				ITaskAdapter<?> deployableComponent, double release,
 				double deadline) {
 			this.comparator = comparator;
 			this.deployableComponent = deployableComponent;
@@ -271,11 +271,11 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 			SortedSet<SchedulingObject> localReleaseQueue =
 					new TreeSet<SchedulingObject>(EDFTopologicalComparator);
 			int index = 0;
-			TopologicalOrderIterator<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge> iter =
-					new TopologicalOrderIterator<IDeployableComponentAdapter<?>, ChannelAdapterWeightedEdge>(
+			TopologicalOrderIterator<ITaskAdapter<?>, ChannelAdapterWeightedEdge> iter =
+					new TopologicalOrderIterator<ITaskAdapter<?>, ChannelAdapterWeightedEdge>(
 							taskGraph.getGraph());
 			while(iter.hasNext()) {
-				IDeployableComponentAdapter<?> deployableComponent = iter.next();
+				ITaskAdapter<?> deployableComponent = iter.next();
 				// create the instance of each hyper-period
 				for(int i = 0; i < systemModelAdapter.getHyperPeriod() /
 						taskGraph.getPeriod(); i++) {
@@ -289,7 +289,7 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 					// add the predecessor list
 					for(ChannelAdapterWeightedEdge edge : taskGraph.getGraph()
 							.incomingEdgesOf(deployableComponent)) {
-						IDeployableComponentAdapter<?> sourceComponent =
+						ITaskAdapter<?> sourceComponent =
 								taskGraph.getGraph().getEdgeSource(edge);
 						// look into the previous allocated scheduling objects
 						for(SchedulingObject pred : localReleaseQueue) {
@@ -358,8 +358,8 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 				new HashMap<IExecutionUnitAdapter<?>, Apfloat>();
 		// This map contains the information which scheduling object represents which
 		// IDeployableComponentAdapter
-		Map<IDeployableComponentAdapter<?>, SchedulingObject> schedulingComponentMap =
-				new HashMap<IDeployableComponentAdapter<?>, EDFSchedulerBase<S, T>.SchedulingObject>();
+		Map<ITaskAdapter<?>, SchedulingObject> schedulingComponentMap =
+				new HashMap<ITaskAdapter<?>, EDFSchedulerBase<S, T>.SchedulingObject>();
 		for(SchedulingObject obj : releaseQueueLocal) {
 			schedulingComponentMap.put(obj.deployableComponent, obj);
 		}
@@ -374,26 +374,26 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 		while(!readyQueue.isEmpty()) {
 			// Add and resort ready queue acc. to deadlines (they can appear dynamically after the
 			// execution of another component)
-			Collection<IDeployableComponentAdapter<?>> componentsWithDeadlines = Sets.intersection(
+			Collection<ITaskAdapter<?>> componentsWithDeadlines = Sets.intersection(
 					schedulingComponentMap.keySet(), componentDeadlineSourceMap.keySet());
 			if(!componentsWithDeadlines.isEmpty()) {
-				for(IDeployableComponentAdapter<?> currentDeadlineComponent : componentsWithDeadlines) {
+				for(ITaskAdapter<?> currentDeadlineComponent : componentsWithDeadlines) {
 					// Retrieve the IDeployableComponentAdapter that is the target of the current
 					// deadline.
 					// TODO: remove or abstract DeadlineConstraint here?
 					DeadlineConstraint currentDeadline =
 							componentDeadlineSourceMap.get(currentDeadlineComponent);
-					IDeployableComponentAdapter<?> targetDeployableComponent =
+					ITaskAdapter<?> targetDeployableComponent =
 							deadlineTargetComponent.get(currentDeadline);
 					TaskGraph tgOfDeadlineTarget =
 							systemModelAdapter.getAcyclicTaskGraph(targetDeployableComponent);
-					Collection<IDeployableComponentAdapter<?>> deadlineTargetPredescessors =
+					Collection<ITaskAdapter<?>> deadlineTargetPredescessors =
 							Graphs.predecessorListOf(tgOfDeadlineTarget.getGraph(),
 									targetDeployableComponent);
 
 					// TODO: Separate method to adjust readyQueue.
 					deadlineTargetPredescessors.add(targetDeployableComponent);
-					for(IDeployableComponentAdapter<?> currentPredessor : deadlineTargetPredescessors) {
+					for(ITaskAdapter<?> currentPredessor : deadlineTargetPredescessors) {
 						SchedulingObject predSchedObj =
 								schedulingComponentMap.get(currentPredessor);
 						if(predSchedObj != null && readyQueue.contains(predSchedObj)) {
@@ -542,11 +542,11 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 		return finishTime;
 	}
 
-	/** Returns the execution time for the given {@link IDeployableComponentAdapter}. */
+	/** Returns the execution time for the given {@link ITaskAdapter}. */
 	protected abstract Apfloat getExecutionTime(
 			TaskMappingEncoding<?, ? extends TaskMappingEntry<?, ?>> encoding,
 			InstantiatedAcyclicTaskGraphEncoding<S, ?> acycItgEnc,
-			IDeployableComponentAdapter<?> deployableComponent, S entry);
+			ITaskAdapter<?> deployableComponent, S entry);
 
 	/**
 	 * Registers the incoming inter-deployment target messages of a given deloyable component
@@ -564,6 +564,6 @@ public abstract class EDFSchedulerBase<S extends InstantiatedTaskMappingEntry, T
 	protected abstract Apfloat registerIncomingMessagesWithSchedule(T encoding,
 			InstantiatedAcyclicTaskGraphEncoding<S, ?> acycItgEnc, StrictTTSchedule<S, T> schedule,
 			Map<S, TimeSlot> mappingEntryToTimeSlot,
-			IDeployableComponentAdapter<?> deployableComponent, Apfloat starttime,
+			ITaskAdapter<?> deployableComponent, Apfloat starttime,
 			IExecutionUnitAdapter<?> deploymentTarget, long iteration, TimeSlot slot);
 }
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FailSilentEDFScheduler.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FailSilentEDFScheduler.java
index 71163898..73c52484 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FailSilentEDFScheduler.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FailSilentEDFScheduler.java
@@ -26,7 +26,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.FailSilentTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.TimeSlot;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.model.ExplorationSpecification;
@@ -54,7 +54,7 @@ public class FailSilentEDFScheduler
 	protected Apfloat getExecutionTime(
 			TaskMappingEncoding<?, ? extends TaskMappingEntry<?, ?>> encoding,
 			InstantiatedAcyclicTaskGraphEncoding<FailSilentTaskMappingEntry, ?> acycItgEnc,
-			IDeployableComponentAdapter<?> deployableComponent, FailSilentTaskMappingEntry entry) {
+			ITaskAdapter<?> deployableComponent, FailSilentTaskMappingEntry entry) {
 		Apfloat executiontime =
 				new Apfloat(deployableComponent.getWcet(entry.getTarget()), DOUBLE_PRECISION);
 		return executiontime;
@@ -66,7 +66,7 @@ public class FailSilentEDFScheduler
 			InstantiatedAcyclicTaskGraphEncoding<FailSilentTaskMappingEntry, ?> acycItgEnc,
 			StrictTTSchedule<FailSilentTaskMappingEntry, FailSilentTaskMappingEncoding> schedule,
 			Map<FailSilentTaskMappingEntry, TimeSlot> mappingEntryToTimeSlot,
-			IDeployableComponentAdapter<?> deployableComponent, Apfloat starttime,
+			ITaskAdapter<?> deployableComponent, Apfloat starttime,
 			IExecutionUnitAdapter<?> deploymentTarget, long iteration, TimeSlot slot) {
 		// TODO Auto-generated method stub
 		return Apcomplex.ZERO;
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FaultDetectionVotingEDFScheduler.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FaultDetectionVotingEDFScheduler.java
index ce73235a..1e838544 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FaultDetectionVotingEDFScheduler.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/sysmodel/sched/proc/FaultDetectionVotingEDFScheduler.java
@@ -25,7 +25,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.in
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.instantiatedmapping.FaultDetectionVotingTaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.TimeSlot;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.SystemModelAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.AcyclicTaskGraph;
@@ -61,14 +61,14 @@ public class FaultDetectionVotingEDFScheduler extends
 			InstantiatedAcyclicTaskGraphEncoding<FaultDetectionVotingTaskMappingEntry, ?> acycItgEnc,
 			StrictTTSchedule<FaultDetectionVotingTaskMappingEntry, FaultDetectionVotingTaskMappingEncoding> schedule,
 			Map<FaultDetectionVotingTaskMappingEntry, TimeSlot> mappingEntryToTimeSlot,
-			IDeployableComponentAdapter<?> receiver, Apfloat deployableComponentStartTime,
+			ITaskAdapter<?> receiver, Apfloat deployableComponentStartTime,
 			IExecutionUnitAdapter<?> deploymentTarget, long iteration, TimeSlot slot) {
 
 		Apfloat voterDelay = new Apfloat(0, DOUBLE_PRECISION);
 
 		AcyclicTaskGraph taskGraph = acycItgEnc.getTaskGraphOf(receiver);
 		for(ChannelAdapterWeightedEdge edge : taskGraph.getGraph().incomingEdgesOf(receiver)) {
-			IDeployableComponentAdapter<?> sender = taskGraph.getGraph().getEdgeSource(edge);
+			ITaskAdapter<?> sender = taskGraph.getGraph().getEdgeSource(edge);
 
 			// See if the sender has been replicated
 			// TODO: Remove the need to use the encoding here: can the information be obtained in
@@ -106,7 +106,7 @@ public class FaultDetectionVotingEDFScheduler extends
 	protected Apfloat getExecutionTime(
 			TaskMappingEncoding<?, ? extends TaskMappingEntry<?, ?>> encoding,
 			InstantiatedAcyclicTaskGraphEncoding<FaultDetectionVotingTaskMappingEntry, ?> acycItgEnc,
-			IDeployableComponentAdapter<?> deployableComponent,
+			ITaskAdapter<?> deployableComponent,
 			FaultDetectionVotingTaskMappingEntry entry) {
 
 		// Base execution time
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/.ratings
index 93fd2b47..ec946803 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/.ratings
@@ -1 +1 @@
-DSEPortingUtils.java a8044cf93f4757c49f7721ffcb9a8f3f87a0f5f3 RED
+DSEPortingUtils.java abdb9e06061ae3f6e22a6f1e00c0b8fe3c43153d RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/.ratings
index 1004ef81..18f2f895 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/.ratings
@@ -2,6 +2,6 @@ MessagePathOnClicked.java 985f075fabbd5e6aa796e5ef0c0e6a976a9e8571 RED
 ScheduleGanttRenderer.java 8c481d56ca65d6074f0340f2c7789bbe6e3a48e6 RED
 ScheduleLabelGenerator.java 595273570eef7ef53ba5a9efd4ab25133aded3a8 RED
 SchedulePlotter.java 71570960426800c1e2589dd05e538e9abb69f126 RED
-ScheduleToolTipGenerator.java 5265f9a8edb405ecc5959d54deee293d4897fc52 RED
+ScheduleToolTipGenerator.java 492b5f3469dc2ae7e57af39059c09bd0b64773ae RED
 TaskSeriesCollectionFromSchedule.java a945f60435ee3bfa908db211a4924963a6dcdfb2 RED
 XYPlotter.java 67d288da8431677636f08dbd2c19cbb6a40aeabe RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/ScheduleToolTipGenerator.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/ScheduleToolTipGenerator.java
index 99109c60..d1620c0a 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/ScheduleToolTipGenerator.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/port/plot/ScheduleToolTipGenerator.java
@@ -22,7 +22,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedu
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.StrictTTSchedule.ResourceSchedule;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.solution.TimeSlot;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ICommunicationResourceAdapter;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IExecutionUnitAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.comm.Message;
@@ -90,10 +90,10 @@ public class ScheduleToolTipGenerator extends StandardCategoryToolTipGenerator {
 
 				if(resource instanceof IExecutionUnitAdapter) {
 					if(currentSlot != null) {
-						IMappingEntry<IDeployableComponentAdapter<?>, ?> mappingEntry =
+						IMappingEntry<ITaskAdapter<?>, ?> mappingEntry =
 								currentSlot.getDeployedRequester();
 						if(mappingEntry != null) {
-							IDeployableComponentAdapter<?> component = mappingEntry.getSource();
+							ITaskAdapter<?> component = mappingEntry.getSource();
 							if(component != null) {
 								prevSlot.put(resource, currentSlot);
 								taskAndResourceName =
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/.ratings b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/.ratings
index eb301942..efee5ad0 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/.ratings
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/.ratings
@@ -1,7 +1,7 @@
-AF3Utils.java 32a99e6c777f54f31dd81e4771daf6067be1aa7e RED
+AF3Utils.java bbb1d95274ec4d8ae298193e195e81fc2a3aa74a RED
 DesignSpaceExplorationModelElementFactory.java 9dc330973f132c4b936e4dc7ee8407614faf2ff6 RED
-ExplorationAlgDebugUtils.java 74c0f408542f3656481173ee71a14dfef0a77814 RED
+ExplorationAlgDebugUtils.java 06116a61e99717a59b7b01e4e2865bf044a8a0e2 RED
 ExplorationAlgUtils.java 1deb317ed1d276e778fb64d207a1784a4919518b RED
 ExplorationEcoreUtils.java 48ed07aec3cd93e66d37abc10d50636d591f1c71 RED
-GraphUtils.java a1cec037a4d54bcf196dc5eebddc72b033993d6f RED
-TransformationUtils.java b077f7a695cecd66bfdb5c265e8875900bee137c RED
+GraphUtils.java 8b25592f30645f7709af527c72551f038a163833 RED
+TransformationUtils.java d26cb8932c3dc81e7c75694241496b96214fdb9f RED
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/AF3Utils.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/AF3Utils.java
index 35e1af1a..331da7f9 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/AF3Utils.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/AF3Utils.java
@@ -53,7 +53,7 @@ import org.fortiss.af3.deployment.model.Deployment;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.safetyfunctionarch.SafetyFunctionArchEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.TaskMappingEntry;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEntry;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IModelElementAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IResourceConnectionAdapter.ConnectionType;
@@ -594,19 +594,19 @@ public class AF3Utils {
 	/**
 	 * Returns the first identified <i>Component Pool</i> that is associated with the given
 	 * {@link ComponentArchitecture}. This method uses the set of diverse implementations of
-	 * {@link IDeployableComponentAdapter}s from the input {@link ComponentArchitecture} and returns
+	 * {@link ITaskAdapter}s from the input {@link ComponentArchitecture} and returns
 	 * its containing {@link ComponentArchitecture}. This method assumes that there exists maximally
 	 * one <i>Component Pool</i> per "actual" {@link ComponentArchitecture}.
 	 * 
 	 * @param mapping
-	 *            {@link IMappingEncoding} whose {@link IDeployableComponentAdapter}s referenced by
+	 *            {@link IMappingEncoding} whose {@link ITaskAdapter}s referenced by
 	 *            the {@link IMappingEntry}s are used to identify the <i>Component Pool</i>.
 	 * @return The {@link ComponentArchitecture} identified as the <i>Component Pool</i> or
 	 *         {@code null} if none is found.
 	 */
 	public static ComponentArchitecture getFirstComponentPool(
-			IMappingEncoding<IDeployableComponentAdapter<?>, IResourceAdapter<?>, IMappingEntry<IDeployableComponentAdapter<?>, IResourceAdapter<?>>> mapping) {
-		for(IDeployableComponentAdapter<?> deployableComponent : mapping.getRequesters()) {
+			IMappingEncoding<ITaskAdapter<?>, IResourceAdapter<?>, IMappingEntry<ITaskAdapter<?>, IResourceAdapter<?>>> mapping) {
+		for(ITaskAdapter<?> deployableComponent : mapping.getRequesters()) {
 			if(deployableComponent.isInstantiation()) {
 				// TODO: Avoid casting: Parameterize the IModelElementAdapter to use EObject-derived
 				// generics?
@@ -617,7 +617,7 @@ public class AF3Utils {
 					return parentCA;
 				}
 			} else if(deployableComponent.isInstantiationRequired()) {
-				for(IDeployableComponentAdapter<?> replacementComponent : deployableComponent
+				for(ITaskAdapter<?> replacementComponent : deployableComponent
 						.getReplacementComponents()) {
 					// TODO: Avoid casting: Parameterize the IModelElementAdapter to use
 					// EObject-derived generics?
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java
index adcf5a6c..4a635759 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/ExplorationAlgDebugUtils.java
@@ -29,7 +29,7 @@ import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.ab
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.genotype.ComposableGenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.ComposablePhenotype;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.extensions.compositegene.phenotype.CompositePhenotype;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry;
 import org.opt4j.core.genotype.CompositeGenotype;
 
@@ -44,9 +44,9 @@ public class ExplorationAlgDebugUtils {
 	/**
 	 * TBD.
 	 */
-	public static <E extends TaskMappingEntry<IDeployableComponentAdapter<?>, Partition>> boolean
+	public static <E extends TaskMappingEntry<ITaskAdapter<?>, Partition>> boolean
 			checkTaskMappingForSFConsistency(
-					TaskMappingEncoding<IDeployableComponentAdapter<?>, E> encoding) {
+					TaskMappingEncoding<ITaskAdapter<?>, E> encoding) {
 		// TODO #checking: Implement this method in a generic manner to check the number of channels
 		// of safety functions with the entry number in the allocation encodings.
 		Collection<E> sfEs = encoding.getMappingEntries().stream()
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/GraphUtils.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/GraphUtils.java
index 89b1093b..12f6e291 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/GraphUtils.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/GraphUtils.java
@@ -21,7 +21,7 @@ import static org.jgrapht.Graphs.successorListOf;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.taskgraph.TaskGraph;
 import org.jgrapht.DirectedGraph;
 import org.jgrapht.Graph;
@@ -61,15 +61,15 @@ public class GraphUtils {
 
 	/**
 	 * Returns the first found {@link TaskGraph} from the given collection that contains the given
-	 * {@link IDeployableComponentAdapter}.
+	 * {@link ITaskAdapter}.
 	 * 
 	 * @param vertex
-	 *            {@link IDeployableComponentAdapter} to search for.
+	 *            {@link ITaskAdapter} to search for.
 	 * @param graphCollection
 	 *            Collection of {@link TaskGraph}s to be examined.
 	 * @return First {@link TaskGraph} containing the given vertex.
 	 */
-	public static <T extends TaskGraph> T getGraphOf(IDeployableComponentAdapter<?> vertex,
+	public static <T extends TaskGraph> T getGraphOf(ITaskAdapter<?> vertex,
 			Collection<T> graphCollection) {
 		for(T graph : graphCollection) {
 			if(graph.containsTask(vertex)) {
@@ -84,19 +84,19 @@ public class GraphUtils {
 
 	/**
 	 * Returns the first found {@link TaskGraph} from the given collection that contains the given
-	 * {@link IDeployableComponentAdapter}. The {@link TaskGraph} is identified by comparing the
+	 * {@link ITaskAdapter}. The {@link TaskGraph} is identified by comparing the
 	 * referenced objects of the contained tasks, which must be in the same graphs by construction.
 	 * 
 	 * @param vertex
-	 *            {@link IDeployableComponentAdapter} to search for.
+	 *            {@link ITaskAdapter} to search for.
 	 * @param graphCollection
 	 *            Collection of {@link TaskGraph}s to be examined.
 	 * @return First {@link TaskGraph} containing the given vertex.
 	 */
-	public static <T extends TaskGraph> T getGraphByObjOf(IDeployableComponentAdapter<?> vertex,
+	public static <T extends TaskGraph> T getGraphByObjOf(ITaskAdapter<?> vertex,
 			Collection<T> graphCollection) {
 		for(T graph : graphCollection) {
-			for(IDeployableComponentAdapter<?> comp : graph.getTasks()) {
+			for(ITaskAdapter<?> comp : graph.getTasks()) {
 				if(comp.getObject() == vertex.getObject()) {
 					return graph;
 				}
diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/TransformationUtils.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/TransformationUtils.java
index 3354cb95..9d65c136 100644
--- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/TransformationUtils.java
+++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/TransformationUtils.java
@@ -41,7 +41,7 @@ import org.fortiss.af3.deployment.model.Deployment;
 import org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.abstractmapping.AbstractTaskMappingEncoding;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.EMFModelConcurrencyHandler;
 import org.fortiss.af3.exploration.alg.dse.modeltransformation.ITransformationModule;
-import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter;
+import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.ITaskAdapter;
 import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEncoding;
 import org.fortiss.af3.exploration.alg.exception.TransformationModuleException;
 import org.fortiss.af3.platform.model.PlatformArchitecture;
@@ -243,7 +243,7 @@ public class TransformationUtils {
 	}
 
 	/**
-	 * Returns the set of {@link IDeployableComponentAdapter}s that is defined by the given
+	 * Returns the set of {@link ITaskAdapter}s that is defined by the given
 	 * {@link IMappingEncoding}. This method is intended to be used within
 	 * {@link ITransformationModule}s.
 	 * 
@@ -251,20 +251,20 @@ public class TransformationUtils {
 	 *            Calling {@link ITransformationModule}.
 	 * @param mapping
 	 *            {@link IMappingEncoding} that encodes the deployed
-	 *            {@link IDeployableComponentAdapter}s.
-	 * @return Collection of deployable {@link IDeployableComponentAdapter}s.
+	 *            {@link ITaskAdapter}s.
+	 * @return Collection of deployable {@link ITaskAdapter}s.
 	 * @throws TransformationModuleException
-	 *             If one {@link IDeployableComponentAdapter} of the mapping does not wrap an AF3
+	 *             If one {@link ITaskAdapter} of the mapping does not wrap an AF3
 	 *             {@link Component} but any other object.
 	 */
-	public static Collection<IDeployableComponentAdapter<Component>> retrieveDeployableComponents(
+	public static Collection<ITaskAdapter<Component>> retrieveDeployableComponents(
 			ITransformationModule<?> tModule, AbstractTaskMappingEncoding mapping)
 			throws TransformationModuleException {
-		Collection<IDeployableComponentAdapter<Component>> deplCompAdps = new ArrayList<>();
-		for(IDeployableComponentAdapter<?> comp : mapping.getRequesters()) {
+		Collection<ITaskAdapter<Component>> deplCompAdps = new ArrayList<>();
+		for(ITaskAdapter<?> comp : mapping.getRequesters()) {
 			if(comp.getObject() instanceof Component) {
-				@SuppressWarnings("unchecked") IDeployableComponentAdapter<Component> castComp =
-						(IDeployableComponentAdapter<Component>)comp;
+				@SuppressWarnings("unchecked") ITaskAdapter<Component> castComp =
+						(ITaskAdapter<Component>)comp;
 				deplCompAdps.add(castComp);
 			} else {
 				throw new TransformationModuleException(tModule,
@@ -277,20 +277,20 @@ public class TransformationUtils {
 
 	/**
 	 * Returns a {@link Map} that associates the Components of the given Architecture with the
-	 * {@link IDeployableComponentAdapter}s from the exploration.
+	 * {@link ITaskAdapter}s from the exploration.
 	 * 
 	 * @throws TransformationModuleException
 	 *             if a {@link Component} from the original {@link ComponentArchitecture} cannot be
 	 *             associated with one, but only one, Component in the output architecture.
 	 */
 	// TODO: update doc.
-	public static Map<IDeployableComponentAdapter<Component>, Component> getDeployableComponentMap(
+	public static Map<ITaskAdapter<Component>, Component> getDeployableComponentMap(
 			ITransformationModule<?> tModule, Multimap<EObject, EObject> origToGenAssocMap,
-			Collection<IDeployableComponentAdapter<Component>> deplCompCollection)
+			Collection<ITaskAdapter<Component>> deplCompCollection)
 			throws TransformationModuleException {
-		Map<IDeployableComponentAdapter<Component>, Component> deployableComponentsOfReplicatedArch =
+		Map<ITaskAdapter<Component>, Component> deployableComponentsOfReplicatedArch =
 				new ConcurrentHashMap<>();
-		for(IDeployableComponentAdapter<Component> deployableComponent : deplCompCollection) {
+		for(ITaskAdapter<Component> deployableComponent : deplCompCollection) {
 			Component correspondingAF3Component = deployableComponent.getObject();
 			if(deployableComponent.isInstantiation()) {
 				correspondingAF3Component = deployableComponent.getReplacedComponent().getObject();
-- 
GitLab