Commit 6c92214c authored by Simon Barner's avatar Simon Barner
Browse files

Allocation based replacement for current Deployment's ComponentAllocation

InputPortAllocation, OutputPortAllocation, TransceiverAllocation (or TransceiverPortAllocation) to be handled in the frame of #3223
refs 3220
parent 2e3e1577
......@@ -3,4 +3,4 @@ PartitionArchitectureFileProjectCompositor.java 660f85032673fe83abd7b074b5ffff80
PartitionCompositor.java 047805e680a90fc70f99427dfde9616322b0c4ee YELLOW
PartitionConnectionCompositor.java 8fad8b4c5b6adb768f2237efffac2e5f8fdc0dd2 YELLOW
PartitionPortCompositor.java 63b2e934626d1fb3b6bcad3ecb876421d81ce2b2 YELLOW
TaskToPartitionAllocationTableCollectionCompositor.java 0e19cf81770a196318b72fba2a57b7608e0ec9a1 YELLOW
TaskToPartitionAllocationTableCollectionCompositor.java 9763d042fcfe0c2efdf307e5545044c734413ab6 YELLOW
......@@ -24,6 +24,7 @@ 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.task.model.TaskArchitecture;
import org.fortiss.tooling.kernel.extension.data.IElementCompositionContext;
......@@ -58,6 +59,11 @@ public class TaskToPartitionAllocationTableCollectionCompositor extends
return false;
}
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class,
container.getAllocationTables()) != null) {
return false;
}
return super.canCompose(container, contained, context);
}
}
......@@ -126,7 +126,7 @@
</modelElementCompositor>
<!-- Allocations -->
<modelElementCompositor compositor="org.fortiss.af3.platform.hierarchic.compose.AllocationTableCollectionCompositor">
<modelElementCompositor compositor="org.fortiss.af3.platform.hierarchic.compose.PartitionToHardwareAllocationTableCollectionCompositor">
<modelElementClass modelElementClass="org.fortiss.af3.allocation.model.AllocationTableCollection"/>
</modelElementCompositor>
</extension>
......
AllocationTableCollectionCompositor.java 348285d12cee0d8492b0ed83be80781dff551560 RED
HierarchicPlatformArchitectureCompositor.java 0eefe2cc93e87650731e0d76589de3798c019a0d RED
HierarchicalCompositionRules.java d37fb18048c4e34b32bbe781204f3aa544881af0 RED
PartitionToHardwareAllocationTableCollectionCompositor.java 8193aa09b51cd5efc4b95871f44cd6590e538528 YELLOW
/*-------------------------------------------------------------------------+
| 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.hierarchic.compose;
import static org.fortiss.tooling.kernel.utils.EcoreUtils.pickFirstInstanceOf;
import static org.fortiss.tooling.kernel.utils.KernelModelElementUtils.getRootElement;
import org.eclipse.emf.ecore.EObject;
import org.fortiss.af3.allocation.compose.AllocationTableCollectionCompositorBase;
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.tooling.kernel.extension.data.IElementCompositionContext;
/**
* Compositor to add {@link PartitionToHardwareAllocationTable}s to
* {@link AllocationTableCollection}s.
*
* @author barner
*/
public class PartitionToHardwareAllocationTableCollectionCompositor extends
AllocationTableCollectionCompositorBase {
/** Constructor. */
public PartitionToHardwareAllocationTableCollectionCompositor() {
super(PartitionToHardwareAllocationTable.class, 1);
}
/** {@inheritDoc} */
@Override
public boolean canCompose(AllocationTableCollection container, EObject contained,
IElementCompositionContext context) {
if(getRootElement(container, PartitionArchitecture.class) == null) {
return false;
}
if(getRootElement(container, PlatformArchitecture.class) == null) {
return false;
}
if(pickFirstInstanceOf(ComponentToExecutionUnitAllocationTable.class,
container.getContainedElements()) != null) {
return false;
}
return super.canCompose(container, contained, context);
}
}
......@@ -5,7 +5,8 @@ Bundle-SymbolicName: org.fortiss.af3.platform.ui;singleton:=true
Bundle-Version: 2.12.0.qualifier
Bundle-Activator: org.fortiss.af3.platform.ui.AF3PlatformUIActivator
Require-Bundle: org.fortiss.af3.platform;bundle-version="2.12.0";visibility:=reexport,
org.fortiss.af3.component.ui;bundle-version="2.12.0";visibility:=reexport
org.fortiss.af3.component.ui;bundle-version="2.12.0";visibility:=reexport,
org.fortiss.af3.allocation.ui
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-Vendor: fortiss GmbH
......
......@@ -15,6 +15,9 @@
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.TransmissionConnectionHandler">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.TransmissionConnection"/>
</modelElementHandler>
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.ComponentToExecutionUnitAllocationTableHandler">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable"/>
</modelElementHandler>
<!-- Default handlers relevant for hierarchical platform architectures -->
<modelElementHandler handler="org.fortiss.af3.platform.ui.handler.hierarchical.ExecutionUnitHandler">
......@@ -86,6 +89,10 @@
<modelEditorBinding binding="org.fortiss.af3.platform.ui.editor.PlatformArchitectureElementGroupEditorBinding">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.PlatformArchitectureElementGroup"/>
</modelEditorBinding>
<modelEditorBinding binding="org.fortiss.af3.platform.ui.editor.ComponentToExecutionUnitTableEditorBinding">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable"/>
</modelEditorBinding>
</extension>
<extension point="org.fortiss.tooling.kernel.ui.editPartFactory">
......
ComponentToExecutionUnitTableEditor.java 56da2cb267348ffafa66832e3bdea5deb1d7013d RED
ComponentToExecutionUnitTableEditorBinding.java 1f81e38b16f7cafe09fafa995b6c016932564d1b YELLOW
PlatformArchitectureEditor.java 7961f74457e886e1453770891b014dfd3d4f9a6d GREEN
PlatformArchitectureEditorBinding.java 49f9bd9b46afecdf5be1edc6406274e7e8136234 GREEN
PlatformArchitectureElementGroupEditorBinding.java fe71ec3d8717124e838211b80789343923b8c309 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.editor;
import org.fortiss.af3.allocation.ui.editor.AllocationTableEditor;
import org.fortiss.af3.component.model.Component;
import org.fortiss.af3.component.model.ComponentArchitecture;
import org.fortiss.af3.platform.model.ExecutionUnit;
import org.fortiss.af3.platform.model.PlatformArchitecture;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationEntry;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable;
import org.fortiss.af3.platform.model.generic.GenericExecutionUnit;
/**
* Editor to assign logical {@link Component}s to {@link ExecutionUnit}s.
*
* @author barner
*/
public class ComponentToExecutionUnitTableEditor extends
AllocationTableEditor<ComponentToExecutionUnitAllocationTable> {
/** Constructor. */
public ComponentToExecutionUnitTableEditor() {
// Sources: Components (without hidden root component that represents the system)
//
// Targets: (Generic-style, i.e. non-hierarchic) ExecutionUnits
// TODO: Check if this check can be generalized to include BeagleBoneExecutionUnits.
// Alternatively, check if BeagleBoneExecutionUnits can be derived from GenericExecutionUnit
super(ComponentToExecutionUnitAllocationEntry.class, ComponentArchitecture.class,
PlatformArchitecture.class, Component.class, GenericExecutionUnit.class,
c -> ((Component)c).getParentComponent() != 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 ComponentToExecutionUnitTableEditor}.
*
* @author barner
*/
public class ComponentToExecutionUnitTableEditorBinding extends
ModelEditorBindingBase<ComponentToExecutionUnitAllocationTable> {
/** {@inheritDoc} */
@Override
public Class<? extends IEditorPart> getEditorClass() {
return ComponentToExecutionUnitTableEditor.class;
}
/** {@inheritDoc} */
@Override
public String getLabel() {
return "Components " + RIGHT_ARROW + " Execution Units";
}
/** {@inheritDoc} */
@Override
public int getPriority() {
return 10;
}
}
ComponentToExecutionUnitAllocationTableHandler.java 0ff68eaf435efdcd78e641ee0f26f536fdcad22d YELLOW
PlatformArchitectureElementGroupHandler.java 06343160e63baf51e7dd7914d8a3467e05de77bd GREEN
PlatformArchitectureHandler.java 866dbe5b4506d5a797b6e216790847411b3965e5 GREEN
TransmissionConnectionHandler.java 6f56a7fafbc17b2934fe29154e98dd6146a971a6 GREEN
......@@ -13,22 +13,25 @@
| See the License for the specific language governing permissions and |
| limitations under the License. |
+--------------------------------------------------------------------------*/
package org.fortiss.af3.platform.hierarchic.compose;
package org.fortiss.af3.platform.ui.handler;
import org.fortiss.af3.allocation.compose.AllocationTableCollectionCompositorBase;
import org.fortiss.af3.allocation.model.AllocationTableCollection;
import org.fortiss.af3.platform.hierarchic.model.allocation.PartitionToHardwareAllocationTable;
import static org.fortiss.af3.platform.ui.AF3PlatformUIActivator.getImageDescriptor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.fortiss.af3.platform.model.allocation.ComponentToExecutionUnitAllocationTable;
import org.fortiss.tooling.kernel.ui.extension.base.NamedCommentedModelElementHandlerBase;
/**
* Compositor to add {@link PartitionToHardwareAllocationTable}s to
* {@link AllocationTableCollection}s.
* Model element handler for {@link ComponentToExecutionUnitAllocationTable}s.
*
* @author barner
*/
public class AllocationTableCollectionCompositor extends AllocationTableCollectionCompositorBase {
public class ComponentToExecutionUnitAllocationTableHandler extends
NamedCommentedModelElementHandlerBase<ComponentToExecutionUnitAllocationTable> {
/** Constructor. */
public AllocationTableCollectionCompositor() {
super(PartitionToHardwareAllocationTable.class, 1);
/** {@inheritDoc} */
@Override
public ImageDescriptor getIconImageDescriptor() {
return getImageDescriptor("icons/ca2hw.png");
}
}
PrototypeProvider.java 58f453de2128f7ca18f0520ddaf18357136442b6 GREEN
PrototypeProvider.java aedf51a11c0c513989d811ed76b1cf6062a7f8e3 YELLOW
......@@ -15,6 +15,8 @@
+--------------------------------------------------------------------------*/
package org.fortiss.af3.platform.ui.prototypes;
import static org.fortiss.af3.allocation.ui.DefaultStyle.RIGHT_ARROW;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createComponentToExecutionUnitAllocationTable;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createGenericExecutionUnit;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createGenericReceiver;
import static org.fortiss.af3.platform.utils.PlatformModelElementFactory.createGenericTransceiver;
......@@ -28,6 +30,8 @@ import static org.fortiss.tooling.base.utils.LayoutDataUtils.setNodeBounds;
import static org.fortiss.tooling.base.utils.LayoutDataUtils.setNodePosition;
import static org.fortiss.tooling.base.utils.LayoutModelElementFactory.createRectangle;
import org.fortiss.af3.component.model.Component;
import org.fortiss.af3.platform.model.ExecutionUnit;
import org.fortiss.af3.platform.model.PlatformArchitecture;
import org.fortiss.af3.platform.model.generic.GenericExecutionUnit;
import org.fortiss.af3.platform.model.generic.GenericReceiver;
......@@ -48,11 +52,16 @@ public final class PrototypeProvider extends PrototypeProviderBase {
/** Stores the category to display for these prototypes. */
protected final static String CATEGORY_NAME = "Generic Platform Architecture";
/** {@link Component}s to {@link ExecutionUnit}s label. */
private final static String COMPONENTS_TO_EXECUTION_UNITS = "Components " + RIGHT_ARROW +
" Execution Units";
/** {@inheritDoc} */
@Override
protected void registerPrototypes() {
setupPlatformArchitecturePrototypes();
setupGenericPlatformPrototypes();
setupAllocationPrototypes();
}
/** Defines prototypes for {@link PlatformArchitecture}s. */
......@@ -86,4 +95,11 @@ public final class PrototypeProvider extends PrototypeProviderBase {
setConnectorPosition(gr, 0, 0);
registerPrototype("Generic_Sensor", gr, CATEGORY_NAME);
}
/** Creates the prototypes for the platform allocation entities. */
private void setupAllocationPrototypes() {
registerPrimaryPrototype(COMPONENTS_TO_EXECUTION_UNITS,
createComponentToExecutionUnitAllocationTable(COMPONENTS_TO_EXECUTION_UNITS),
org.fortiss.af3.allocation.ui.prototypes.PrototypeProvider.CATEGORY);
}
}
......@@ -9,11 +9,8 @@ Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.fortiss.af3.platform.AF3PlatformActivator
Require-Bundle: org.fortiss.af3.component;visibility:=reexport;bundle-version="2.12.0",
org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.fortiss.tooling.base;visibility:=reexport,
org.fortiss.tooling.kernel;visibility:=reexport
Require-Bundle: org.fortiss.af3.component;visibility:=reexport,
org.fortiss.af3.allocation;visibility:=reexport
Export-Package: org.fortiss.af3.platform,
org.fortiss.af3.platform.annotation.valueprovider,
org.fortiss.af3.platform.compose,
......@@ -26,6 +23,9 @@ Export-Package: org.fortiss.af3.platform,
org.fortiss.af3.platform.language.executable,
org.fortiss.af3.platform.language.transform,
org.fortiss.af3.platform.model,
org.fortiss.af3.platform.model.allocation,
org.fortiss.af3.platform.model.allocation.impl,
org.fortiss.af3.platform.model.allocation.util,
org.fortiss.af3.platform.model.annotation,
org.fortiss.af3.platform.model.annotation.impl,
org.fortiss.af3.platform.model.annotation.util,
......
......@@ -252,6 +252,38 @@
interface="true" eSuperTypes="#//IPlatformResource"/>
<eClassifiers xsi:type="ecore:EClass" name="IPlatformIOResource" abstract="true"
interface="true" eSuperTypes="#//IPlatformResource"/>
<eSubpackages name="allocation" nsURI="http://www.fortiss.org/af3/platform/allocation"
nsPrefix="org-fortiss-af3-platform-allocation">
<eClassifiers xsi:type="ecore:EClass" name="ComponentToExecutionUnitAllocationTable"
eSuperTypes="platform:/resource/org.fortiss.af3.allocation/model/allocation.ecore#//AllocationTable">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Allocation specializations to map {@link ComponentArchitecture}s to (generic) {@link PlatformArchitecture}s."/>
</eAnnotations>
<eOperations name="getComponents">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Returns the {@link Component}s that are allocated to the given {@code ExecutionUnit} (or {@code null} in case none exists)."/>
<details key="body" value="return ComponentToExecutionUnitAllocationTableStaticImpl.getComponents(this, executionUnit);"/>
</eAnnotations>
<eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EEList">
<eTypeArguments eClassifier="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//Component"/>
</eGenericType>
<eParameters name="executionUnit" eType="#//ExecutionUnit"/>
</eOperations>
<eOperations name="getExecutionUnit" eType="#//ExecutionUnit">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="Returns the {@link ExecutionUnit} to which the given {@code Component} is allocated (or {@code null} in case none exists)."/>
<details key="body" value="return ComponentToExecutionUnitAllocationTableStaticImpl.getExecutionUnit(this, component);"/>
</eAnnotations>
<eParameters name="component" eType="ecore:EClass platform:/resource/org.fortiss.af3.component/model/component.ecore#//Component"/>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ComponentToExecutionUnitAllocationEntry"
eSuperTypes="platform:/resource/org.fortiss.af3.allocation/model/allocation.ecore#//ManyToOneAllocationEntry platform:/resource/org.fortiss.af3.allocation/model/allocation.ecore#//IBidirectional">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="{@link AllocationEntry} specialization to define the allocation of a {@link Component}s to {@link ExecutionUnit}s."/>
</eAnnotations>
</eClassifiers>
</eSubpackages>
<eSubpackages name="annotation" nsURI="http://www.fortiss.org/af3/platform/annotation"
nsPrefix="org-fortiss-af3-platform-annotation">
<eClassifiers xsi:type="ecore:EClass" name="ExecutionUnitSpeed">
......
......@@ -7,7 +7,7 @@
editorPluginClass="org.fortiss.af3.platform.model.presentation.ModelEditorPlugin"
testsDirectory="/org.fortiss.af3.platform.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.tooling.kernel/model/kernel.genmodel#//model">
usedGenPackages="platform:/resource/org.fortiss.af3.component/model/component.genmodel#//model platform:/resource/org.fortiss.af3.allocation/model/allocation.genmodel#//model 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.project/model/project.genmodel#//model platform:/resource/org.fortiss.af3.expression/model/expression.genmodel#//model">
<foreignModel>platform.ecore</foreignModel>
<genPackages prefix="AF3Platform" basePackage="org.fortiss.af3.platform" disposableProviderFactory="true"
ecorePackage="platform.ecore#/">
......@@ -91,6 +91,18 @@
<genClasses image="false" ecoreClass="platform.ecore#//IPlatformProcessingResource"/>
<genClasses image="false" ecoreClass="platform.ecore#//IPlatformMemoryResource"/>
<genClasses image="false" ecoreClass="platform.ecore#//IPlatformIOResource"/>
<nestedGenPackages prefix="PlatformAllocation" basePackage="org.fortiss.af3.platform.model"
disposableProviderFactory="true" ecorePackage="platform.ecore#//allocation">
<genClasses ecoreClass="platform.ecore#//allocation/ComponentToExecutionUnitAllocationTable">
<genOperations ecoreOperation="platform.ecore#//allocation/ComponentToExecutionUnitAllocationTable/getComponents">
<genParameters ecoreParameter="platform.ecore#//allocation/ComponentToExecutionUnitAllocationTable/getComponents/executionUnit"/>
</genOperations>
<genOperations ecoreOperation="platform.ecore#//allocation/ComponentToExecutionUnitAllocationTable/getExecutionUnit">
<genParameters ecoreParameter="platform.ecore#//allocation/ComponentToExecutionUnitAllocationTable/getExecutionUnit/component"/>
</genOperations>
</genClasses>
<genClasses ecoreClass="platform.ecore#//allocation/ComponentToExecutionUnitAllocationEntry"/>
</nestedGenPackages>
<nestedGenPackages prefix="AF3PlatformAnnotation" basePackage="org.fortiss.af3.platform.model"
disposableProviderFactory="true" ecorePackage="platform.ecore#//annotation">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="platform.ecore#//annotation/RamType_t">
......
......@@ -86,6 +86,10 @@
<modelElementCompositor compositor="org.fortiss.af3.platform.compose.generic.GenericTransmissionUnitCompositor">
<modelElementClass modelElementClass="org.fortiss.af3.platform.model.IPlatformArchitectureElement"/>
</modelElementCompositor>
<modelElementCompositor compositor="org.fortiss.af3.platform.compose.ComponentToExecutionUnitAllocationTableCollectionCompositor">
<modelElementClass modelElementClass="org.fortiss.af3.allocation.model.AllocationTableCollection"/>
</modelElementCompositor>
</extension>
<extension point="org.fortiss.tooling.kernel.modelConnectionCompositor">
......
ComponentToExecutionUnitAllocationTableCollectionCompositor.java 6918157c9ee4a557f6071b2f3c0c5f4d7e7080f2 YELLOW
IArchitectureDomainDependant.java 23c0513334641244eaed49eb07b3e19f628913c0 GREEN
IPlatformHierarchicalCompositionRules.java 8b38d3d16ee5068b6bc59728f8be7b119781b630 GREEN
PlatformArchitectureCompositor.java 10fcac497989062545bac6751922385c46fbf904 GREEN
......
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