Skip to content
Snippets Groups Projects
Commit 8c285148 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

- Add the expression and containedTarget fields to the ExplorationTarget.

parent 7aaff286
No related branches found
No related tags found
No related merge requests found
Showing
with 90 additions and 18 deletions
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="DEPRECATED/LEGACY."/> <details key="documentation" value="DEPRECATED/LEGACY."/>
</eAnnotations> </eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//expressions/Expression" <eStructuralFeatures xsi:type="ecore:EReference" name="moeaExpression" eType="#//expressions/Expression"
containment="true"> containment="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="DEPRECATED/LEGACY."/> <details key="documentation" value="DEPRECATED/LEGACY."/>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<genPackages prefix="Model" basePackage="org.fortiss.af3.exploration.dsl" disposableProviderFactory="true" <genPackages prefix="Model" basePackage="org.fortiss.af3.exploration.dsl" disposableProviderFactory="true"
ecorePackage="explorationDsl.ecore#/"> ecorePackage="explorationDsl.ecore#/">
<genClasses image="false" ecoreClass="explorationDsl.ecore#//MOEAExplorationExpression"> <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> </genClasses>
<nestedGenPackages prefix="Operators" basePackage="org.fortiss.af3.exploration.dsl.model" <nestedGenPackages prefix="Operators" basePackage="org.fortiss.af3.exploration.dsl.model"
disposableProviderFactory="true" ecorePackage="explorationDsl.ecore#//operators"> disposableProviderFactory="true" ecorePackage="explorationDsl.ecore#//operators">
......
...@@ -23,9 +23,12 @@ import java.util.Map; ...@@ -23,9 +23,12 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.impl.EObjectImpl; import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.fortiss.af3.exploration.alg.dse.sysmodel.mapping.IMappingEntry; 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.ExplorationConstraint;
import org.fortiss.af3.exploration.model.ExplorationTarget;
/** /**
* DSE-internal {@link ExplorationConstraint} that marks a group of {@link IMappingEntry}s that are * DSE-internal {@link ExplorationConstraint} that marks a group of {@link IMappingEntry}s that are
...@@ -162,4 +165,25 @@ public class InternalIsolatedCommunicationSet extends EObjectImpl implements ...@@ -162,4 +165,25 @@ public class InternalIsolatedCommunicationSet extends EObjectImpl implements
public Object clone() { public Object clone() {
return new InternalIsolatedCommunicationSet(this); 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;
}
} }
...@@ -17,10 +17,13 @@ $Id: codetemplates.xml 1 2011-01-01 00:00:01Z hoelzl $ ...@@ -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; 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.eclipse.emf.ecore.impl.EObjectImpl;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IDeployableComponentAdapter; 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.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.ExplorationConstraint;
import org.fortiss.af3.exploration.model.ExplorationTarget;
/** /**
* DSE-internal constraint to define the bounds for the number of replica of an * DSE-internal constraint to define the bounds for the number of replica of an
...@@ -155,4 +158,25 @@ public class InternalReplicationConstraint extends EObjectImpl implements ...@@ -155,4 +158,25 @@ public class InternalReplicationConstraint extends EObjectImpl implements
public Object clone() { public Object clone() {
return new InternalReplicationConstraint(this); 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;
}
} }
...@@ -19,11 +19,14 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.c ...@@ -19,11 +19,14 @@ package org.fortiss.af3.exploration.alg.dse.backend.opt4j.encoding.taskmapping.c
import java.util.Collection; import java.util.Collection;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.impl.EObjectImpl; 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.IDeployableComponentAdapter;
import org.fortiss.af3.exploration.alg.dse.sysmodel.arch.IRequestAdapter; 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.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.ExplorationConstraint;
import org.fortiss.af3.exploration.model.ExplorationTarget;
import org.fortiss.af3.platform.model.IPlatformResource; import org.fortiss.af3.platform.model.IPlatformResource;
/** /**
...@@ -148,4 +151,25 @@ public class InternalSeparationConstraint extends EObjectImpl implements ...@@ -148,4 +151,25 @@ public class InternalSeparationConstraint extends EObjectImpl implements
public Object clone() { public Object clone() {
return new InternalSeparationConstraint(this); 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;
}
} }
...@@ -71,7 +71,7 @@ public class EvaluatorWrapper<P, RT, T extends ExplorationTarget<RT>> implements ...@@ -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. // "optimization direction" (min/max) in case of constraints. They default to minimization.
OptimizationDirectionEnum direction = OptimizationDirectionEnum.MIN; OptimizationDirectionEnum direction = OptimizationDirectionEnum.MIN;
if(goal instanceof MOEAExplorationExpression) { if(goal instanceof MOEAExplorationExpression) {
Expression moExpr = ((MOEAExplorationExpression)goal).getExpression(); Expression moExpr = ((MOEAExplorationExpression)goal).getMoeaExpression();
if(moExpr instanceof OptimizationDirection) { if(moExpr instanceof OptimizationDirection) {
direction = ((OptimizationDirection)moExpr).getOperator(); direction = ((OptimizationDirection)moExpr).getOperator();
} }
......
...@@ -157,7 +157,7 @@ public class DesignSpaceExplorationModelElementFactory { ...@@ -157,7 +157,7 @@ public class DesignSpaceExplorationModelElementFactory {
energyObjective.setPriority(0); energyObjective.setPriority(0);
ObjectiveExpression optExpr = createObjectiveExpression(OptimizationDirectionEnum.MIN); ObjectiveExpression optExpr = createObjectiveExpression(OptimizationDirectionEnum.MIN);
optExpr.setRight(createEnergyConsumptionSumExpression()); optExpr.setRight(createEnergyConsumptionSumExpression());
energyObjective.setExpression(optExpr); energyObjective.setMoeaExpression(optExpr);
return energyObjective; return energyObjective;
} }
...@@ -196,7 +196,7 @@ public class DesignSpaceExplorationModelElementFactory { ...@@ -196,7 +196,7 @@ public class DesignSpaceExplorationModelElementFactory {
failureMinObjective.setName("Failure Minimization"); failureMinObjective.setName("Failure Minimization");
failureMinObjective.setType(FailureType.ALL); failureMinObjective.setType(FailureType.ALL);
failureMinObjective.setPriority(1); failureMinObjective.setPriority(1);
failureMinObjective.setExpression(createFailureMinExpression()); failureMinObjective.setMoeaExpression(createFailureMinExpression());
return failureMinObjective; return failureMinObjective;
} }
......
...@@ -79,7 +79,7 @@ public class LocationConstraintStaticImpl { ...@@ -79,7 +79,7 @@ public class LocationConstraintStaticImpl {
if(locConstraint == null) { if(locConstraint == null) {
return null; return null;
} }
Expression expr = locConstraint.getExpression(); Expression expr = locConstraint.getMoeaExpression();
if(expr instanceof LocationPattern) { if(expr instanceof LocationPattern) {
Expression lpExpr = ((LocationPattern<?, ?>)expr).getExpression(); Expression lpExpr = ((LocationPattern<?, ?>)expr).getExpression();
if(lpExpr instanceof LocationOp) { if(lpExpr instanceof LocationOp) {
......
...@@ -181,9 +181,9 @@ public class DeadlineConstraintStaticImpl { ...@@ -181,9 +181,9 @@ public class DeadlineConstraintStaticImpl {
return null; return null;
} }
if(constr.getExpression() instanceof ConstraintExpression) { if(constr.getMoeaExpression() instanceof ConstraintExpression) {
@SuppressWarnings("unchecked") ConstraintExpression<BooleanExpression> cExpr = @SuppressWarnings("unchecked") ConstraintExpression<BooleanExpression> cExpr =
(ConstraintExpression<BooleanExpression>)constr.getExpression(); (ConstraintExpression<BooleanExpression>)constr.getMoeaExpression();
if(cExpr.getExpression() instanceof TwoPropertyValueComparison) { if(cExpr.getExpression() instanceof TwoPropertyValueComparison) {
// Type Parameter enforced by access methods. // Type Parameter enforced by access methods.
@SuppressWarnings("unchecked") TwoPropertyValueComparison<Double, Component, Component> compExpr = @SuppressWarnings("unchecked") TwoPropertyValueComparison<Double, Component, Component> compExpr =
......
...@@ -120,8 +120,8 @@ public class PeriodConstraintStaticImpl { ...@@ -120,8 +120,8 @@ public class PeriodConstraintStaticImpl {
if(constr == null) { if(constr == null) {
return null; return null;
} }
if(constr.getExpression() instanceof ConstraintExpression<?>) { if(constr.getMoeaExpression() instanceof ConstraintExpression<?>) {
ConstraintExpression<?> expr = (ConstraintExpression<?>)constr.getExpression(); ConstraintExpression<?> expr = (ConstraintExpression<?>)constr.getMoeaExpression();
if(expr instanceof SinglePropValueComparison) { if(expr instanceof SinglePropValueComparison) {
SinglePropValueComparison<Double, Component> svCompExpr = SinglePropValueComparison<Double, Component> svCompExpr =
(SinglePropValueComparison<Double, Component>)expr.getExpression(); (SinglePropValueComparison<Double, Component>)expr.getExpression();
......
...@@ -71,8 +71,8 @@ public class FailureMinObjectiveStaticImpl { ...@@ -71,8 +71,8 @@ public class FailureMinObjectiveStaticImpl {
return null; return null;
} }
// Walk the expressions until the ReliabilityAnalysis is found (hardcoded). // Walk the expressions until the ReliabilityAnalysis is found (hardcoded).
if(objective.getExpression() instanceof ObjectiveExpression) { if(objective.getMoeaExpression() instanceof ObjectiveExpression) {
ObjectiveExpression expr = (ObjectiveExpression)objective.getExpression(); ObjectiveExpression expr = (ObjectiveExpression)objective.getMoeaExpression();
ArithmeticExpression<?> aExpr = expr.getRight(); ArithmeticExpression<?> aExpr = expr.getRight();
if(aExpr instanceof ReliabilityAnalysis) { if(aExpr instanceof ReliabilityAnalysis) {
return (ReliabilityAnalysis)aExpr; return (ReliabilityAnalysis)aExpr;
......
...@@ -58,7 +58,7 @@ public class CommonExplorationTagetModelElementFactory { ...@@ -58,7 +58,7 @@ public class CommonExplorationTagetModelElementFactory {
ExecutionUnit execUnit) { ExecutionUnit execUnit) {
ComponentAllocationConstraint cAllocConstr = createComponentAllocationConstraint(); ComponentAllocationConstraint cAllocConstr = createComponentAllocationConstraint();
// Construct the corresponding Expression via the LocationPattern. // Construct the corresponding Expression via the LocationPattern.
cAllocConstr.setExpression(createLocationPattern(comp, LocationOperatorEnum.ALLOCATION, cAllocConstr.setMoeaExpression(createLocationPattern(comp, LocationOperatorEnum.ALLOCATION,
execUnit)); execUnit));
return cAllocConstr; return cAllocConstr;
} }
...@@ -76,8 +76,8 @@ public class CommonExplorationTagetModelElementFactory { ...@@ -76,8 +76,8 @@ public class CommonExplorationTagetModelElementFactory {
Component comp, ExecutionUnit execUnit) { Component comp, ExecutionUnit execUnit) {
ComponentDislocationConstraint cDislocConstr = createComponentDislocationConstraint(); ComponentDislocationConstraint cDislocConstr = createComponentDislocationConstraint();
// Construct the corresponding Expression via the LocationPattern. // Construct the corresponding Expression via the LocationPattern.
cDislocConstr.setExpression(createLocationPattern(comp, LocationOperatorEnum.DISLOCATION, cDislocConstr.setMoeaExpression(createLocationPattern(comp,
execUnit)); LocationOperatorEnum.DISLOCATION, execUnit));
return cDislocConstr; return cDislocConstr;
} }
...@@ -108,7 +108,7 @@ public class CommonExplorationTagetModelElementFactory { ...@@ -108,7 +108,7 @@ public class CommonExplorationTagetModelElementFactory {
ConstraintExpression<TwoPropertyValueComparison<Double, Component, Component>> cExpr = ConstraintExpression<TwoPropertyValueComparison<Double, Component, Component>> cExpr =
ExplorationDslModelElementFactory.createConstraintExpression(null, null, ExplorationDslModelElementFactory.createConstraintExpression(null, null,
twoPropValExpr); twoPropValExpr);
deadlineConstr.setExpression(cExpr); deadlineConstr.setMoeaExpression(cExpr);
return deadlineConstr; return deadlineConstr;
} }
...@@ -122,7 +122,7 @@ public class CommonExplorationTagetModelElementFactory { ...@@ -122,7 +122,7 @@ public class CommonExplorationTagetModelElementFactory {
ConstraintExpression<SinglePropValueComparison<Double, Component>> cExpr = ConstraintExpression<SinglePropValueComparison<Double, Component>> cExpr =
ExplorationDslModelElementFactory.createConstraintExpression(null, null, ExplorationDslModelElementFactory.createConstraintExpression(null, null,
singlePropValExpr); singlePropValExpr);
periodConstr.setExpression(cExpr); periodConstr.setMoeaExpression(cExpr);
return periodConstr; return periodConstr;
} }
...@@ -131,7 +131,7 @@ public class CommonExplorationTagetModelElementFactory { ...@@ -131,7 +131,7 @@ public class CommonExplorationTagetModelElementFactory {
LocationPattern<Component, ExecutionUnit> locationPattern) { LocationPattern<Component, ExecutionUnit> locationPattern) {
LocationConstraint<Component, ExecutionUnit> createLocationConstraint = LocationConstraint<Component, ExecutionUnit> createLocationConstraint =
LocationFactory.eINSTANCE.createLocationConstraint(); LocationFactory.eINSTANCE.createLocationConstraint();
createLocationConstraint.setExpression(locationPattern); createLocationConstraint.setMoeaExpression(locationPattern);
return createLocationConstraint; return createLocationConstraint;
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment