From 8c2851487d9c4f6e5fe68fa6323567d19a399309 Mon Sep 17 00:00:00 2001 From: Alexander Diewald <diewald@fortiss.org> Date: Wed, 14 Jun 2017 16:00:12 +0000 Subject: [PATCH] - Add the expression and containedTarget fields to the ExplorationTarget. --- .../trunk/model/explorationDsl.ecore | 2 +- .../trunk/model/explorationDsl.genmodel | 2 +- .../InternalIsolatedCommunicationSet.java | 24 +++++++++++++++++++ .../InternalReplicationConstraint.java | 24 +++++++++++++++++++ .../InternalSeparationConstraint.java | 24 +++++++++++++++++++ .../opt4j/problem/EvaluatorWrapper.java | 2 +- ...gnSpaceExplorationModelElementFactory.java | 4 ++-- .../impl/LocationConstraintStaticImpl.java | 2 +- .../impl/DeadlineConstraintStaticImpl.java | 4 ++-- .../time/impl/PeriodConstraintStaticImpl.java | 4 ++-- .../impl/FailureMinObjectiveStaticImpl.java | 4 ++-- ...onExplorationTagetModelElementFactory.java | 12 +++++----- 12 files changed, 90 insertions(+), 18 deletions(-) diff --git a/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.ecore b/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.ecore index 3d27d76a..446a2ec4 100644 --- a/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.ecore +++ b/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.ecore @@ -6,7 +6,7 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="DEPRECATED/LEGACY."/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//expressions/Expression" + <eStructuralFeatures xsi:type="ecore:EReference" name="moeaExpression" eType="#//expressions/Expression" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="DEPRECATED/LEGACY."/> diff --git a/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.genmodel b/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.genmodel index 0c09a3b3..648be71e 100644 --- a/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.genmodel +++ b/org.fortiss.af3.exploration.alg/trunk/model/explorationDsl.genmodel @@ -11,7 +11,7 @@ <genPackages prefix="Model" basePackage="org.fortiss.af3.exploration.dsl" disposableProviderFactory="true" ecorePackage="explorationDsl.ecore#/"> <genClasses image="false" ecoreClass="explorationDsl.ecore#//MOEAExplorationExpression"> - <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference explorationDsl.ecore#//MOEAExplorationExpression/expression"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference explorationDsl.ecore#//MOEAExplorationExpression/moeaExpression"/> </genClasses> <nestedGenPackages prefix="Operators" basePackage="org.fortiss.af3.exploration.dsl.model" disposableProviderFactory="true" ecorePackage="explorationDsl.ecore#//operators"> diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/InternalIsolatedCommunicationSet.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/InternalIsolatedCommunicationSet.java index bb688382..b6f0bedd 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/InternalIsolatedCommunicationSet.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/encoding/comm/constraint/InternalIsolatedCommunicationSet.java @@ -23,9 +23,12 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.impl.EObjectImpl; import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry; +import org.fortiss.af3.exploration.dsl_v2.model.expression.IExpression; import org.fortiss.af3.exploration.model.ExplorationConstraint; +import org.fortiss.af3.exploration.model.ExplorationTarget; /** * DSE-internal {@link ExplorationConstraint} that marks a group of {@link IMappingEntry}s that are @@ -162,4 +165,25 @@ public class InternalIsolatedCommunicationSet extends EObjectImpl implements public Object clone() { return new InternalIsolatedCommunicationSet(this); } + + /** {@inheritDoc} */ + @Override + public IExpression getExpression() { + // TODO Auto-generated method stub + return null; + } + + /** {@inheritDoc} */ + @Override + public void setExpression(IExpression value) { + // TODO Auto-generated method stub + + } + + /** {@inheritDoc} */ + @Override + public EList<ExplorationTarget<Boolean>> getContainedTargets() { + // TODO Auto-generated method stub + return null; + } } 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 40ba57fb..229f2d70 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,10 +17,13 @@ $Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $ +--------------------------------------------------------------------------*/ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.constraint; +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.IRequestAdapter; +import org.fortiss.af3.exploration.dsl_v2.model.expression.IExpression; import org.fortiss.af3.exploration.model.ExplorationConstraint; +import org.fortiss.af3.exploration.model.ExplorationTarget; /** * DSE-internal constraint to define the bounds for the number of replica of an @@ -155,4 +158,25 @@ public class InternalReplicationConstraint extends EObjectImpl implements public Object clone() { return new InternalReplicationConstraint(this); } + + /** {@inheritDoc} */ + @Override + public IExpression getExpression() { + // TODO Auto-generated method stub + return null; + } + + /** {@inheritDoc} */ + @Override + public void setExpression(IExpression value) { + // TODO Auto-generated method stub + + } + + /** {@inheritDoc} */ + @Override + public EList<ExplorationTarget<Boolean>> getContainedTargets() { + // TODO Auto-generated method stub + return null; + } } 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 7aecd613..c44dfaa9 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,11 +19,14 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.c 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.IRequestAdapter; import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry; +import org.fortiss.af3.exploration.dsl_v2.model.expression.IExpression; import org.fortiss.af3.exploration.model.ExplorationConstraint; +import org.fortiss.af3.exploration.model.ExplorationTarget; import org.fortiss.af3.platform.model.IPlatformResource; /** @@ -148,4 +151,25 @@ public class InternalSeparationConstraint extends EObjectImpl implements public Object clone() { return new InternalSeparationConstraint(this); } + + /** {@inheritDoc} */ + @Override + public IExpression getExpression() { + // TODO Auto-generated method stub + return null; + } + + /** {@inheritDoc} */ + @Override + public void setExpression(IExpression value) { + // TODO Auto-generated method stub + + } + + /** {@inheritDoc} */ + @Override + public EList<ExplorationTarget<Boolean>> getContainedTargets() { + // TODO Auto-generated method stub + return null; + } } diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java index dfe0edba..0484806a 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/dse/backend/opt4j/problem/EvaluatorWrapper.java @@ -71,7 +71,7 @@ public class EvaluatorWrapper<P, RT, T extends ExplorationTarget<RT>> implements // "optimization direction" (min/max) in case of constraints. They default to minimization. OptimizationDirectionEnum direction = OptimizationDirectionEnum.MIN; if(goal instanceof MOEAExplorationExpression) { - Expression moExpr = ((MOEAExplorationExpression)goal).getExpression(); + Expression moExpr = ((MOEAExplorationExpression)goal).getMoeaExpression(); if(moExpr instanceof OptimizationDirection) { direction = ((OptimizationDirection)moExpr).getOperator(); } diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/DesignSpaceExplorationModelElementFactory.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/DesignSpaceExplorationModelElementFactory.java index 030baef5..c2979440 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/DesignSpaceExplorationModelElementFactory.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/alg/util/DesignSpaceExplorationModelElementFactory.java @@ -157,7 +157,7 @@ public class DesignSpaceExplorationModelElementFactory { energyObjective.setPriority(0); ObjectiveExpression optExpr = createObjectiveExpression(OptimizationDirectionEnum.MIN); optExpr.setRight(createEnergyConsumptionSumExpression()); - energyObjective.setExpression(optExpr); + energyObjective.setMoeaExpression(optExpr); return energyObjective; } @@ -196,7 +196,7 @@ public class DesignSpaceExplorationModelElementFactory { failureMinObjective.setName("Failure Minimization"); failureMinObjective.setType(FailureType.ALL); failureMinObjective.setPriority(1); - failureMinObjective.setExpression(createFailureMinExpression()); + failureMinObjective.setMoeaExpression(createFailureMinExpression()); return failureMinObjective; } diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/location/impl/LocationConstraintStaticImpl.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/location/impl/LocationConstraintStaticImpl.java index 72c207e6..5548e42b 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/location/impl/LocationConstraintStaticImpl.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/location/impl/LocationConstraintStaticImpl.java @@ -79,7 +79,7 @@ public class LocationConstraintStaticImpl { if(locConstraint == null) { return null; } - Expression expr = locConstraint.getExpression(); + Expression expr = locConstraint.getMoeaExpression(); if(expr instanceof LocationPattern) { Expression lpExpr = ((LocationPattern<?, ?>)expr).getExpression(); if(lpExpr instanceof LocationOp) { diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/DeadlineConstraintStaticImpl.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/DeadlineConstraintStaticImpl.java index 474a1d43..a1bf4605 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/DeadlineConstraintStaticImpl.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/DeadlineConstraintStaticImpl.java @@ -181,9 +181,9 @@ public class DeadlineConstraintStaticImpl { return null; } - if(constr.getExpression() instanceof ConstraintExpression) { + if(constr.getMoeaExpression() instanceof ConstraintExpression) { @SuppressWarnings("unchecked") ConstraintExpression<BooleanExpression> cExpr = - (ConstraintExpression<BooleanExpression>)constr.getExpression(); + (ConstraintExpression<BooleanExpression>)constr.getMoeaExpression(); if(cExpr.getExpression() instanceof TwoPropertyValueComparison) { // Type Parameter enforced by access methods. @SuppressWarnings("unchecked") TwoPropertyValueComparison<Double, Component, Component> compExpr = diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/PeriodConstraintStaticImpl.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/PeriodConstraintStaticImpl.java index 42184efc..0c1acb69 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/PeriodConstraintStaticImpl.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/model/time/impl/PeriodConstraintStaticImpl.java @@ -120,8 +120,8 @@ public class PeriodConstraintStaticImpl { if(constr == null) { return null; } - if(constr.getExpression() instanceof ConstraintExpression<?>) { - ConstraintExpression<?> expr = (ConstraintExpression<?>)constr.getExpression(); + if(constr.getMoeaExpression() instanceof ConstraintExpression<?>) { + ConstraintExpression<?> expr = (ConstraintExpression<?>)constr.getMoeaExpression(); if(expr instanceof SinglePropValueComparison) { SinglePropValueComparison<Double, Component> svCompExpr = (SinglePropValueComparison<Double, Component>)expr.getExpression(); diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/moea/model/predefined/impl/FailureMinObjectiveStaticImpl.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/moea/model/predefined/impl/FailureMinObjectiveStaticImpl.java index 669320ec..6f68fd0c 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/moea/model/predefined/impl/FailureMinObjectiveStaticImpl.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/moea/model/predefined/impl/FailureMinObjectiveStaticImpl.java @@ -71,8 +71,8 @@ public class FailureMinObjectiveStaticImpl { return null; } // Walk the expressions until the ReliabilityAnalysis is found (hardcoded). - if(objective.getExpression() instanceof ObjectiveExpression) { - ObjectiveExpression expr = (ObjectiveExpression)objective.getExpression(); + if(objective.getMoeaExpression() instanceof ObjectiveExpression) { + ObjectiveExpression expr = (ObjectiveExpression)objective.getMoeaExpression(); ArithmeticExpression<?> aExpr = expr.getRight(); if(aExpr instanceof ReliabilityAnalysis) { return (ReliabilityAnalysis)aExpr; diff --git a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/util/CommonExplorationTagetModelElementFactory.java b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/util/CommonExplorationTagetModelElementFactory.java index c67b8d7e..8c76967a 100644 --- a/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/util/CommonExplorationTagetModelElementFactory.java +++ b/org.fortiss.af3.exploration.alg/trunk/src/org/fortiss/af3/exploration/util/CommonExplorationTagetModelElementFactory.java @@ -58,7 +58,7 @@ public class CommonExplorationTagetModelElementFactory { ExecutionUnit execUnit) { ComponentAllocationConstraint cAllocConstr = createComponentAllocationConstraint(); // Construct the corresponding Expression via the LocationPattern. - cAllocConstr.setExpression(createLocationPattern(comp, LocationOperatorEnum.ALLOCATION, + cAllocConstr.setMoeaExpression(createLocationPattern(comp, LocationOperatorEnum.ALLOCATION, execUnit)); return cAllocConstr; } @@ -76,8 +76,8 @@ public class CommonExplorationTagetModelElementFactory { Component comp, ExecutionUnit execUnit) { ComponentDislocationConstraint cDislocConstr = createComponentDislocationConstraint(); // Construct the corresponding Expression via the LocationPattern. - cDislocConstr.setExpression(createLocationPattern(comp, LocationOperatorEnum.DISLOCATION, - execUnit)); + cDislocConstr.setMoeaExpression(createLocationPattern(comp, + LocationOperatorEnum.DISLOCATION, execUnit)); return cDislocConstr; } @@ -108,7 +108,7 @@ public class CommonExplorationTagetModelElementFactory { ConstraintExpression<TwoPropertyValueComparison<Double, Component, Component>> cExpr = ExplorationDslModelElementFactory.createConstraintExpression(null, null, twoPropValExpr); - deadlineConstr.setExpression(cExpr); + deadlineConstr.setMoeaExpression(cExpr); return deadlineConstr; } @@ -122,7 +122,7 @@ public class CommonExplorationTagetModelElementFactory { ConstraintExpression<SinglePropValueComparison<Double, Component>> cExpr = ExplorationDslModelElementFactory.createConstraintExpression(null, null, singlePropValExpr); - periodConstr.setExpression(cExpr); + periodConstr.setMoeaExpression(cExpr); return periodConstr; } @@ -131,7 +131,7 @@ public class CommonExplorationTagetModelElementFactory { LocationPattern<Component, ExecutionUnit> locationPattern) { LocationConstraint<Component, ExecutionUnit> createLocationConstraint = LocationFactory.eINSTANCE.createLocationConstraint(); - createLocationConstraint.setExpression(locationPattern); + createLocationConstraint.setMoeaExpression(locationPattern); return createLocationConstraint; } } -- GitLab