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