Commit 91f42cb2 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

Exploration: DSE project MM improvements & DSE Backend Unification

| Exploration

- ExplorationSpecification
  - targets: non-contained (Migrator!)
  - Add superSet reference to pass required SuperSets to the DSE backend.
- Remove ExplorationSolution interface: No Migration needed.
- Rename ExplorationSolutionSet --> ExplorationSolution
  - Deprecated inputModelAdapter: No migration needed, only used in MOEA.
  - Renaming: targetSpecification --> explorationSpec
    - targetSpecification marked @deprecated
    - No mirgator needed: Class was not used in previous stable releases.
- Add EClass SuperSetMap: Relates types of elements to SuperSets
  - solution: EJavaClassToSuperSetMap (containment!)
- Add EClass EJavaClassToSuperSetMap: internal map of "SuperSetMap"
  - key: Class
  - Value: SuperSet (NO containment!)
- ExplorationSolution
  - Renamed solutionModelMap -> solutionSets
    (Type EJavaClassToEJavaObjectMap -> EJavaClassToSuperSetMap)
  - Adjust EOperations to modifications in backend map.
- SingleExplorationSolution
  - Add the solution state for single solutions.
  - Adjust EOperations to modifications in backend map.
- Removed EJavaClassToEJavaObjectMap

- DSE:
  - Add EReference target: ExplorationTarget (containment)
  - Remove explorationSpecification (Migrator!)
- Add an ExplorationTargetPool that contains all ExplorationTargets of a DSE
- DSERun:
  - Add EReference explorationSolution (containment)
  - Remove EReference visualization (Migrator!)
- Overwrite the accept method for the Sum expression: Do not return null if the
  associated set is empty, evaluate to Zero, instead.

New Migrators
- DSEExplorationTargetContainmentMigrator
  Migrates the set of explorationTargets to the DSE project
- VisualizationToExpSolutionMigrator:
  Migrates the Visualization data to the ExplorationSolution representation that
  allows a better traceability.
Other Business
- Adjust plugin.xml to account for recently removed Objective- and
  ConstraintExpression classes. Now, ExplorationObjective and
  ExplorationConstraint is used.
| Exploration.alg

- Adjust the Opt4JBackend to be comply to the new DSE Backend Specification
- The output type detection in the base decoder is more robust.
- The ITaskAdapter temporally references its corresponding component to ease
  the refactoring of the DSE backend interface. This shall not be needed when
  the transformation framework is integrated again.
- Temporally transform the internal solutions to a superset of
  ComponentToExecutionUnitAllocations to create s solution model. Workaround
  until the transformation framework is integrated again.
- Misc adjustment for backend changes.

| Exploration.smt

- Adjust the Z3Backend to be comply to the new DSE Backend Specification
- Base the results of the DeploymentRun2 and SolverRun2 on the
  ExplorationSolution (see above).

| Exploration.ui

- Adjust the GUI logic to account for the changed containment relations.
- Update the DSE project import wizard for the Meta-Model changes.
- Move the ExplorationSolutionVisualizationUtils class to the UI plugin (here).
  It is used to transform ExplorationSolutions to a Visualization representation
  (i.e., DataSetCollection).
- Use doubles instead of ints in the SpiderChartUtils. Although not a proper
  solution, this covers more cases... Instead the generic should be reflected.
refs 3273
parent bde84f59
......@@ -14,5 +14,5 @@ 5c134ea1a85d290b81634567def23b2f44e0f2ba GREEN 30cb9efa4872d9c5c60b4ad948685c912c5328cb GREEN 3229ea4857a09a4feec7c339fd8ed3bc440207bf GREEN 95107a0f1b761d86b5b69513be23388a36ba232e GREEN abaf22f9ac61b5450babc284da2e85fec5e2ddb5 GREEN 00f2eec586f978bdaaddfa03dd4261bbaef5beed YELLOW 38e199b6c11a330d749dfd4d5aaa53f0f42ecb63 GREEN
......@@ -57,12 +57,19 @@ public class VisualizationModelElementFactory {
/** Creates a visualization {@link DataSet}. */
public static DataSet createDataSet(List<DataPoint<?>> dataPoints) {
DataSet dataSet = VisualizationFactory.eINSTANCE.createDataSet();
public static DataSet createDataSet(List<DataPoint<?>> dataPoints, String name) {
DataSet dataSet = createDataSet(name);
return dataSet;
/** Creates an empty visualization {@link DataSet}. */
public static DataSet createDataSet(String name) {
DataSet dataSet = VisualizationFactory.eINSTANCE.createDataSet();
return dataSet;
/** Creates a visualization {@link DataSetCollection}. */
public static DataSetCollection createDataSetCollection(List<DataSet> dataSets,
......@@ -79,9 +86,4 @@ public class VisualizationModelElementFactory {
public static DataSetCollection createDataSetCollection() {
return VisualizationFactory.eINSTANCE.createDataSetCollection();
/** Creates an empty visualization {@link DataSet}. */
public static DataSet createDataSet() {
return VisualizationFactory.eINSTANCE.createDataSet();
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment