Commit 9ce34cde authored by Simon Barner's avatar Simon Barner
Browse files

Add task-to-execution unit allocation.

TODO:
 - Enable selection of execution type
 - Mapping of ports (see also: #3223)
refs 2562
parent 337904b3
......@@ -7,7 +7,7 @@
editorPluginClass="org.fortiss.af3.deployment.model.presentation.ModelEditorPlugin"
testsDirectory="/org.fortiss.af3.deployment.tests/test-src" importerID="org.eclipse.emf.importer.ecore"
containmentProxies="true" complianceLevel="6.0" copyrightFields="false" language=""
usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.timing/model/timing.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model">
usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.timing/model/timing.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.task/model/task.genmodel#//model">
<foreignModel>deployment.ecore</foreignModel>
<genPackages prefix="AF3Deployment" basePackage="org.fortiss.af3.deployment" disposableProviderFactory="true"
ecorePackage="deployment.ecore#/">
......
......@@ -8,7 +8,7 @@
testsDirectory="/org.fortiss.af3.exploration.tests/generated-src" testSuiteClass="org.fortiss.af3.exploration.model.tests.DesignspaceexplorationAllTests"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0" copyrightFields="false"
editPluginID="org.fortiss.af3.exploration.edit" editorPluginID="org.fortiss.af3.exploration.editor"
usedGenPackages="platform:/resource/org.fortiss.af3.schedule/model/schedule.genmodel#//model platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.deployment/model/deployment.genmodel#//model exploration.genmodel#//model dsl_v2.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.timing/model/timing.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model">
usedGenPackages="platform:/resource/org.fortiss.af3.schedule/model/schedule.genmodel#//model platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.deployment/model/deployment.genmodel#//model exploration.genmodel#//model dsl_v2.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.timing/model/timing.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.task/model/task.genmodel#//model">
<foreignModel>designspaceexploration.ecore</foreignModel>
<genPackages prefix="DSEModel" basePackage="org.fortiss.af3.efficientdeployment"
disposableProviderFactory="true" ecorePackage="designspaceexploration.ecore#/">
......
......@@ -3,7 +3,7 @@
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="(c) 2017 fortiss GmbH. GENERATED CODE: Do not edit, see Ecore metamodel instead!"
modelDirectory="/org.fortiss.af3.multicore/generated-src" modelPluginID="org.fortiss.af3.multicore"
modelName="AF3Multicore" importerID="org.eclipse.emf.importer.ecore" containmentProxies="true"
complianceLevel="6.0" copyrightFields="false" usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model">
complianceLevel="6.0" copyrightFields="false" usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model platform:/resource/org.fortiss.af3.task/model/task.genmodel#//model">
<foreignModel>multicore.ecore</foreignModel>
<genPackages prefix="AF3Multicore" basePackage="org.fortiss.af3.multicore" disposableProviderFactory="true"
ecorePackage="multicore.ecore#/">
......
ComponentToPartitionAllocationTableCollectionCompositor.java c1fd4f4d9b601538a046abc71d9a09dfeddcde94 YELLOW
ComponentToPartitionAllocationTableCollectionCompositor.java 692f60402fcee4aca2fc0ba254727ef60fdf3d1e YELLOW
PartitionArchitectureFileProjectCompositor.java 660f85032673fe83abd7b074b5ffff8094392773 YELLOW
PartitionCompositor.java 047805e680a90fc70f99427dfde9616322b0c4ee YELLOW
PartitionConnectionCompositor.java 8fad8b4c5b6adb768f2237efffac2e5f8fdc0dd2 YELLOW
PartitionPortCompositor.java 63b2e934626d1fb3b6bcad3ecb876421d81ce2b2 YELLOW
TaskToPartitionAllocationTableCollectionCompositor.java 9763d042fcfe0c2efdf307e5545044c734413ab6 YELLOW
TaskToPartitionAllocationTableCollectionCompositor.java 433b1aa3b709d1bd8f716eed4204da66d01746fa YELLOW
......@@ -18,13 +18,17 @@ package org.fortiss.af3.partition.compositor;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.pickFirstInstanceOf;
import static org.fortiss.tooling.kernel.utils.KernelModelElementUtils.getRootElement;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.fortiss.af3.allocation.compose.AllocationTableCollectionCompositorBase;
import org.fortiss.af3.allocation.model.AllocationTable;
import org.fortiss.af3.allocation.model.AllocationTableCollection;
import org.fortiss.af3.component.model.ComponentArchitecture;
import org.fortiss.af3.partition.model.PartitionArchitecture;
import org.fortiss.af3.partition.model.allocation.ComponentToPartitionAllocationTable;
import org.fortiss.af3.partition.model.allocation.TaskToPartitionAllocationTable;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable;
import org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable;
import org.fortiss.af3.task.model.allocation.ComponentToTaskAllocationTable;
import org.fortiss.tooling.kernel.extension.data.IElementCompositionContext;
......@@ -55,13 +59,20 @@ public class ComponentToPartitionAllocationTableCollectionCompositor extends
return false;
}
if(pickFirstInstanceOf(TaskToPartitionAllocationTable.class,
container.getAllocationTables()) != null) {
final EList<AllocationTable> allocationTables = container.getAllocationTables();
if(pickFirstInstanceOf(ComponentToTaskAllocationTable.class, allocationTables) != null) {
return false;
}
if(pickFirstInstanceOf(ComponentToTaskAllocationTable.class,
container.getAllocationTables()) != null) {
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class, allocationTables) != null) {
return false;
}
if(pickFirstInstanceOf(TaskToPartitionAllocationTable.class, allocationTables) != null) {
return false;
}
if(pickFirstInstanceOf(TaskToExecutionUnitAllocationTable.class, allocationTables) != null) {
return false;
}
......
......@@ -18,13 +18,16 @@ package org.fortiss.af3.partition.compositor;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.pickFirstInstanceOf;
import static org.fortiss.tooling.kernel.utils.KernelModelElementUtils.getRootElement;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.fortiss.af3.allocation.compose.AllocationTableCollectionCompositorBase;
import org.fortiss.af3.allocation.model.AllocationTable;
import org.fortiss.af3.allocation.model.AllocationTableCollection;
import org.fortiss.af3.partition.model.PartitionArchitecture;
import org.fortiss.af3.partition.model.allocation.ComponentToPartitionAllocationTable;
import org.fortiss.af3.partition.model.allocation.TaskToPartitionAllocationTable;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable;
import org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable;
import org.fortiss.af3.task.model.TaskArchitecture;
import org.fortiss.tooling.kernel.extension.data.IElementCompositionContext;
......@@ -54,13 +57,16 @@ public class TaskToPartitionAllocationTableCollectionCompositor extends
return false;
}
if(pickFirstInstanceOf(ComponentToPartitionAllocationTable.class,
container.getAllocationTables()) != null) {
final EList<AllocationTable> allocationTables = container.getAllocationTables();
if(pickFirstInstanceOf(ComponentToPartitionAllocationTable.class, allocationTables) != null) {
return false;
}
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class,
container.getAllocationTables()) != null) {
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class, allocationTables) != null) {
return false;
}
if(pickFirstInstanceOf(TaskToExecutionUnitAllocationTable.class, allocationTables) != null) {
return false;
}
......
......@@ -3,7 +3,7 @@
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="(c) 2017 fortiss GmbH. GENERATED CODE: Do not edit, see Ecore metamodel instead!"
modelDirectory="/org.fortiss.af3.platform.beagle/generated-src" modelPluginID="org.fortiss.af3.platform.beagle"
modelName="Model" importerID="org.eclipse.emf.importer.ecore" containmentProxies="true"
complianceLevel="6.0" copyrightFields="false" usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model">
complianceLevel="6.0" copyrightFields="false" usedGenPackages="platform:/resource/org.fortiss.tooling.base/model/base.genmodel#//model platform:/resource/org.fortiss.af3.platform/model/platform.genmodel#//model platform:/resource/org.fortiss.tooling.kernel/model/kernel.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model platform:/resource/org.fortiss.af3.task/model/task.genmodel#//model">
<foreignModel>beagle.ecore</foreignModel>
<genPackages prefix="AF3PlatformBeagle" basePackage="org.fortiss.af3.platform.beagle"
disposableProviderFactory="true" ecorePackage="beagle.ecore#/">
......
AllocationTableCollectionCompositor.java 348285d12cee0d8492b0ed83be80781dff551560 RED
HierarchicPlatformArchitectureCompositor.java 0eefe2cc93e87650731e0d76589de3798c019a0d RED
HierarchicalCompositionRules.java d37fb18048c4e34b32bbe781204f3aa544881af0 RED
PartitionToHardwareAllocationTableCollectionCompositor.java 8193aa09b51cd5efc4b95871f44cd6590e538528 YELLOW
PartitionToHardwareAllocationTableCollectionCompositor.java 93fbeadf8bbc2de753eb585b3e3e07582e1edea5 YELLOW
......@@ -18,13 +18,16 @@ package org.fortiss.af3.platform.hierarchic.compose;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.pickFirstInstanceOf;
import static org.fortiss.tooling.kernel.utils.KernelModelElementUtils.getRootElement;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.fortiss.af3.allocation.compose.AllocationTableCollectionCompositorBase;
import org.fortiss.af3.allocation.model.AllocationTable;
import org.fortiss.af3.allocation.model.AllocationTableCollection;
import org.fortiss.af3.partition.model.PartitionArchitecture;
import org.fortiss.af3.platform.hierarchic.model.allocation.PartitionToHardwareAllocationTable;
import org.fortiss.af3.platform.model.PlatformArchitecture;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable;
import org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable;
import org.fortiss.tooling.kernel.extension.data.IElementCompositionContext;
/**
......@@ -53,8 +56,12 @@ public class PartitionToHardwareAllocationTableCollectionCompositor extends
return false;
}
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class,
container.getContainedElements()) != null) {
final EList<AllocationTable> allocationTables = container.getAllocationTables();
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class, allocationTables) != null) {
return false;
}
if(pickFirstInstanceOf(TaskToExecutionUnitAllocationTable.class, allocationTables) != null) {
return false;
}
......
......@@ -15,9 +15,14 @@
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.TransmissionConnectionHandler">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.TransmissionConnection"/>
</modelElementHandler>
<!-- Handlers relevant for allocation tables -->
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.ComponentToExecutionUnitAllocationTableHandler">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable"/>
</modelElementHandler>
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.TaskToExecutionUnitAllocationTableHandler">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable"/>
</modelElementHandler>
<!-- Default handlers relevant for hierarchical platform architectures -->
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.hierarchical.ExecutionUnitHandler">
......@@ -92,7 +97,9 @@
<modelEditorBinding binding="org.fortiss.af3.platform.ui.editor.ComponentToExecutionUnitTableEditorBinding">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable"/>
</modelEditorBinding>
<modelEditorBinding binding="org.fortiss.af3.platform.ui.editor.TaskToExecutionUnitTableEditorBinding">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable"/>
</modelEditorBinding>
</extension>
<extension point="org.fortiss.tooling.kernel.ui.editPartFactory">
......
ComponentToExecutionUnitTableEditor.java 56da2cb267348ffafa66832e3bdea5deb1d7013d RED
ComponentToExecutionUnitTableEditorBinding.java 1f81e38b16f7cafe09fafa995b6c016932564d1b YELLOW
ComponentToExecutionUnitTableEditorBinding.java 43d183c59defb50f8c0289ce79b06a3aaeb88f7b YELLOW
PlatformArchitectureEditor.java 7961f74457e886e1453770891b014dfd3d4f9a6d GREEN
PlatformArchitectureEditorBinding.java 49f9bd9b46afecdf5be1edc6406274e7e8136234 GREEN
PlatformArchitectureElementGroupEditorBinding.java fe71ec3d8717124e838211b80789343923b8c309 GREEN
PlatformArchitectureElementGroupStructureEditor.java a5aabdb4c6a309c3872594489e65c3e55f9d2ad8 GREEN
PlatformComponentStructureEditorBase.java 10cc98cf57f7fa38ecf4459649ca623286bef876 GREEN
PlatformComponentStructureEditorBindingBase.java 30f7165053b90ff233fe3de384f3393105c9edc7 GREEN
TaskToExecutionUnitTableEditor.java 512fe7314c37ef9bf85dc000f11180a79d53acf8 RED
TaskToExecutionUnitTableEditorBinding.java 3e9bbf88a44174c31e8fe51f4ea524d372a1d3a2 YELLOW
......@@ -37,7 +37,7 @@ public class ComponentToExecutionUnitTableEditorBinding extends
/** {@inheritDoc} */
@Override
public String getLabel() {
return "Components " + RIGHT_ARROW + " Execution Units";
return "Components " + RIGHT_ARROW + " Hardware";
}
/** {@inheritDoc} */
......
/*-------------------------------------------------------------------------+
| Copyright 2017 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.platform.ui.editor;
import org.fortiss.af3.allocation.ui.editor.AllocationTableEditor;
import org.fortiss.af3.platform.model.ExecutionUnit;
import org.fortiss.af3.platform.model.PlatformArchitecture;
import org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationEntry;
import org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable;
import org.fortiss.af3.task.model.Task;
import org.fortiss.af3.task.model.TaskArchitecture;
/**
* Editor to assign logical {@link Task}s to {@link ExecutionUnit}s.
*
* @author barner
*/
public class TaskToExecutionUnitTableEditor extends
AllocationTableEditor<TaskToExecutionUnitAllocationTable> {
/** Constructor. */
public TaskToExecutionUnitTableEditor() {
// Sources: Components (without hidden root component that represents the system)
// Targets: ExecutionUnits
// TODO: Provide list of admissible target types
super(TaskToExecutionUnitAllocationEntry.class, TaskArchitecture.class,
PlatformArchitecture.class, Task.class, ExecutionUnit.class, null, null);
}
}
/*-------------------------------------------------------------------------+
| Copyright 2017 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.platform.ui.editor;
import static org.fortiss.af3.allocation.ui.DefaultStyle.RIGHT_ARROW;
import org.eclipse.ui.IEditorPart;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable;
import org.fortiss.tooling.kernel.ui.extension.base.ModelEditorBindingBase;
/**
* Editor binding for {@link TaskToExecutionUnitTableEditor}.
*
* @author barner
*/
public class TaskToExecutionUnitTableEditorBinding extends
ModelEditorBindingBase<ComponentToExecutionUnitAllocationTable> {
/** {@inheritDoc} */
@Override
public Class<? extends IEditorPart> getEditorClass() {
return TaskToExecutionUnitTableEditor.class;
}
/** {@inheritDoc} */
@Override
public String getLabel() {
return "Tasks " + RIGHT_ARROW + " Hardware";
}
/** {@inheritDoc} */
@Override
public int getPriority() {
return 10;
}
}
ComponentToExecutionUnitAllocationTableHandler.java 0ff68eaf435efdcd78e641ee0f26f536fdcad22d YELLOW
PlatformArchitectureElementGroupHandler.java 06343160e63baf51e7dd7914d8a3467e05de77bd GREEN
PlatformArchitectureHandler.java 866dbe5b4506d5a797b6e216790847411b3965e5 GREEN
TaskToExecutionUnitAllocationTableHandler.java 58da860fb8e6e13487c89f1137d6b70674d417b6 YELLOW
TransmissionConnectionHandler.java 6f56a7fafbc17b2934fe29154e98dd6146a971a6 GREEN
/*-------------------------------------------------------------------------+
| Copyright 2017 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.platform.ui.handler;
import static org.fortiss.af3.platform.ui.AF3PlatformUIActivator.getImageDescriptor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.fortiss.af3.platform.model.allocation.TaskToExecutionUnitAllocationTable;
import org.fortiss.tooling.kernel.ui.extension.base.NamedCommentedModelElementHandlerBase;
/**
* Model element handler for {@link TaskToExecutionUnitAllocationTable}s.
*
* @author barner
*/
public class TaskToExecutionUnitAllocationTableHandler extends
NamedCommentedModelElementHandlerBase<TaskToExecutionUnitAllocationTable> {
/** {@inheritDoc} */
@Override
public ImageDescriptor getIconImageDescriptor() {
return getImageDescriptor("icons/ta2hw.png");
}
/** {@inheritDoc} */
@Override
public int getNavigatorViewWeight(TaskToExecutionUnitAllocationTable element) {
return 2000;
}
}
PrototypeProvider.java aedf51a11c0c513989d811ed76b1cf6062a7f8e3 YELLOW
PrototypeProvider.java 0d0b9be7282b4d9e8fdb4e01d62f0f59abde2520 YELLOW
......@@ -23,6 +23,7 @@ import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createG
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createGenericTransmissionUnit;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createGenericTransmitter;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createPlatformArchitecture;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createTasksToExecutionUnitAllocationTable;
import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_HEIGHT;
import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_WIDTH;
import static org.fortiss.tooling.base.ui.utils.LayoutDataUIUtils.setConnectorPosition;
......@@ -38,6 +39,7 @@ import org.fortiss.af3.platform.model.generic.GenericReceiver;
import org.fortiss.af3.platform.model.generic.GenericTransceiver;
import org.fortiss.af3.platform.model.generic.GenericTransmissionUnit;
import org.fortiss.af3.platform.model.generic.GenericTransmitter;
import org.fortiss.af3.task.model.Task;
import org.fortiss.tooling.kernel.extension.IPrototypeProvider;
import org.fortiss.tooling.kernel.extension.base.PrototypeProviderBase;
......@@ -54,7 +56,10 @@ public final class PrototypeProvider extends PrototypeProviderBase {
/** {@link Component}s to {@link ExecutionUnit}s label. */
private final static String COMPONENTS_TO_EXECUTION_UNITS = "Components " + RIGHT_ARROW +
" Execution Units";
" Hardware";
/** {@link Task}s to {@link ExecutionUnit}s label. */
private final static String TASKS_TO_EXECUTION_UNITS = "Tasks " + RIGHT_ARROW + " Hardware";
/** {@inheritDoc} */
@Override
......@@ -101,5 +106,9 @@ public final class PrototypeProvider extends PrototypeProviderBase {
registerPrimaryPrototype(COMPONENTS_TO_EXECUTION_UNITS,
createComponentToExecutionUnitAllocationTable(COMPONENTS_TO_EXECUTION_UNITS),
org.fortiss.af3.allocation.ui.prototypes.PrototypeProvider.CATEGORY);
registerPrimaryPrototype(TASKS_TO_EXECUTION_UNITS,
createTasksToExecutionUnitAllocationTable(TASKS_TO_EXECUTION_UNITS),
org.fortiss.af3.allocation.ui.prototypes.PrototypeProvider.CATEGORY);
}
}
......@@ -10,7 +10,8 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.fortiss.af3.platform.AF3PlatformActivator
Require-Bundle: org.fortiss.af3.component;visibility:=reexport,
org.fortiss.af3.allocation;visibility:=reexport
org.fortiss.af3.allocation;visibility:=reexport,
org.fortiss.af3.task;visibility:=reexport
Export-Package: org.fortiss.af3.platform,
org.fortiss.af3.platform.annotation.valueprovider,
org.fortiss.af3.platform.compose,
......
Supports Markdown
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