Commit ad8c33d9 authored by Alexander Diewald's avatar Alexander Diewald
Browse files

YELLOW

Issue-Ref: 3791
Issue-Url: https://af3-developer.fortiss.org/issues/3791

Signed-off-by: Alexander Diewald's avatarAlexander Diewald <diewald@fortiss.org>
parent ae7d969f
GanttComposite.java c68c5336aff3f563cf35d113b9c876586a88080a GREEN
GanttScheduleVisualization.java fe781c4c1ddff5f3209050c1f6b9840b3c1c014f GREEN
GanttScheduleVisualization.java 9fd525f620a2a59d31e541093ba695b01dea01c7 YELLOW
......@@ -17,6 +17,8 @@ package org.fortiss.af3.exploration.ui.perspective.visualization.visualizations.
import static java.util.Arrays.asList;
import static org.fortiss.af3.exploration.util.ExplorationUtils.getRootElementsFromSnaps;
import static org.fortiss.af3.exploration.util.ExplorationUtils.getSelectedSolutionSets;
import static org.fortiss.af3.exploration.util.ExplorationUtils.getSelectedSolutions;
import java.util.ArrayList;
import java.util.Collection;
......@@ -25,6 +27,7 @@ import java.util.List;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.fortiss.af3.exploration.model.SuperSetMap;
import org.fortiss.af3.exploration.model.project.DSE;
import org.fortiss.af3.exploration.model.project.ExplorationStep;
import org.fortiss.af3.exploration.model.project.ProcessStep;
......@@ -40,6 +43,7 @@ import org.fortiss.af3.exploration.ui.perspective.service.IEventListener;
import org.fortiss.af3.exploration.ui.perspective.visualization.visualizations.IVisualizationView;
import org.fortiss.af3.schedule.model.ResourceAllocation;
import org.fortiss.af3.schedule.model.SystemSchedule;
import org.fortiss.tooling.base.model.element.IModelElement;
import org.fortiss.tooling.kernel.model.IProjectRootElement;
/**
......@@ -81,9 +85,21 @@ public final class GanttScheduleVisualization implements IVisualizationView, IEv
ProcessStep currentStep = dse.getCurrentStep();
Collection<IProjectRootElement> inputModels = getRootElementsFromSnaps(currentStep,
(new ScheduleConverter()).getRequiredInputCopies());
DSESolutionArtifacts solArtifacts = new DSESolutionArtifacts(inputModels, solution);
solArtifacts = IDSESolutionExporterService.getInstance()
.transform(asList(ResourceAllocation.class), solArtifacts, "temp");
List<SingleExplorationSolution> solutions = new ArrayList<>(asList(solution));
solutions.addAll(getSelectedSolutions(currentStep));
DSESolutionArtifacts solArtifacts =
new DSESolutionArtifacts(inputModels, solutions);
// Define the set of generated artifact types: We must construct the set of
// SuperSets from previous solutions here to know which converters must be launched.
SuperSetMap solutionSets = getSelectedSolutionSets(currentStep);
Collection<Class<? extends IModelElement>> solutionTypes =
new ArrayList<>(solutionSets.keySet());
solutionTypes.add(ResourceAllocation.class);
// Perform the transformation.
solArtifacts = IDSESolutionExporterService.getInstance().transform(solutionTypes,
solArtifacts, "temp");
// Present the transformed schedule.
SystemSchedule solutionSchedule =
......
dseml.ecore 7d40e97f4d0bcebc825455b334c7109573896cff GREEN
exploration.ecore 0c7123515319b80c8030d9990ca762ca8037d8d0 RED
exploration.ecore ef51b38d08dfef3d29577c8ac941bcec7ef42009 YELLOW
......@@ -816,14 +816,20 @@
</eSubpackages>
<eSubpackages name="specification" nsURI="http://www.fortiss.org/af3/exploration/moea/specification"
nsPrefix="org-fortiss-af3-exploration-moea-specification">
<eClassifiers xsi:type="ecore:EClass" name="InstanceOfElement" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementSpecification">
<eClassifiers xsi:type="ecore:EClass" name="IVolatileModelElementSpecification"
eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementSpecification">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="{@link IModelElementSpecification} that must be removed during a transformation by the DSE solution converison service."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="InstanceOfElement" eSuperTypes="#//specification/IVolatileModelElementSpecification">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="References the template or library element from which this {@link IModelElement} has been constructed."/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="templateElement" lowerBound="1"
eType="ecore:EClass platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ContainedByElement" eSuperTypes="platform:/resource/org.fortiss.tooling.base/model/base.ecore#//element/IModelElementSpecification">
<eClassifiers xsi:type="ecore:EClass" name="ContainedByElement" eSuperTypes="#//specification/IVolatileModelElementSpecification">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="References the {@link IHierarchicElement} to which the given element shall be added during the transformation."/>
</eAnnotations>
......
......@@ -231,6 +231,7 @@
</nestedGenPackages>
<nestedGenPackages prefix="Specification" basePackage="org.fortiss.af3.exploration.model"
disposableProviderFactory="true" ecorePackage="exploration.ecore#//specification">
<genClasses ecoreClass="exploration.ecore#//specification/IVolatileModelElementSpecification"/>
<genClasses ecoreClass="exploration.ecore#//specification/InstanceOfElement">
<genFeatures notify="false" createChild="false" propertySortChoices="true"
ecoreFeature="ecore:EReference exploration.ecore#//specification/InstanceOfElement/templateElement"/>
......
DSEStaticImpl.java ceaf5ecf8c77609d4ae13d40b88ac443fe6b09e9 GREEN
InitialInputDefinitionStepStaticImpl.java 5c0d13f3e16cd720ecef35378d15fb599a1e9c09 RED
ModelSnapshotStaticImpl.java f9161c14852ce9f3a55e8b6b16ba781124f3adf9 RED
ProcessStepStaticImpl.java 2c2ab6445af93bc7eccfb4b6031efe963d1b5560 RED
InitialInputDefinitionStepStaticImpl.java 574a20551eff4745bb24b682edd616368321de46 YELLOW
ModelSnapshotStaticImpl.java 6db72d06363209e53e2dae7e0e0834a8239d3e7c YELLOW
ProcessStepStaticImpl.java 14550152839f7111a581a44ae7f1fda4c834d74c YELLOW
SolutionSelectionStepStaticImpl.java f62112f9d033b45294155eb8f77edfd74a633b07 GREEN
......@@ -31,10 +31,8 @@ public class InitialInputDefinitionStepStaticImpl {
/** Static implementation of {@link InitialInputDefinitionStep#addSnapshot(ModelSnapshot)}. */
public static void addSnapshot(InitialInputDefinitionStepImpl initialInputDefinitionStepImpl,
ModelSnapshot snapshot) {
// TODO (SB) Use
// ProjectPackage.Literals.ARTIFACT_SNAPSHOT_COLLECTION__CONTAINED_MODEL_SNAPSHOTS;
EReference modelSnapFeature =
ProjectPackage.eINSTANCE.getArtifactSnapshotCollection_ContainedModelSnapshots();
ProjectPackage.Literals.ARTIFACT_SNAPSHOT_COLLECTION__CONTAINED_MODEL_SNAPSHOTS;
@SuppressWarnings("unchecked") EList<ModelSnapshot> snaps =
(EList<ModelSnapshot>)initialInputDefinitionStepImpl.eGet(modelSnapFeature);
snaps.add(snapshot);
......
......@@ -34,8 +34,7 @@ public class ModelSnapshotStaticImpl {
/** Implements {@link ModelSnapshot#addSuperSet(SuperSet, Class)}. */
public static <T extends IModelElement> void addSuperSet(ModelSnapshotImpl modelSnapshotImpl,
SuperSet<T> superSet, Class<T> setType) {
// TODO (SB) Use ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP
EStructuralFeature setFeature = ProjectPackage.eINSTANCE.getModelSnapshot_SuperSetMap();
EStructuralFeature setFeature = ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP;
SuperSetMap map = (SuperSetMap)modelSnapshotImpl.eGet(setFeature);
if(map == null) {
map = createSuperSetMap();
......@@ -47,8 +46,7 @@ public class ModelSnapshotStaticImpl {
/** Implements {@link ModelSnapshot#getSuperSet(Class)}. */
public static <T extends IModelElement> SuperSet<T>
getSuperSet(ModelSnapshotImpl modelSnapshotImpl, Class<T> setType) {
// TODO (SB) Use ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP
EStructuralFeature setFeature = ProjectPackage.eINSTANCE.getModelSnapshot_SuperSetMap();
EStructuralFeature setFeature = ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP;
SuperSetMap map = (SuperSetMap)modelSnapshotImpl.eGet(setFeature);
return (map != null) ? map.get(setType) : null;
}
......
......@@ -16,6 +16,7 @@
package org.fortiss.af3.exploration.model.project.impl;
import static org.fortiss.af3.exploration.util.ExplorationModelElementFactory.createSuperSetMap;
import static org.fortiss.af3.exploration.util.ExplorationUtils.appendNonPresentSolutionSets;
import static org.fortiss.af3.exploration.util.ExplorationUtils.recursiveArtifactWalk;
import static org.fortiss.af3.exploration.util.ExplorationUtils.recursiveTreeWalk;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.convertList;
......@@ -96,15 +97,7 @@ public class ProcessStepStaticImpl {
SolutionSelectionStep solStep = (SolutionSelectionStep)processStep;
SingleExplorationSolution selectedSolution =
solStep.getSelectedSolution();
EList<Class<? extends IModelElement>> availSolutions =
solStep.getSelectedSolution().getAvailableSolutionModels();
for(Class<? extends IModelElement> solType : availSolutions) {
if(!collectedElements.containsKey(solType)) {
SuperSet<S> currSol =
(SuperSet<S>)selectedSolution.getSolutionModel(solType);
collectedElements.put((Class<S>)solType, currSol);
}
}
appendNonPresentSolutionSets(selectedSolution, collectedElements);
}
// NOTE: Although we are directly extracting SuperSets from model snapshots
......@@ -114,16 +107,13 @@ public class ProcessStepStaticImpl {
// alternate behavior is observed, the create logic of ProcessSteps has to
// be examined.
if(traverseSnaps) {
// TODO (SB) Use
// ProjectPackage.Literals.ARTIFACT_SNAPSHOT_COLLECTION__CONTAINED_MODEL_SNAPSHOTS;
EReference modelSnapFeature = ProjectPackage.eINSTANCE
.getArtifactSnapshotCollection_ContainedModelSnapshots();
EReference modelSnapFeature =
ProjectPackage.Literals.ARTIFACT_SNAPSHOT_COLLECTION__CONTAINED_MODEL_SNAPSHOTS;
for(ModelSnapshot thisSnapshot : (Collection<ModelSnapshot>)processStep
.eGet(modelSnapFeature)) {
// TODO (SB) ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP
EStructuralFeature mapFeature =
ProjectPackage.eINSTANCE.getModelSnapshot_SuperSetMap();
ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP;
SuperSetMap artifactMap =
(SuperSetMap)thisSnapshot.eGet(mapFeature);
if(artifactMap != null) {
......@@ -205,8 +195,7 @@ public class ProcessStepStaticImpl {
if(thisSnapshot.getRootElement().getClass() != otherSnapshot.getRootElement().getClass()) {
return false;
}
// TODO (SB): Use ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP
EStructuralFeature setFeature = ProjectPackage.eINSTANCE.getModelSnapshot_SuperSetMap();
EStructuralFeature setFeature = ProjectPackage.Literals.MODEL_SNAPSHOT__SUPER_SET_MAP;
SuperSetMap thisMap = (SuperSetMap)thisSnapshot.eGet(setFeature);
SuperSetMap otherMap = (SuperSetMap)otherSnapshot.eGet(setFeature);
......
DSEBackendService.java 34046f8022863672842ebb94dcee6afecff1879b RED
DSESolutionExporterService.java 8d6a0e44e5dbd3bf75f56194f79bf3ff6c5aca1c GREEN
DSEBackendService.java a4ce3158bd94c26132565cbbf2812b9cb868868c YELLOW
DSESolutionExporterService.java fa37b8d1e3379cce1f06f02d2f270a6177611e7f YELLOW
......@@ -212,10 +212,9 @@ public class DSEBackendService implements IDSEBackendService, IIntrospectiveKern
*/
private void basicSolutionValidation(ExplorationSolution dseSolution) throws Exception {
EReference solutionMapFeature =
SolutionsPackage.eINSTANCE.getSingleExplorationSolution_SolutionSets();
SolutionsPackage.Literals.SINGLE_EXPLORATION_SOLUTION__SOLUTION_SETS;
for(SingleExplorationSolution singleSolution : dseSolution.getSolutions()) {
try {
// TODO (SB: Use SolutionsPackage.Literals.SINGLE_EXPLORATION_SOLUTION)
SuperSetMap superSets = (SuperSetMap)singleSolution.eGet(solutionMapFeature);
validateBasicInformation(superSets);
} catch(Exception e) {
......
......@@ -16,6 +16,8 @@
package org.fortiss.af3.exploration.service.internal;
import static org.fortiss.af3.exploration.util.DSESolutionConversionUtils.throwConversionError;
import static org.fortiss.af3.exploration.util.ExplorationUtils.getSelectedSolutions;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.getFirstChildWithType;
import static org.fortiss.tooling.kernel.utils.KernelModelElementUtils.getParentElement;
import java.util.ArrayList;
......@@ -32,6 +34,8 @@ import org.fortiss.af3.exploration.model.project.DSE;
import org.fortiss.af3.exploration.model.project.ModelSnapshot;
import org.fortiss.af3.exploration.model.project.ProcessStep;
import org.fortiss.af3.exploration.model.project.SolutionSelectionStep;
import org.fortiss.af3.exploration.model.solutions.SingleExplorationSolution;
import org.fortiss.af3.exploration.model.specification.IVolatileModelElementSpecification;
import org.fortiss.af3.exploration.service.IDSESolutionExporterService;
import org.fortiss.af3.exploration.solutionconverter.DSESolutionArtifacts;
import org.fortiss.af3.exploration.solutionconverter.DSESolutionConversionContext;
......@@ -97,8 +101,12 @@ public class DSESolutionExporterService
SolutionSelectionStep solSelStep, String baseName) {
Collection<IProjectRootElement> inputModels =
collectInputModels(inputArtifacts, solSelStep);
// We must maintain the order of SingleExplorationSolutions as defined by the process steps:
// This is guaranteed by the method below and storing the result in a list.
List<SingleExplorationSolution> selSolutions = getSelectedSolutions(solSelStep);
DSESolutionArtifacts solutionArtifacts =
new DSESolutionArtifacts(inputModels, solSelStep.getSelectedSolution());
new DSESolutionArtifacts(inputModels, selSolutions);
return transform(inputArtifacts, solutionArtifacts, baseName);
}
......@@ -120,6 +128,17 @@ public class DSESolutionExporterService
}
}
for(Entry<Class<? extends IProjectRootElement>, IProjectRootElement> entry : solutionArtifacts
.getOutputs()) {
if(getFirstChildWithType(entry.getValue(),
IVolatileModelElementSpecification.class) != null) {
throwConversionError(getClass().getSimpleName(), "The transformation result " +
entry.getValue().getName() + " contains " +
IVolatileModelElementSpecification.class.getName() +
" that must be removed during the conversion. No output is generated.");
}
}
return solutionArtifacts;
}
......
DSESolutionArtifacts.java 476768216ad01864c0c01536624e50fee17b0fc1 RED
DSESolutionArtifacts.java 90cde5439502de8dc8eac7014e654999279569fa YELLOW
DSESolutionConversionContext.java d16e052e6c3b56b7e2ae21ffec97bd41df1d3d4d GREEN
DSESolutionConverterBase.java a45df8907205ea4549cf34aea91a96287613fb59 GREEN
IDSESolutionConverter.java 4c3f3555b98c19d0642797a28de1d9bdd113ab5a GREEN
RouteConverter.java b63f6c096b3c33595ff3d6225e294b894208b07e GREEN
ScheduleConverter.java dfbde7dafdf9ca2f9b7b55bf1c662de13e508509 RED
SignalToRouteConverter.java ab5b80352445d3f7a82f9416950a2b0e42f8e048 RED
TaskToExecUnitConverter.java e772e2c1617b66f851b0752185e0eb81ca53d20b RED
ScheduleConverter.java 6f6d13a9eb94f8eec5e1e038d5ee6bb1989661a0 YELLOW
SignalToRouteConverter.java 230b19e07a529ecfbac560ea293af0730797f732 YELLOW
TaskToExecUnitConverter.java 791308cd5755f67cf28117f457324c9ea5c92f21 YELLOW
......@@ -15,13 +15,17 @@
+--------------------------------------------------------------------------*/
package org.fortiss.af3.exploration.solutionconverter;
import static java.util.stream.Collectors.toList;
import static java.util.stream.Collectors.toMap;
import static org.fortiss.af3.exploration.util.DSESolutionConversionUtils.throwConversionError;
import static org.fortiss.af3.exploration.util.ExplorationModelElementFactory.createSuperSetMap;
import static org.fortiss.af3.exploration.util.ExplorationUtils.appendNonPresentSolutionSets;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.copyToRefMap;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.getInterfaceType;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
......@@ -30,7 +34,6 @@ import org.eclipse.emf.ecore.EObject;
import org.fortiss.af3.exploration.dseml.model.expression.SuperSet;
import org.fortiss.af3.exploration.model.SuperSetMap;
import org.fortiss.af3.exploration.model.solutions.SingleExplorationSolution;
import org.fortiss.af3.exploration.model.solutions.SolutionsPackage;
import org.fortiss.af3.exploration.service.IDSESolutionExporterService;
import org.fortiss.tooling.base.model.element.IModelElement;
import org.fortiss.tooling.kernel.model.IProjectRootElement;
......@@ -53,20 +56,26 @@ public class DSESolutionArtifacts {
/** Constructor. */
@SuppressWarnings("unchecked")
public DSESolutionArtifacts(Collection<IProjectRootElement> inputModels,
SingleExplorationSolution expSol) {
List<SingleExplorationSolution> selSolutions) {
Set<EObject> artifactsToCopy = new HashSet<>(inputModels.size() + 1);
// We copy the complete SingleExplorationSolution, since it contains the SuperSetMap
// (result) and has a containment list of the elements referenced from SuperSets. This way,
// we do not need to care about correct cross-references between the elements of SuperSets.
artifactsToCopy.add(expSol);
artifactsToCopy.addAll(selSolutions);
artifactsToCopy.addAll(inputModels);
Map<EObject, EObject> copiedArtifacts = copyToRefMap(artifactsToCopy);
// TODO (SB: Use SolutionsPackage.Literals.SINGLE_EXPLORATION_SOLUTION__SOLUTION_SETS)
SuperSetMap origSolutionMap = (SuperSetMap)expSol
.eGet(SolutionsPackage.eINSTANCE.getSingleExplorationSolution_SolutionSets());
this.solutionMap = (SuperSetMap)copiedArtifacts.get(origSolutionMap);
// Extract the copies of SingleExplorationSolutions in order to aggregate the SuperSets
// correctly.
List<SingleExplorationSolution> copiedSelSolutions = selSolutions.stream()
.map(s -> (SingleExplorationSolution)copiedArtifacts.get(s)).collect(toList());
SuperSetMap solutionMap = createSuperSetMap();
copiedSelSolutions.forEach(cSol -> appendNonPresentSolutionSets(cSol, solutionMap));
this.solutionMap = solutionMap;
this.inOutArtifacts = inputModels.stream()
.collect(toMap(i -> (Class<? extends IProjectRootElement>)getInterfaceType(i),
i -> (IProjectRootElement)copiedArtifacts.get(i)));
......
......@@ -148,9 +148,6 @@ public class ScheduleConverter
}
}
// TODO (SB: Comment still valid?)
// In case there is a copied schedulable entity (e.g., Segments), use it. Otherwise
// (e.g., Tasks), just use the original one.
resAlloc.getSchedulableEntity().setModelElement(modelElement);
resSched.getContainedElements().add(resAlloc);
}
......
......@@ -56,8 +56,6 @@ public class SignalToRouteConverter
final TaskToExecutionUnitAllocationTable ta2paFin = ta2pa;
for(SignalToRouteAllocationEntry entry : fromSuperSet.getEntries()) {
// TODO (SB: is this comment still valid? Or aren't all model elements copied now?)
// Route (as part of PA) has been copied in RouteConverter: Dereference in map
Route route = entry.getRoute();
entry.getSignals().forEach(t -> addAllocationEntry(ta2paFin,
SignalToRouteAllocationEntry.class, t, route));
......
......@@ -16,13 +16,13 @@
package org.fortiss.af3.exploration.solutionconverter;
import static java.util.Arrays.asList;
import static org.eclipse.emf.ecore.util.EcoreUtil.delete;
import static org.fortiss.af3.allocation.utils.AllocationModelElementFactory.RIGHT_ARROW;
import static org.fortiss.af3.allocation.utils.AllocationUtils.addAllocationEntry;
import static org.fortiss.af3.task.util.TaskModelElementFactory.createTaskToExecutionUnitAllocationTable;
import java.util.Collection;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.fortiss.af3.allocation.model.AllocationTableCollection;
import org.fortiss.af3.component.model.ComponentArchitecture;
import org.fortiss.af3.exploration.dseml.model.expression.SuperSet;
......@@ -66,8 +66,7 @@ public class TaskToExecUnitConverter extends
TaskToExecutionUnitAllocationTable existingT2ExUTable =
atc.getAllocationTable(TaskToExecutionUnitAllocationTable.class);
if(existingT2ExUTable != null) {
// TODO (SB: static import)
EcoreUtil.delete(existingT2ExUTable);
delete(existingT2ExUTable);
}
TaskArchitecture taArch = solArtifacts.getElementOrThrow(TaskArchitecture.class);
......@@ -77,8 +76,6 @@ public class TaskToExecUnitConverter extends
baseName + " - Task " + RIGHT_ARROW + "ExecUnit", taArch, platArch);
for(TaskToExecutionUnitAllocationEntry entry : fromSuperSet.getEntries()) {
// TODO (SB: is this comment still valid? Or aren't all model elements copied now?)
// ExecutionUnit (as part of PA) has been copied in RouteConverter: Dereference in map
ExecutionUnit executionUnit = entry.getExecutionUnit();
entry.getTasks().forEach(t -> addAllocationEntry(ta2pa,
TaskToExecutionUnitAllocationEntry.class, t, executionUnit));
......
PartitionChannelConverter.java b8d7fc09de25e6eb55cbdde9d205958e0c89c87c RED
PartitionChannelConverter.java 3d0da97f5b3da87428e7fca1c4b62d08a4435832 YELLOW
PartitionConverter.java 9e9861618e29cf0cbdcdbaae881ccca2538b1458 GREEN
PartitionToExecutionUnitConverter.java e2b73759498f72277378cfaf1f37a3357742a671 GREEN
TaskToPartitionConverter.java f71db1ef5488d48ef5e38b0e7c82bdff92d1d269 GREEN
......@@ -87,11 +87,6 @@ public class PartitionChannelConverter
for(Signal signal : senderTaskToSignal.get(senderTask)) {
TaskInputPort targetInputPort = signal.getTargetTaskPort();
Task targetTask = (Task)targetInputPort.getOwner();
// TODO (SB): Check comment
// NOTE: We don't need to query the copyRefMap here, since the allocation tables
// are transformed before and they are already pointing to the correct
// Partitions.
Partition targetPartition = taskPartAllocTable.getPartition(targetTask);
// Only create channels for interpartition communication.
......
DSEProjectModelElementFactory.java ec7cb91d289cad7869dc71f992d6e7904c84a0e4 RED
DSESolutionConversionUtils.java 18407d7fada5588c52243612ba13f2620e6fd435 RED
DSEProjectModelElementFactory.java a56e2cd564383726898336469ebc3203186e992f YELLOW
DSESolutionConversionUtils.java d97459e189370cbfc202201832ed060e25564607 YELLOW
DSMLModelElementFactory.java 24b8cf9c900e948dcc71eb2a7fa26232baa6f7a5 GREEN
DSMLUtils.java c07eeef09787cea9db98533d346e3e384a232593 GREEN
ExplorationModelElementFactory.java bb48b2d09b92efcb1b2d3e382555089bb7ed5db5 GREEN
ExplorationReflectionUtils.java 62731e1cef32fe93f2c2017f93f5ba1f054d5197 GREEN
ExplorationUtils.java bcef13597d20de673f523fcbc01195fcc6a4425f RED
ExplorationUtils.java 79f8960b63762045008d27def3752d735dad43f0 YELLOW
ModelSnapshotExtractUtils.java 940c5f0e2859519522ae8edfda63e05112870776 GREEN
PatternFactoryUtils.java bcb1d325aecfef12d29d4eb53b28fe59dbd20e9a GREEN
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