use of org.osate.aadl2.RecordValue in project osate2 by osate.
the class WriteTime method toPropertyExpression.
@Override
public RecordValue toPropertyExpression(ResourceSet resourceSet) {
if (!fixed.isPresent() && !perbyte.isPresent()) {
throw new IllegalStateException("Record must have at least one field set.");
}
RecordValue recordValue = Aadl2Factory.eINSTANCE.createRecordValue();
fixed.ifPresent(field -> {
BasicPropertyAssociation fieldAssociation = recordValue.createOwnedFieldValue();
fieldAssociation.setProperty(loadField(resourceSet, FIXED__URI, FIXED__NAME));
fieldAssociation.setOwnedValue(field.toPropertyExpression(resourceSet));
});
perbyte.ifPresent(field -> {
BasicPropertyAssociation fieldAssociation = recordValue.createOwnedFieldValue();
fieldAssociation.setProperty(loadField(resourceSet, PERBYTE__URI, PERBYTE__NAME));
fieldAssociation.setOwnedValue(field.toPropertyExpression(resourceSet));
});
return recordValue;
}
use of org.osate.aadl2.RecordValue in project osate2 by osate.
the class InstantiateModel method processConnections.
// --------------------------------------------------------------------------------------------
// Methods for connection sets and connection patterns
// --------------------------------------------------------------------------------------------
private void processConnections(SystemInstance root) throws InterruptedException {
if (monitor.isCanceled()) {
throw new InterruptedException();
}
EList<ComponentInstance> replicateConns = new UniqueEList<ComponentInstance>();
List<ConnectionInstance> toRemove = new ArrayList<ConnectionInstance>();
EList<ConnectionInstance> connilist = root.getAllConnectionInstances();
for (ConnectionInstance conni : connilist) {
// track all component instances that contain connection instances
replicateConns.add(conni.getComponentInstance());
PropertyAssociation setPA = getPA(conni, "Connection_Set");
PropertyAssociation patternPA = getPA(conni, "Connection_Pattern");
if (setPA == null && patternPA == null) {
// OsateDebug.osateDebug("[InstantiateModel] processConnections");
LinkedList<Integer> srcDims = new LinkedList<Integer>();
LinkedList<Integer> dstDims = new LinkedList<Integer>();
LinkedList<Integer> srcSizes = new LinkedList<Integer>();
LinkedList<Integer> dstSizes = new LinkedList<Integer>();
boolean done = false;
analyzePath(conni.getContainingComponentInstance(), conni.getSource(), null, srcDims, srcSizes);
analyzePath(conni.getContainingComponentInstance(), conni.getDestination(), null, dstDims, dstSizes);
for (int d : srcDims) {
if (d != 0) {
done = true;
if (interpretConnectionPatterns(conni, false, null, 0, srcSizes, 0, dstSizes, 0, new ArrayList<Long>(), new ArrayList<Long>())) {
toRemove.add(conni);
}
break;
}
}
if (!done) {
for (int d : dstDims) {
if (d != 0) {
done = true;
if (interpretConnectionPatterns(conni, false, null, 0, srcSizes, 0, dstSizes, 0, new ArrayList<Long>(), new ArrayList<Long>())) {
toRemove.add(conni);
}
break;
}
}
}
} else if (patternPA != null) {
boolean isOpposite = Aadl2InstanceUtil.isOpposite(conni);
EcoreUtil.remove(patternPA);
List<PropertyExpression> patterns = ((ListValue) patternPA.getOwnedValues().get(0).getOwnedValue()).getOwnedListElements();
for (PropertyExpression pe : patterns) {
List<PropertyExpression> pattern = ((ListValue) pe).getOwnedListElements();
LinkedList<Integer> srcSizes = new LinkedList<Integer>();
LinkedList<Integer> dstSizes = new LinkedList<Integer>();
analyzePath(conni.getContainingComponentInstance(), conni.getSource(), null, null, srcSizes);
analyzePath(conni.getContainingComponentInstance(), conni.getDestination(), null, null, dstSizes);
if (srcSizes.size() == 0 && dstSizes.size() == 0) {
errManager.warning(conni, "Connection pattern specified for connection that does not connect array elements.");
} else {
if (interpretConnectionPatterns(conni, isOpposite, pattern, 0, srcSizes, 0, dstSizes, 0, new ArrayList<Long>(), new ArrayList<Long>())) {
toRemove.add(conni);
}
}
}
}
// no else as we want both the pattern and the connection set evaluated
if (setPA != null) {
EcoreUtil.remove(setPA);
// TODO-LW: modal conn set allowed?
List<Long> srcIndices;
List<Long> dstIndices;
for (PropertyExpression pe : ((ListValue) setPA.getOwnedValues().get(0).getOwnedValue()).getOwnedListElements()) {
RecordValue rv = (RecordValue) pe;
srcIndices = getIndices(rv, "src");
dstIndices = getIndices(rv, "dst");
if (Aadl2InstanceUtil.isOpposite(conni)) {
// flip indices since we are going in the opposite direction
createNewConnection(conni, dstIndices, srcIndices);
} else {
createNewConnection(conni, srcIndices, dstIndices);
}
}
toRemove.add(conni);
}
}
for (ConnectionInstance conni : toRemove) {
EcoreUtil.delete(conni);
}
replicateConnections(replicateConns);
}
use of org.osate.aadl2.RecordValue in project osate2 by osate.
the class Aadl2PackageImpl method initializePackageContents.
/**
* Complete the initialization of the package and its meta-model. This
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents() {
if (isInitialized) {
return;
}
isInitialized = true;
// Initialize package
setName(eNAME);
setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
commentEClass.getESuperTypes().add(getElement());
typeEClass.getESuperTypes().add(getNamedElement());
namedElementEClass.getESuperTypes().add(getElement());
propertyAssociationEClass.getESuperTypes().add(getElement());
propertyEClass.getESuperTypes().add(getBasicProperty());
propertyEClass.getESuperTypes().add(getAbstractNamedValue());
basicPropertyEClass.getESuperTypes().add(getTypedElement());
typedElementEClass.getESuperTypes().add(getNamedElement());
propertyTypeEClass.getESuperTypes().add(getType());
propertyExpressionEClass.getESuperTypes().add(getElement());
metaclassReferenceEClass.getESuperTypes().add(getPropertyOwner());
propertyOwnerEClass.getESuperTypes().add(getElement());
classifierEClass.getESuperTypes().add(getNamespace());
classifierEClass.getESuperTypes().add(getType());
namespaceEClass.getESuperTypes().add(getNamedElement());
classifierFeatureEClass.getESuperTypes().add(getNamedElement());
generalizationEClass.getESuperTypes().add(getDirectedRelationship());
directedRelationshipEClass.getESuperTypes().add(getRelationship());
relationshipEClass.getESuperTypes().add(getElement());
annexSubclauseEClass.getESuperTypes().add(getModalElement());
modalElementEClass.getESuperTypes().add(getNamedElement());
modeEClass.getESuperTypes().add(getModeFeature());
modeFeatureEClass.getESuperTypes().add(getClassifierFeature());
prototypeEClass.getESuperTypes().add(getStructuralFeature());
prototypeEClass.getESuperTypes().add(getCalledSubprogram());
structuralFeatureEClass.getESuperTypes().add(getRefinableElement());
structuralFeatureEClass.getESuperTypes().add(getClassifierFeature());
refinableElementEClass.getESuperTypes().add(getNamedElement());
prototypeBindingEClass.getESuperTypes().add(getElement());
containedNamedElementEClass.getESuperTypes().add(getElement());
containmentPathElementEClass.getESuperTypes().add(getElement());
arrayRangeEClass.getESuperTypes().add(getElement());
modalPropertyValueEClass.getESuperTypes().add(getModalElement());
behavioralFeatureEClass.getESuperTypes().add(getClassifierFeature());
arrayDimensionEClass.getESuperTypes().add(getElement());
arraySizeEClass.getESuperTypes().add(getElement());
arrayableElementEClass.getESuperTypes().add(getElement());
componentImplementationReferenceEClass.getESuperTypes().add(getElement());
componentImplementationEClass.getESuperTypes().add(getComponentClassifier());
componentClassifierEClass.getESuperTypes().add(getClassifier());
componentClassifierEClass.getESuperTypes().add(getSubcomponentType());
componentClassifierEClass.getESuperTypes().add(getFeatureClassifier());
subcomponentTypeEClass.getESuperTypes().add(getType());
modeTransitionEClass.getESuperTypes().add(getModeFeature());
modeTransitionTriggerEClass.getESuperTypes().add(getElement());
contextEClass.getESuperTypes().add(getNamedElement());
triggerPortEClass.getESuperTypes().add(getNamedElement());
componentTypeEClass.getESuperTypes().add(getComponentClassifier());
featureEClass.getESuperTypes().add(getStructuralFeature());
featureEClass.getESuperTypes().add(getFeatureConnectionEnd());
featureEClass.getESuperTypes().add(getArrayableElement());
featureConnectionEndEClass.getESuperTypes().add(getConnectionEnd());
connectionEndEClass.getESuperTypes().add(getNamedElement());
componentPrototypeEClass.getESuperTypes().add(getPrototype());
componentPrototypeEClass.getESuperTypes().add(getSubcomponentType());
componentPrototypeEClass.getESuperTypes().add(getFeatureClassifier());
flowSpecificationEClass.getESuperTypes().add(getFlowFeature());
flowSpecificationEClass.getESuperTypes().add(getModalPath());
flowSpecificationEClass.getESuperTypes().add(getFlowElement());
flowFeatureEClass.getESuperTypes().add(getStructuralFeature());
flowFeatureEClass.getESuperTypes().add(getFlow());
flowEClass.getESuperTypes().add(getNamedElement());
modalPathEClass.getESuperTypes().add(getModalElement());
flowElementEClass.getESuperTypes().add(getEndToEndFlowElement());
endToEndFlowElementEClass.getESuperTypes().add(getNamedElement());
flowEndEClass.getESuperTypes().add(getElement());
typeExtensionEClass.getESuperTypes().add(getGeneralization());
featureGroupEClass.getESuperTypes().add(getDirectedFeature());
featureGroupEClass.getESuperTypes().add(getContext());
featureGroupEClass.getESuperTypes().add(getFeatureGroupConnectionEnd());
featureGroupEClass.getESuperTypes().add(getCallContext());
directedFeatureEClass.getESuperTypes().add(getFeature());
featureGroupConnectionEndEClass.getESuperTypes().add(getConnectionEnd());
featureGroupTypeEClass.getESuperTypes().add(getClassifier());
featureGroupTypeEClass.getESuperTypes().add(getFeatureType());
groupExtensionEClass.getESuperTypes().add(getGeneralization());
busAccessEClass.getESuperTypes().add(getAccess());
accessEClass.getESuperTypes().add(getFeature());
accessEClass.getESuperTypes().add(getAccessConnectionEnd());
accessConnectionEndEClass.getESuperTypes().add(getConnectionEnd());
busFeatureClassifierEClass.getESuperTypes().add(getFeatureClassifier());
dataAccessEClass.getESuperTypes().add(getAccess());
dataAccessEClass.getESuperTypes().add(getFlowElement());
dataAccessEClass.getESuperTypes().add(getParameterConnectionEnd());
dataAccessEClass.getESuperTypes().add(getPortConnectionEnd());
parameterConnectionEndEClass.getESuperTypes().add(getConnectionEnd());
portConnectionEndEClass.getESuperTypes().add(getConnectionEnd());
dataSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
dataSubcomponentTypeEClass.getESuperTypes().add(getAbstractFeatureClassifier());
abstractFeatureClassifierEClass.getESuperTypes().add(getFeatureClassifier());
dataPortEClass.getESuperTypes().add(getPort());
dataPortEClass.getESuperTypes().add(getContext());
dataPortEClass.getESuperTypes().add(getParameterConnectionEnd());
portEClass.getESuperTypes().add(getDirectedFeature());
portEClass.getESuperTypes().add(getPortConnectionEnd());
portEClass.getESuperTypes().add(getTriggerPort());
eventDataPortEClass.getESuperTypes().add(getPort());
eventDataPortEClass.getESuperTypes().add(getContext());
eventDataPortEClass.getESuperTypes().add(getParameterConnectionEnd());
eventPortEClass.getESuperTypes().add(getPort());
parameterEClass.getESuperTypes().add(getDirectedFeature());
parameterEClass.getESuperTypes().add(getContext());
parameterEClass.getESuperTypes().add(getParameterConnectionEnd());
subprogramAccessEClass.getESuperTypes().add(getAccess());
subprogramAccessEClass.getESuperTypes().add(getContext());
subprogramAccessEClass.getESuperTypes().add(getCalledSubprogram());
subprogramSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
subprogramSubcomponentTypeEClass.getESuperTypes().add(getAbstractFeatureClassifier());
subprogramGroupAccessEClass.getESuperTypes().add(getAccess());
subprogramGroupAccessEClass.getESuperTypes().add(getCallContext());
subprogramGroupSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
subprogramGroupSubcomponentTypeEClass.getESuperTypes().add(getAbstractFeatureClassifier());
abstractFeatureEClass.getESuperTypes().add(getDirectedFeature());
abstractFeatureEClass.getESuperTypes().add(getTriggerPort());
featurePrototypeEClass.getESuperTypes().add(getPrototype());
featureGroupPrototypeEClass.getESuperTypes().add(getPrototype());
featureGroupPrototypeEClass.getESuperTypes().add(getFeatureType());
subcomponentEClass.getESuperTypes().add(getStructuralFeature());
subcomponentEClass.getESuperTypes().add(getModalElement());
subcomponentEClass.getESuperTypes().add(getContext());
subcomponentEClass.getESuperTypes().add(getFlowElement());
subcomponentEClass.getESuperTypes().add(getArrayableElement());
modeBindingEClass.getESuperTypes().add(getElement());
flowImplementationEClass.getESuperTypes().add(getModalPath());
flowImplementationEClass.getESuperTypes().add(getClassifierFeature());
flowImplementationEClass.getESuperTypes().add(getFlow());
flowSegmentEClass.getESuperTypes().add(getElement());
connectionEClass.getESuperTypes().add(getStructuralFeature());
connectionEClass.getESuperTypes().add(getModalPath());
connectionEClass.getESuperTypes().add(getFlowElement());
connectedElementEClass.getESuperTypes().add(getElement());
implementationExtensionEClass.getESuperTypes().add(getGeneralization());
realizationEClass.getESuperTypes().add(getGeneralization());
endToEndFlowEClass.getESuperTypes().add(getFlowFeature());
endToEndFlowEClass.getESuperTypes().add(getModalPath());
endToEndFlowEClass.getESuperTypes().add(getEndToEndFlowElement());
endToEndFlowSegmentEClass.getESuperTypes().add(getElement());
abstractSubcomponentEClass.getESuperTypes().add(getSubcomponent());
abstractSubcomponentEClass.getESuperTypes().add(getAbstract());
abstractEClass.getESuperTypes().add(getNamedElement());
abstractSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
abstractSubcomponentTypeEClass.getESuperTypes().add(getAbstractFeatureClassifier());
accessConnectionEClass.getESuperTypes().add(getConnection());
parameterConnectionEClass.getESuperTypes().add(getConnection());
portConnectionEClass.getESuperTypes().add(getConnection());
featureConnectionEClass.getESuperTypes().add(getConnection());
featureGroupConnectionEClass.getESuperTypes().add(getConnection());
processorFeatureEClass.getESuperTypes().add(getStructuralFeature());
internalFeatureEClass.getESuperTypes().add(getStructuralFeature());
internalFeatureEClass.getESuperTypes().add(getFeatureConnectionEnd());
internalFeatureEClass.getESuperTypes().add(getPortConnectionEnd());
internalFeatureEClass.getESuperTypes().add(getTriggerPort());
eventSourceEClass.getESuperTypes().add(getInternalFeature());
eventDataSourceEClass.getESuperTypes().add(getInternalFeature());
dataClassifierEClass.getESuperTypes().add(getComponentClassifier());
dataClassifierEClass.getESuperTypes().add(getData());
dataClassifierEClass.getESuperTypes().add(getDataSubcomponentType());
dataEClass.getESuperTypes().add(getNamedElement());
portProxyEClass.getESuperTypes().add(getProcessorFeature());
portProxyEClass.getESuperTypes().add(getFeatureConnectionEnd());
portProxyEClass.getESuperTypes().add(getPortConnectionEnd());
portProxyEClass.getESuperTypes().add(getTriggerPort());
subprogramProxyEClass.getESuperTypes().add(getProcessorFeature());
subprogramProxyEClass.getESuperTypes().add(getAccessConnectionEnd());
subprogramProxyEClass.getESuperTypes().add(getCalledSubprogram());
subprogramClassifierEClass.getESuperTypes().add(getComponentClassifier());
subprogramClassifierEClass.getESuperTypes().add(getSubprogram());
subprogramClassifierEClass.getESuperTypes().add(getSubprogramSubcomponentType());
subprogramEClass.getESuperTypes().add(getNamedElement());
subprogramEClass.getESuperTypes().add(getCalledSubprogram());
annexLibraryEClass.getESuperTypes().add(getNamedElement());
defaultAnnexLibraryEClass.getESuperTypes().add(getAnnexLibrary());
defaultAnnexSubclauseEClass.getESuperTypes().add(getAnnexSubclause());
publicPackageSectionEClass.getESuperTypes().add(getPackageSection());
packageSectionEClass.getESuperTypes().add(getNamespace());
packageRenameEClass.getESuperTypes().add(getNamedElement());
aadlPackageEClass.getESuperTypes().add(getModelUnit());
modelUnitEClass.getESuperTypes().add(getNamedElement());
privatePackageSectionEClass.getESuperTypes().add(getPackageSection());
componentTypeRenameEClass.getESuperTypes().add(getNamedElement());
featureGroupTypeRenameEClass.getESuperTypes().add(getNamedElement());
componentPrototypeBindingEClass.getESuperTypes().add(getPrototypeBinding());
componentPrototypeActualEClass.getESuperTypes().add(getArrayableElement());
featureGroupPrototypeBindingEClass.getESuperTypes().add(getPrototypeBinding());
featureGroupPrototypeActualEClass.getESuperTypes().add(getFeaturePrototypeActual());
featurePrototypeActualEClass.getESuperTypes().add(getArrayableElement());
featurePrototypeBindingEClass.getESuperTypes().add(getPrototypeBinding());
accessSpecificationEClass.getESuperTypes().add(getFeaturePrototypeActual());
portSpecificationEClass.getESuperTypes().add(getFeaturePrototypeActual());
featurePrototypeReferenceEClass.getESuperTypes().add(getFeaturePrototypeActual());
subprogramCallSequenceEClass.getESuperTypes().add(getBehavioralFeature());
subprogramCallSequenceEClass.getESuperTypes().add(getModalElement());
subprogramCallEClass.getESuperTypes().add(getBehavioralFeature());
subprogramCallEClass.getESuperTypes().add(getContext());
behavioredImplementationEClass.getESuperTypes().add(getComponentImplementation());
abstractTypeEClass.getESuperTypes().add(getComponentType());
abstractTypeEClass.getESuperTypes().add(getAbstractClassifier());
abstractTypeEClass.getESuperTypes().add(getCallContext());
abstractClassifierEClass.getESuperTypes().add(getComponentClassifier());
abstractClassifierEClass.getESuperTypes().add(getAbstract());
abstractClassifierEClass.getESuperTypes().add(getAbstractSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getBusSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getDataSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getDeviceSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getMemorySubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getProcessorSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getProcessSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getSubprogramGroupSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getSubprogramSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getSystemSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getThreadGroupSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getThreadSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getVirtualBusSubcomponentType());
abstractClassifierEClass.getESuperTypes().add(getVirtualProcessorSubcomponentType());
virtualProcessorSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
virtualBusSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
virtualBusSubcomponentTypeEClass.getESuperTypes().add(getAbstractFeatureClassifier());
virtualBusSubcomponentTypeEClass.getESuperTypes().add(getBusFeatureClassifier());
threadGroupSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
threadSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
systemSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
processSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
memorySubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
deviceSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
busSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
busSubcomponentTypeEClass.getESuperTypes().add(getAbstractFeatureClassifier());
busSubcomponentTypeEClass.getESuperTypes().add(getBusFeatureClassifier());
processorSubcomponentTypeEClass.getESuperTypes().add(getSubcomponentType());
abstractImplementationEClass.getESuperTypes().add(getBehavioredImplementation());
abstractImplementationEClass.getESuperTypes().add(getAbstractClassifier());
busSubcomponentEClass.getESuperTypes().add(getSubcomponent());
busSubcomponentEClass.getESuperTypes().add(getAccessConnectionEnd());
busSubcomponentEClass.getESuperTypes().add(getBus());
busEClass.getESuperTypes().add(getNamedElement());
dataSubcomponentEClass.getESuperTypes().add(getSubcomponent());
dataSubcomponentEClass.getESuperTypes().add(getAccessConnectionEnd());
dataSubcomponentEClass.getESuperTypes().add(getData());
dataSubcomponentEClass.getESuperTypes().add(getParameterConnectionEnd());
dataSubcomponentEClass.getESuperTypes().add(getPortConnectionEnd());
deviceSubcomponentEClass.getESuperTypes().add(getSubcomponent());
deviceSubcomponentEClass.getESuperTypes().add(getDevice());
deviceEClass.getESuperTypes().add(getNamedElement());
memorySubcomponentEClass.getESuperTypes().add(getSubcomponent());
memorySubcomponentEClass.getESuperTypes().add(getMemory());
memoryEClass.getESuperTypes().add(getNamedElement());
processSubcomponentEClass.getESuperTypes().add(getSubcomponent());
processSubcomponentEClass.getESuperTypes().add(getProcess());
processEClass.getESuperTypes().add(getNamedElement());
processorSubcomponentEClass.getESuperTypes().add(getSubcomponent());
processorSubcomponentEClass.getESuperTypes().add(getProcessor());
processorEClass.getESuperTypes().add(getNamedElement());
systemSubcomponentEClass.getESuperTypes().add(getSubcomponent());
systemSubcomponentEClass.getESuperTypes().add(getSystem());
systemEClass.getESuperTypes().add(getNamedElement());
subprogramSubcomponentEClass.getESuperTypes().add(getSubcomponent());
subprogramSubcomponentEClass.getESuperTypes().add(getAccessConnectionEnd());
subprogramSubcomponentEClass.getESuperTypes().add(getSubprogram());
subprogramGroupSubcomponentEClass.getESuperTypes().add(getSubcomponent());
subprogramGroupSubcomponentEClass.getESuperTypes().add(getAccessConnectionEnd());
subprogramGroupSubcomponentEClass.getESuperTypes().add(getSubprogramGroup());
subprogramGroupSubcomponentEClass.getESuperTypes().add(getCallContext());
subprogramGroupEClass.getESuperTypes().add(getNamedElement());
threadSubcomponentEClass.getESuperTypes().add(getSubcomponent());
threadSubcomponentEClass.getESuperTypes().add(getThread());
threadEClass.getESuperTypes().add(getNamedElement());
threadGroupSubcomponentEClass.getESuperTypes().add(getSubcomponent());
threadGroupSubcomponentEClass.getESuperTypes().add(getThreadGroup());
threadGroupEClass.getESuperTypes().add(getNamedElement());
virtualBusSubcomponentEClass.getESuperTypes().add(getSubcomponent());
virtualBusSubcomponentEClass.getESuperTypes().add(getAccessConnectionEnd());
virtualBusSubcomponentEClass.getESuperTypes().add(getVirtualBus());
virtualBusEClass.getESuperTypes().add(getNamedElement());
virtualProcessorSubcomponentEClass.getESuperTypes().add(getSubcomponent());
virtualProcessorSubcomponentEClass.getESuperTypes().add(getVirtualProcessor());
virtualProcessorEClass.getESuperTypes().add(getNamedElement());
abstractPrototypeEClass.getESuperTypes().add(getComponentPrototype());
abstractPrototypeEClass.getESuperTypes().add(getAbstract());
abstractPrototypeEClass.getESuperTypes().add(getAbstractSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getBusSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getDataSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getDeviceSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getMemorySubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getProcessorSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getProcessSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getSubprogramGroupSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getSubprogramSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getSystemSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getThreadGroupSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getThreadSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getVirtualBusSubcomponentType());
abstractPrototypeEClass.getESuperTypes().add(getVirtualProcessorSubcomponentType());
busClassifierEClass.getESuperTypes().add(getComponentClassifier());
busClassifierEClass.getESuperTypes().add(getBus());
busClassifierEClass.getESuperTypes().add(getBusSubcomponentType());
busTypeEClass.getESuperTypes().add(getComponentType());
busTypeEClass.getESuperTypes().add(getBusClassifier());
busImplementationEClass.getESuperTypes().add(getComponentImplementation());
busImplementationEClass.getESuperTypes().add(getBusClassifier());
busPrototypeEClass.getESuperTypes().add(getComponentPrototype());
busPrototypeEClass.getESuperTypes().add(getBus());
busPrototypeEClass.getESuperTypes().add(getBusSubcomponentType());
dataTypeEClass.getESuperTypes().add(getComponentType());
dataTypeEClass.getESuperTypes().add(getDataClassifier());
dataTypeEClass.getESuperTypes().add(getCallContext());
dataImplementationEClass.getESuperTypes().add(getComponentImplementation());
dataImplementationEClass.getESuperTypes().add(getDataClassifier());
dataPrototypeEClass.getESuperTypes().add(getComponentPrototype());
dataPrototypeEClass.getESuperTypes().add(getData());
dataPrototypeEClass.getESuperTypes().add(getDataSubcomponentType());
deviceClassifierEClass.getESuperTypes().add(getComponentClassifier());
deviceClassifierEClass.getESuperTypes().add(getDevice());
deviceClassifierEClass.getESuperTypes().add(getDeviceSubcomponentType());
deviceTypeEClass.getESuperTypes().add(getComponentType());
deviceTypeEClass.getESuperTypes().add(getDeviceClassifier());
deviceImplementationEClass.getESuperTypes().add(getComponentImplementation());
deviceImplementationEClass.getESuperTypes().add(getDeviceClassifier());
devicePrototypeEClass.getESuperTypes().add(getComponentPrototype());
devicePrototypeEClass.getESuperTypes().add(getDevice());
devicePrototypeEClass.getESuperTypes().add(getDeviceSubcomponentType());
memoryClassifierEClass.getESuperTypes().add(getComponentClassifier());
memoryClassifierEClass.getESuperTypes().add(getMemory());
memoryClassifierEClass.getESuperTypes().add(getMemorySubcomponentType());
memoryTypeEClass.getESuperTypes().add(getComponentType());
memoryTypeEClass.getESuperTypes().add(getMemoryClassifier());
memoryImplementationEClass.getESuperTypes().add(getComponentImplementation());
memoryImplementationEClass.getESuperTypes().add(getMemoryClassifier());
memoryPrototypeEClass.getESuperTypes().add(getComponentPrototype());
memoryPrototypeEClass.getESuperTypes().add(getMemory());
memoryPrototypeEClass.getESuperTypes().add(getMemorySubcomponentType());
subprogramTypeEClass.getESuperTypes().add(getComponentType());
subprogramTypeEClass.getESuperTypes().add(getSubprogramClassifier());
subprogramTypeEClass.getESuperTypes().add(getCallContext());
subprogramImplementationEClass.getESuperTypes().add(getBehavioredImplementation());
subprogramImplementationEClass.getESuperTypes().add(getSubprogramClassifier());
subprogramPrototypeEClass.getESuperTypes().add(getComponentPrototype());
subprogramPrototypeEClass.getESuperTypes().add(getSubprogram());
subprogramPrototypeEClass.getESuperTypes().add(getSubprogramSubcomponentType());
subprogramGroupClassifierEClass.getESuperTypes().add(getComponentClassifier());
subprogramGroupClassifierEClass.getESuperTypes().add(getSubprogramGroup());
subprogramGroupClassifierEClass.getESuperTypes().add(getSubprogramGroupSubcomponentType());
subprogramGroupTypeEClass.getESuperTypes().add(getComponentType());
subprogramGroupTypeEClass.getESuperTypes().add(getSubprogramGroupClassifier());
subprogramGroupTypeEClass.getESuperTypes().add(getCallContext());
subprogramGroupImplementationEClass.getESuperTypes().add(getComponentImplementation());
subprogramGroupImplementationEClass.getESuperTypes().add(getSubprogramGroupClassifier());
subprogramGroupPrototypeEClass.getESuperTypes().add(getComponentPrototype());
subprogramGroupPrototypeEClass.getESuperTypes().add(getSubprogramGroup());
subprogramGroupPrototypeEClass.getESuperTypes().add(getSubprogramGroupSubcomponentType());
systemClassifierEClass.getESuperTypes().add(getComponentClassifier());
systemClassifierEClass.getESuperTypes().add(getSystem());
systemClassifierEClass.getESuperTypes().add(getSystemSubcomponentType());
systemTypeEClass.getESuperTypes().add(getComponentType());
systemTypeEClass.getESuperTypes().add(getSystemClassifier());
systemImplementationEClass.getESuperTypes().add(getComponentImplementation());
systemImplementationEClass.getESuperTypes().add(getSystemClassifier());
systemPrototypeEClass.getESuperTypes().add(getComponentPrototype());
systemPrototypeEClass.getESuperTypes().add(getSystem());
systemPrototypeEClass.getESuperTypes().add(getSystemSubcomponentType());
processorClassifierEClass.getESuperTypes().add(getComponentClassifier());
processorClassifierEClass.getESuperTypes().add(getProcessor());
processorClassifierEClass.getESuperTypes().add(getProcessorSubcomponentType());
processorTypeEClass.getESuperTypes().add(getComponentType());
processorTypeEClass.getESuperTypes().add(getProcessorClassifier());
processorImplementationEClass.getESuperTypes().add(getComponentImplementation());
processorImplementationEClass.getESuperTypes().add(getProcessorClassifier());
processorPrototypeEClass.getESuperTypes().add(getComponentPrototype());
processorPrototypeEClass.getESuperTypes().add(getProcessor());
processorPrototypeEClass.getESuperTypes().add(getProcessorSubcomponentType());
processClassifierEClass.getESuperTypes().add(getComponentClassifier());
processClassifierEClass.getESuperTypes().add(getProcess());
processClassifierEClass.getESuperTypes().add(getProcessSubcomponentType());
processTypeEClass.getESuperTypes().add(getComponentType());
processTypeEClass.getESuperTypes().add(getProcessClassifier());
processImplementationEClass.getESuperTypes().add(getComponentImplementation());
processImplementationEClass.getESuperTypes().add(getProcessClassifier());
processPrototypeEClass.getESuperTypes().add(getComponentPrototype());
processPrototypeEClass.getESuperTypes().add(getProcess());
processPrototypeEClass.getESuperTypes().add(getProcessSubcomponentType());
threadClassifierEClass.getESuperTypes().add(getComponentClassifier());
threadClassifierEClass.getESuperTypes().add(getThread());
threadClassifierEClass.getESuperTypes().add(getThreadSubcomponentType());
threadTypeEClass.getESuperTypes().add(getComponentType());
threadTypeEClass.getESuperTypes().add(getThreadClassifier());
threadImplementationEClass.getESuperTypes().add(getBehavioredImplementation());
threadImplementationEClass.getESuperTypes().add(getThreadClassifier());
threadPrototypeEClass.getESuperTypes().add(getComponentPrototype());
threadPrototypeEClass.getESuperTypes().add(getThread());
threadPrototypeEClass.getESuperTypes().add(getThreadSubcomponentType());
threadGroupClassifierEClass.getESuperTypes().add(getComponentClassifier());
threadGroupClassifierEClass.getESuperTypes().add(getThreadGroup());
threadGroupClassifierEClass.getESuperTypes().add(getThreadGroupSubcomponentType());
threadGroupTypeEClass.getESuperTypes().add(getComponentType());
threadGroupTypeEClass.getESuperTypes().add(getThreadGroupClassifier());
threadGroupImplementationEClass.getESuperTypes().add(getComponentImplementation());
threadGroupImplementationEClass.getESuperTypes().add(getThreadGroupClassifier());
threadGroupPrototypeEClass.getESuperTypes().add(getComponentPrototype());
threadGroupPrototypeEClass.getESuperTypes().add(getThreadGroup());
threadGroupPrototypeEClass.getESuperTypes().add(getThreadGroupSubcomponentType());
virtualBusClassifierEClass.getESuperTypes().add(getComponentClassifier());
virtualBusClassifierEClass.getESuperTypes().add(getVirtualBus());
virtualBusClassifierEClass.getESuperTypes().add(getVirtualBusSubcomponentType());
virtualBusTypeEClass.getESuperTypes().add(getComponentType());
virtualBusTypeEClass.getESuperTypes().add(getVirtualBusClassifier());
virtualBusImplementationEClass.getESuperTypes().add(getComponentImplementation());
virtualBusImplementationEClass.getESuperTypes().add(getVirtualBusClassifier());
virtualBusPrototypeEClass.getESuperTypes().add(getComponentPrototype());
virtualBusPrototypeEClass.getESuperTypes().add(getVirtualBus());
virtualBusPrototypeEClass.getESuperTypes().add(getVirtualBusSubcomponentType());
virtualProcessorClassifierEClass.getESuperTypes().add(getComponentClassifier());
virtualProcessorClassifierEClass.getESuperTypes().add(getVirtualProcessor());
virtualProcessorClassifierEClass.getESuperTypes().add(getVirtualProcessorSubcomponentType());
virtualProcessorTypeEClass.getESuperTypes().add(getComponentType());
virtualProcessorTypeEClass.getESuperTypes().add(getVirtualProcessorClassifier());
virtualProcessorImplementationEClass.getESuperTypes().add(getComponentImplementation());
virtualProcessorImplementationEClass.getESuperTypes().add(getVirtualProcessorClassifier());
virtualProcessorPrototypeEClass.getESuperTypes().add(getComponentPrototype());
virtualProcessorPrototypeEClass.getESuperTypes().add(getVirtualProcessor());
virtualProcessorPrototypeEClass.getESuperTypes().add(getVirtualProcessorSubcomponentType());
basicPropertyAssociationEClass.getESuperTypes().add(getElement());
propertyConstantEClass.getESuperTypes().add(getTypedElement());
propertyConstantEClass.getESuperTypes().add(getAbstractNamedValue());
propertyConstantEClass.getESuperTypes().add(getArraySizeProperty());
stringLiteralEClass.getESuperTypes().add(getPropertyValue());
propertyValueEClass.getESuperTypes().add(getPropertyExpression());
numberValueEClass.getESuperTypes().add(getPropertyValue());
unitLiteralEClass.getESuperTypes().add(getEnumerationLiteral());
enumerationLiteralEClass.getESuperTypes().add(getNamedElement());
enumerationLiteralEClass.getESuperTypes().add(getAbstractNamedValue());
classifierValueEClass.getESuperTypes().add(getPropertyOwner());
classifierValueEClass.getESuperTypes().add(getPropertyValue());
referenceValueEClass.getESuperTypes().add(getContainedNamedElement());
referenceValueEClass.getESuperTypes().add(getPropertyValue());
booleanLiteralEClass.getESuperTypes().add(getPropertyValue());
rangeValueEClass.getESuperTypes().add(getPropertyValue());
integerLiteralEClass.getESuperTypes().add(getNumberValue());
realLiteralEClass.getESuperTypes().add(getNumberValue());
operationEClass.getESuperTypes().add(getPropertyExpression());
recordValueEClass.getESuperTypes().add(getPropertyValue());
computedValueEClass.getESuperTypes().add(getPropertyValue());
listValueEClass.getESuperTypes().add(getPropertyExpression());
namedValueEClass.getESuperTypes().add(getPropertyValue());
propertySetEClass.getESuperTypes().add(getNamespace());
propertySetEClass.getESuperTypes().add(getModelUnit());
globalNamespaceEClass.getESuperTypes().add(getNamespace());
nonListTypeEClass.getESuperTypes().add(getPropertyType());
aadlBooleanEClass.getESuperTypes().add(getNonListType());
aadlStringEClass.getESuperTypes().add(getNonListType());
aadlIntegerEClass.getESuperTypes().add(getNumberType());
numberTypeEClass.getESuperTypes().add(getNonListType());
unitsTypeEClass.getESuperTypes().add(getEnumerationType());
enumerationTypeEClass.getESuperTypes().add(getNamespace());
enumerationTypeEClass.getESuperTypes().add(getNonListType());
numericRangeEClass.getESuperTypes().add(getElement());
aadlRealEClass.getESuperTypes().add(getNumberType());
classifierTypeEClass.getESuperTypes().add(getNonListType());
rangeTypeEClass.getESuperTypes().add(getNonListType());
recordTypeEClass.getESuperTypes().add(getNamespace());
recordTypeEClass.getESuperTypes().add(getNonListType());
recordFieldEClass.getESuperTypes().add(getBasicProperty());
referenceTypeEClass.getESuperTypes().add(getNonListType());
listTypeEClass.getESuperTypes().add(getPropertyType());
// Initialize classes and features; add operations and parameters
initEClass(elementEClass, Element.class, "Element", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getElement_OwnedElement(), getElement(), null, "ownedElement", null, 0, -1, Element.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getElement_OwnedComment(), getComment(), null, "ownedComment", null, 0, -1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
addEOperation(elementEClass, getElement(), "getOwner", 1, 1, IS_UNIQUE, !IS_ORDERED);
initEClass(commentEClass, Comment.class, "Comment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getComment_Body(), getString(), "body", null, 0, 1, Comment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(typeEClass, Type.class, "Type", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(namedElementEClass, NamedElement.class, "NamedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getNamedElement_Name(), getString(), "name", null, 0, 1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getNamedElement_QualifiedName(), getString(), "qualifiedName", null, 0, 1, NamedElement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getNamedElement_OwnedPropertyAssociation(), getPropertyAssociation(), null, "ownedPropertyAssociation", null, 0, -1, NamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
addEOperation(namedElementEClass, getNamespace(), "getNamespace", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEOperation(namedElementEClass, getString(), "qualifiedName", 1, 1, IS_UNIQUE, !IS_ORDERED);
EOperation op = addEOperation(namedElementEClass, getPropertyExpression(), "getPropertyValues", 0, -1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, getString(), "propertySetName", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, getString(), "propertyName", 1, 1, IS_UNIQUE, !IS_ORDERED);
initEClass(propertyAssociationEClass, PropertyAssociation.class, "PropertyAssociation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPropertyAssociation_Property(), getProperty(), null, "property", null, 1, 1, PropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertyAssociation_AppliesTo(), getContainedNamedElement(), null, "appliesTo", null, 0, -1, PropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertyAssociation_InBinding(), getClassifier(), null, "inBinding", null, 0, -1, PropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPropertyAssociation_Append(), getBoolean(), "append", null, 1, 1, PropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPropertyAssociation_Constant(), getBoolean(), "constant", null, 1, 1, PropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertyAssociation_OwnedValue(), getModalPropertyValue(), null, "ownedValue", null, 1, -1, PropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertyEClass, Property.class, "Property", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getProperty_Inherit(), getBoolean(), "inherit", null, 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProperty_DefaultValue(), getPropertyExpression(), null, "defaultValue", null, 0, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProperty_AppliesToMetaclass(), getMetaclassReference(), null, "appliesToMetaclass", null, 0, -1, Property.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getProperty_AppliesToClassifier(), getClassifier(), null, "appliesToClassifier", null, 0, -1, Property.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getProperty_AppliesTo(), getPropertyOwner(), null, "appliesTo", null, 0, -1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getProperty_EmptyListDefault(), getBoolean(), "emptyListDefault", null, 1, 1, Property.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(basicPropertyEClass, BasicProperty.class, "BasicProperty", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBasicProperty_ReferencedPropertyType(), getPropertyType(), null, "referencedPropertyType", null, 0, 1, BasicProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getBasicProperty_OwnedPropertyType(), getPropertyType(), null, "ownedPropertyType", null, 0, 1, BasicProperty.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getBasicProperty_PropertyType(), getPropertyType(), null, "propertyType", null, 1, 1, BasicProperty.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(typedElementEClass, TypedElement.class, "TypedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTypedElement_Type(), getType(), null, "type", null, 0, 1, TypedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertyTypeEClass, PropertyType.class, "PropertyType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(abstractNamedValueEClass, AbstractNamedValue.class, "AbstractNamedValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(propertyExpressionEClass, PropertyExpression.class, "PropertyExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(metaclassReferenceEClass, MetaclassReference.class, "MetaclassReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMetaclassReference_AnnexName(), getString(), "annexName", null, 0, 1, MetaclassReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getMetaclassReference_MetaclassName(), getString(), "metaclassName", null, 1, -1, MetaclassReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertyOwnerEClass, PropertyOwner.class, "PropertyOwner", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(classifierEClass, Classifier.class, "Classifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getClassifier_ClassifierFeature(), getClassifierFeature(), getClassifierFeature_FeaturingClassifier(), "classifierFeature", null, 0, -1, Classifier.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getClassifier_InheritedMember(), getNamedElement(), null, "inheritedMember", null, 0, -1, Classifier.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getClassifier_Generalization(), getGeneralization(), getGeneralization_Specific(), "generalization", null, 0, -1, Classifier.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getClassifier_General(), getClassifier(), null, "general", null, 0, -1, Classifier.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getClassifier_OwnedAnnexSubclause(), getAnnexSubclause(), null, "ownedAnnexSubclause", null, 0, -1, Classifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getClassifier_OwnedPrototype(), getPrototype(), null, "ownedPrototype", null, 0, -1, Classifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getClassifier_OwnedPrototypeBinding(), getPrototypeBinding(), null, "ownedPrototypeBinding", null, 0, -1, Classifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getClassifier_NoPrototypes(), getBoolean(), "noPrototypes", null, 1, 1, Classifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getClassifier_NoAnnexes(), getBoolean(), "noAnnexes", null, 1, 1, Classifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getClassifier_NoProperties(), getBoolean(), "noProperties", null, 1, 1, Classifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(namespaceEClass, Namespace.class, "Namespace", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNamespace_OwnedMember(), getNamedElement(), null, "ownedMember", null, 0, -1, Namespace.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getNamespace_Member(), getNamedElement(), null, "member", null, 0, -1, Namespace.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(classifierFeatureEClass, ClassifierFeature.class, "ClassifierFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getClassifierFeature_FeaturingClassifier(), getClassifier(), getClassifier_ClassifierFeature(), "featuringClassifier", null, 0, -1, ClassifierFeature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(generalizationEClass, Generalization.class, "Generalization", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGeneralization_General(), getClassifier(), null, "general", null, 1, 1, Generalization.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getGeneralization_Specific(), getClassifier(), getClassifier_Generalization(), "specific", null, 1, 1, Generalization.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(directedRelationshipEClass, DirectedRelationship.class, "DirectedRelationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDirectedRelationship_Source(), getElement(), null, "source", null, 1, -1, DirectedRelationship.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getDirectedRelationship_Target(), getElement(), null, "target", null, 1, -1, DirectedRelationship.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(relationshipEClass, Relationship.class, "Relationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRelationship_RelatedElement(), getElement(), null, "relatedElement", null, 1, -1, Relationship.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(annexSubclauseEClass, AnnexSubclause.class, "AnnexSubclause", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(modalElementEClass, ModalElement.class, "ModalElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModalElement_InMode(), getMode(), null, "inMode", null, 0, -1, ModalElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
addEOperation(modalElementEClass, getMode(), "getAllInModes", 0, -1, IS_UNIQUE, !IS_ORDERED);
initEClass(modeEClass, Mode.class, "Mode", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getMode_Initial(), getBoolean(), "initial", "false", 1, 1, Mode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getMode_Derived(), getBoolean(), "derived", "false", 1, 1, Mode.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(modeFeatureEClass, ModeFeature.class, "ModeFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(prototypeEClass, Prototype.class, "Prototype", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPrototype_Refined(), getPrototype(), null, "refined", null, 0, 1, Prototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(structuralFeatureEClass, StructuralFeature.class, "StructuralFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(refinableElementEClass, RefinableElement.class, "RefinableElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRefinableElement_RefinementContext(), getClassifier(), null, "refinementContext", null, 0, 1, RefinableElement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getRefinableElement_RefinedElement(), getRefinableElement(), null, "refinedElement", null, 0, 1, RefinableElement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(calledSubprogramEClass, CalledSubprogram.class, "CalledSubprogram", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(prototypeBindingEClass, PrototypeBinding.class, "PrototypeBinding", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPrototypeBinding_Formal(), getPrototype(), null, "formal", null, 1, 1, PrototypeBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(containedNamedElementEClass, ContainedNamedElement.class, "ContainedNamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getContainedNamedElement_Path(), getContainmentPathElement(), null, "path", null, 1, 1, ContainedNamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getContainedNamedElement_ContainmentPathElement(), getContainmentPathElement(), null, "containmentPathElement", null, 0, -1, ContainedNamedElement.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(containmentPathElementEClass, ContainmentPathElement.class, "ContainmentPathElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getContainmentPathElement_ArrayRange(), getArrayRange(), null, "arrayRange", null, 0, -1, ContainmentPathElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getContainmentPathElement_NamedElement(), getNamedElement(), null, "namedElement", null, 1, 1, ContainmentPathElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getContainmentPathElement_AnnexName(), getString(), "annexName", null, 0, 1, ContainmentPathElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getContainmentPathElement_Path(), getContainmentPathElement(), null, "path", null, 0, 1, ContainmentPathElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(arrayRangeEClass, ArrayRange.class, "ArrayRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getArrayRange_LowerBound(), getInteger(), "lowerBound", null, 1, 1, ArrayRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getArrayRange_UpperBound(), getInteger(), "upperBound", null, 1, 1, ArrayRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(modalPropertyValueEClass, ModalPropertyValue.class, "ModalPropertyValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModalPropertyValue_OwnedValue(), getPropertyExpression(), null, "ownedValue", null, 1, 1, ModalPropertyValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(behavioralFeatureEClass, BehavioralFeature.class, "BehavioralFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(arrayDimensionEClass, ArrayDimension.class, "ArrayDimension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getArrayDimension_Size(), getArraySize(), null, "size", null, 0, 1, ArrayDimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(arraySizeEClass, ArraySize.class, "ArraySize", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getArraySize_Size(), getInteger(), "size", null, 1, 1, ArraySize.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getArraySize_SizeProperty(), getArraySizeProperty(), null, "sizeProperty", null, 0, 1, ArraySize.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(arraySizePropertyEClass, ArraySizeProperty.class, "ArraySizeProperty", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(arrayableElementEClass, ArrayableElement.class, "ArrayableElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getArrayableElement_ArrayDimension(), getArrayDimension(), null, "arrayDimension", null, 0, -1, ArrayableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(componentImplementationReferenceEClass, ComponentImplementationReference.class, "ComponentImplementationReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponentImplementationReference_Implementation(), getComponentImplementation(), null, "implementation", null, 1, 1, ComponentImplementationReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementationReference_OwnedPrototypeBinding(), getPrototypeBinding(), null, "ownedPrototypeBinding", null, 0, -1, ComponentImplementationReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(componentImplementationEClass, ComponentImplementation.class, "ComponentImplementation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponentImplementation_Type(), getComponentType(), null, "type", null, 1, 1, ComponentImplementation.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedSubcomponent(), getSubcomponent(), null, "ownedSubcomponent", null, 0, -1, ComponentImplementation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_Extended(), getComponentImplementation(), null, "extended", null, 0, 1, ComponentImplementation.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedFlowImplementation(), getFlowImplementation(), null, "ownedFlowImplementation", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentImplementation_OwnedConnection(), getConnection(), null, "ownedConnection", null, 0, -1, ComponentImplementation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedExtension(), getImplementationExtension(), null, "ownedExtension", null, 0, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedRealization(), getRealization(), null, "ownedRealization", null, 1, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedEndToEndFlow(), getEndToEndFlow(), null, "ownedEndToEndFlow", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedAbstractSubcomponent(), getAbstractSubcomponent(), null, "ownedAbstractSubcomponent", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedAccessConnection(), getAccessConnection(), null, "ownedAccessConnection", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedParameterConnection(), getParameterConnection(), null, "ownedParameterConnection", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedPortConnection(), getPortConnection(), null, "ownedPortConnection", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedFeatureConnection(), getFeatureConnection(), null, "ownedFeatureConnection", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedFeatureGroupConnection(), getFeatureGroupConnection(), null, "ownedFeatureGroupConnection", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentImplementation_NoSubcomponents(), getBoolean(), "noSubcomponents", null, 1, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentImplementation_NoConnections(), getBoolean(), "noConnections", null, 1, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentImplementation_NoCalls(), getBoolean(), "noCalls", null, 1, 1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedProcessorFeature(), getProcessorFeature(), null, "ownedProcessorFeature", null, 0, -1, ComponentImplementation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedInternalFeature(), getInternalFeature(), null, "ownedInternalFeature", null, 0, -1, ComponentImplementation.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedEventSource(), getEventSource(), null, "ownedEventSource", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedEventDataSource(), getEventDataSource(), null, "ownedEventDataSource", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedPortProxy(), getPortProxy(), null, "ownedPortProxy", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentImplementation_OwnedSubprogramProxy(), getSubprogramProxy(), null, "ownedSubprogramProxy", null, 0, -1, ComponentImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
addEOperation(componentImplementationEClass, getSubcomponent(), "getAllSubcomponents", 0, -1, IS_UNIQUE, !IS_ORDERED);
initEClass(componentClassifierEClass, ComponentClassifier.class, "ComponentClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponentClassifier_OwnedMode(), getMode(), null, "ownedMode", null, 0, -1, ComponentClassifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentClassifier_OwnedModeTransition(), getModeTransition(), null, "ownedModeTransition", null, 0, -1, ComponentClassifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentClassifier_DerivedModes(), getBoolean(), "derivedModes", null, 1, 1, ComponentClassifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentClassifier_NoFlows(), getBoolean(), "noFlows", null, 1, 1, ComponentClassifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentClassifier_NoModes(), getBoolean(), "noModes", null, 1, 1, ComponentClassifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subcomponentTypeEClass, SubcomponentType.class, "SubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(featureClassifierEClass, FeatureClassifier.class, "FeatureClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(modeTransitionEClass, ModeTransition.class, "ModeTransition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModeTransition_Source(), getMode(), null, "source", null, 1, 1, ModeTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModeTransition_Destination(), getMode(), null, "destination", null, 1, 1, ModeTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModeTransition_OwnedTrigger(), getModeTransitionTrigger(), null, "ownedTrigger", null, 1, -1, ModeTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(modeTransitionTriggerEClass, ModeTransitionTrigger.class, "ModeTransitionTrigger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModeTransitionTrigger_Context(), getContext(), null, "context", null, 0, 1, ModeTransitionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModeTransitionTrigger_TriggerPort(), getTriggerPort(), null, "triggerPort", null, 1, 1, ModeTransitionTrigger.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(contextEClass, Context.class, "Context", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(triggerPortEClass, TriggerPort.class, "TriggerPort", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(componentTypeEClass, ComponentType.class, "ComponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponentType_OwnedFeature(), getFeature(), null, "ownedFeature", null, 0, -1, ComponentType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentType_Extended(), getComponentType(), null, "extended", null, 0, 1, ComponentType.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getComponentType_OwnedFlowSpecification(), getFlowSpecification(), null, "ownedFlowSpecification", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponentType_OwnedExtension(), getTypeExtension(), null, "ownedExtension", null, 0, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentType_OwnedFeatureGroup(), getFeatureGroup(), null, "ownedFeatureGroup", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentType_OwnedAbstractFeature(), getAbstractFeature(), null, "ownedAbstractFeature", null, 0, -1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getComponentType_NoFeatures(), getBoolean(), "noFeatures", null, 1, 1, ComponentType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureEClass, Feature.class, "Feature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeature_Prototype(), getComponentPrototype(), null, "prototype", null, 0, 1, Feature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getFeature_FeatureClassifier(), getFeatureClassifier(), null, "featureClassifier", null, 0, 1, Feature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getFeature_Refined(), getFeature(), null, "refined", null, 0, 1, Feature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeature_Classifier(), getClassifier(), null, "classifier", null, 0, 1, Feature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(featureConnectionEndEClass, FeatureConnectionEnd.class, "FeatureConnectionEnd", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(connectionEndEClass, ConnectionEnd.class, "ConnectionEnd", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(componentPrototypeEClass, ComponentPrototype.class, "ComponentPrototype", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getComponentPrototype_Array(), getBoolean(), "array", null, 1, 1, ComponentPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentPrototype_ConstrainingClassifier(), getComponentClassifier(), null, "constrainingClassifier", null, 0, 1, ComponentPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(flowSpecificationEClass, FlowSpecification.class, "FlowSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFlowSpecification_Refined(), getFlowSpecification(), null, "refined", null, 0, 1, FlowSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getFlowSpecification_Kind(), getFlowKind(), "kind", null, 1, 1, FlowSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowSpecification_OutEnd(), getFlowEnd(), null, "outEnd", null, 0, 1, FlowSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowSpecification_InEnd(), getFlowEnd(), null, "InEnd", null, 0, 1, FlowSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(flowFeatureEClass, FlowFeature.class, "FlowFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(flowEClass, Flow.class, "Flow", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(modalPathEClass, ModalPath.class, "ModalPath", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModalPath_InModeOrTransition(), getModeFeature(), null, "inModeOrTransition", null, 0, -1, ModalPath.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
addEOperation(modalPathEClass, getMode(), "getInModes", 0, -1, IS_UNIQUE, !IS_ORDERED);
addEOperation(modalPathEClass, getModeTransition(), "getInModeTransitions", 0, -1, IS_UNIQUE, !IS_ORDERED);
addEOperation(modalPathEClass, getModeTransition(), "getAllInModeTransitions", 0, -1, IS_UNIQUE, !IS_ORDERED);
initEClass(flowElementEClass, FlowElement.class, "FlowElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(endToEndFlowElementEClass, EndToEndFlowElement.class, "EndToEndFlowElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(flowEndEClass, FlowEnd.class, "FlowEnd", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFlowEnd_Context(), getContext(), null, "context", null, 0, 1, FlowEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowEnd_Feature(), getFeature(), null, "feature", null, 1, 1, FlowEnd.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(typeExtensionEClass, TypeExtension.class, "TypeExtension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getTypeExtension_Extended(), getComponentType(), null, "extended", null, 1, 1, TypeExtension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureGroupEClass, FeatureGroup.class, "FeatureGroup", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getFeatureGroup_Inverse(), getBoolean(), "inverse", null, 1, 1, FeatureGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroup_FeatureType(), getFeatureType(), null, "featureType", null, 0, 1, FeatureGroup.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroup_FeatureGroupType(), getFeatureGroupType(), null, "featureGroupType", null, 0, 1, FeatureGroup.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroup_FeatureGroupPrototype(), getFeatureGroupPrototype(), null, "featureGroupPrototype", null, 0, 1, FeatureGroup.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(callContextEClass, CallContext.class, "CallContext", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(directedFeatureEClass, DirectedFeature.class, "DirectedFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDirectedFeature_Direction(), getDirectionType(), "direction", null, 1, 1, DirectedFeature.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEAttribute(getDirectedFeature_In(), getBoolean(), "in", null, 1, 1, DirectedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getDirectedFeature_Out(), getBoolean(), "out", null, 1, 1, DirectedFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureGroupConnectionEndEClass, FeatureGroupConnectionEnd.class, "FeatureGroupConnectionEnd", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(featureTypeEClass, FeatureType.class, "FeatureType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(featureGroupTypeEClass, FeatureGroupType.class, "FeatureGroupType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeatureGroupType_OwnedFeature(), getFeature(), null, "ownedFeature", null, 0, -1, FeatureGroupType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
initEReference(getFeatureGroupType_Extended(), getFeatureGroupType(), null, "extended", null, 0, 1, FeatureGroupType.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_Inverse(), getFeatureGroupType(), null, "inverse", null, 0, 1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedExtension(), getGroupExtension(), null, "ownedExtension", null, 0, 1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedFeatureGroup(), getFeatureGroup(), null, "ownedFeatureGroup", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedParameter(), getParameter(), null, "ownedParameter", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupType_OwnedAbstractFeature(), getAbstractFeature(), null, "ownedAbstractFeature", null, 0, -1, FeatureGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(groupExtensionEClass, GroupExtension.class, "GroupExtension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGroupExtension_Extended(), getFeatureGroupType(), null, "extended", null, 1, 1, GroupExtension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(busAccessEClass, BusAccess.class, "BusAccess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBusAccess_BusFeatureClassifier(), getBusFeatureClassifier(), null, "busFeatureClassifier", null, 0, 1, BusAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getBusAccess_Virtual(), getBoolean(), "virtual", "false", 1, 1, BusAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(accessEClass, Access.class, "Access", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getAccess_Kind(), getAccessType(), "kind", null, 1, 1, Access.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getAccess_Category(), getAccessCategory(), "category", null, 1, 1, Access.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(accessConnectionEndEClass, AccessConnectionEnd.class, "AccessConnectionEnd", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(busFeatureClassifierEClass, BusFeatureClassifier.class, "BusFeatureClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataAccessEClass, DataAccess.class, "DataAccess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataAccess_DataFeatureClassifier(), getDataSubcomponentType(), null, "dataFeatureClassifier", null, 0, 1, DataAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(parameterConnectionEndEClass, ParameterConnectionEnd.class, "ParameterConnectionEnd", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(portConnectionEndEClass, PortConnectionEnd.class, "PortConnectionEnd", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataSubcomponentTypeEClass, DataSubcomponentType.class, "DataSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(abstractFeatureClassifierEClass, AbstractFeatureClassifier.class, "AbstractFeatureClassifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataPortEClass, DataPort.class, "DataPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataPort_DataFeatureClassifier(), getDataSubcomponentType(), null, "dataFeatureClassifier", null, 0, 1, DataPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(portEClass, Port.class, "Port", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPort_Category(), getPortCategory(), "category", null, 1, 1, Port.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(eventDataPortEClass, EventDataPort.class, "EventDataPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEventDataPort_DataFeatureClassifier(), getDataSubcomponentType(), null, "dataFeatureClassifier", null, 0, 1, EventDataPort.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(eventPortEClass, EventPort.class, "EventPort", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(parameterEClass, Parameter.class, "Parameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getParameter_DataFeatureClassifier(), getDataSubcomponentType(), null, "dataFeatureClassifier", null, 0, 1, Parameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramAccessEClass, SubprogramAccess.class, "SubprogramAccess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramAccess_SubprogramFeatureClassifier(), getSubprogramSubcomponentType(), null, "subprogramFeatureClassifier", null, 0, 1, SubprogramAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramSubcomponentTypeEClass, SubprogramSubcomponentType.class, "SubprogramSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(subprogramGroupAccessEClass, SubprogramGroupAccess.class, "SubprogramGroupAccess", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramGroupAccess_SubprogramGroupFeatureClassifier(), getSubprogramGroupSubcomponentType(), null, "subprogramGroupFeatureClassifier", null, 0, 1, SubprogramGroupAccess.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramGroupSubcomponentTypeEClass, SubprogramGroupSubcomponentType.class, "SubprogramGroupSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(abstractFeatureEClass, AbstractFeature.class, "AbstractFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAbstractFeature_FeaturePrototype(), getFeaturePrototype(), null, "featurePrototype", null, 0, 1, AbstractFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractFeature_AbstractFeatureClassifier(), getAbstractFeatureClassifier(), null, "abstractFeatureClassifier", null, 0, 1, AbstractFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featurePrototypeEClass, FeaturePrototype.class, "FeaturePrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getFeaturePrototype_Direction(), getDirectionType(), "direction", null, 1, 1, FeaturePrototype.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getFeaturePrototype_ConstrainingClassifier(), getComponentClassifier(), null, "constrainingClassifier", null, 0, 1, FeaturePrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getFeaturePrototype_In(), getBoolean(), "in", null, 1, 1, FeaturePrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getFeaturePrototype_Out(), getBoolean(), "out", null, 1, 1, FeaturePrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureGroupPrototypeEClass, FeatureGroupPrototype.class, "FeatureGroupPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeatureGroupPrototype_ConstrainingFeatureGroupType(), getFeatureGroupType(), null, "constrainingFeatureGroupType", null, 0, 1, FeatureGroupPrototype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subcomponentEClass, Subcomponent.class, "Subcomponent", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubcomponent_SubcomponentType(), getSubcomponentType(), null, "subcomponentType", null, 0, 1, Subcomponent.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getSubcomponent_OwnedPrototypeBinding(), getPrototypeBinding(), null, "ownedPrototypeBinding", null, 0, -1, Subcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubcomponent_Prototype(), getComponentPrototype(), null, "prototype", null, 0, 1, Subcomponent.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getSubcomponent_OwnedModeBinding(), getModeBinding(), null, "ownedModeBinding", null, 0, -1, Subcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getSubcomponent_AllModes(), getBoolean(), "allModes", null, 1, 1, Subcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubcomponent_ImplementationReference(), getComponentImplementationReference(), null, "implementationReference", null, 0, -1, Subcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getSubcomponent_Refined(), getSubcomponent(), null, "refined", null, 0, 1, Subcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubcomponent_Classifier(), getComponentClassifier(), null, "classifier", null, 0, 1, Subcomponent.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(modeBindingEClass, ModeBinding.class, "ModeBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getModeBinding_ParentMode(), getMode(), null, "parentMode", null, 1, 1, ModeBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getModeBinding_DerivedMode(), getMode(), null, "derivedMode", null, 0, 1, ModeBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(flowImplementationEClass, FlowImplementation.class, "FlowImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getFlowImplementation_Kind(), getFlowKind(), "kind", null, 1, 1, FlowImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowImplementation_Specification(), getFlowSpecification(), null, "specification", null, 1, 1, FlowImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowImplementation_OwnedFlowSegment(), getFlowSegment(), null, "ownedFlowSegment", null, 0, -1, FlowImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getFlowImplementation_InEnd(), getFlowEnd(), null, "inEnd", null, 0, 1, FlowImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowImplementation_OutEnd(), getFlowEnd(), null, "outEnd", null, 0, 1, FlowImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(flowSegmentEClass, FlowSegment.class, "FlowSegment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFlowSegment_FlowElement(), getFlowElement(), null, "flowElement", null, 1, 1, FlowSegment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFlowSegment_Context(), getContext(), null, "context", null, 0, 1, FlowSegment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(connectionEClass, Connection.class, "Connection", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getConnection_Destination(), getConnectedElement(), null, "destination", null, 0, 1, Connection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getConnection_Source(), getConnectedElement(), null, "source", null, 0, 1, Connection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getConnection_Bidirectional(), getBoolean(), "bidirectional", null, 1, 1, Connection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getConnection_Refined(), getConnection(), null, "refined", null, 0, 1, Connection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(connectedElementEClass, ConnectedElement.class, "ConnectedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getConnectedElement_Context(), getContext(), null, "context", null, 0, 1, ConnectedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getConnectedElement_ConnectionEnd(), getConnectionEnd(), null, "connectionEnd", null, 1, 1, ConnectedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getConnectedElement_Next(), getConnectedElement(), null, "next", null, 0, 1, ConnectedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(implementationExtensionEClass, ImplementationExtension.class, "ImplementationExtension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getImplementationExtension_Extended(), getComponentImplementation(), null, "extended", null, 1, 1, ImplementationExtension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(realizationEClass, Realization.class, "Realization", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRealization_Implemented(), getComponentType(), null, "implemented", null, 1, 1, Realization.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(endToEndFlowEClass, EndToEndFlow.class, "EndToEndFlow", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEndToEndFlow_Refined(), getEndToEndFlow(), null, "refined", null, 0, 1, EndToEndFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getEndToEndFlow_OwnedEndToEndFlowSegment(), getEndToEndFlowSegment(), null, "ownedEndToEndFlowSegment", null, 0, -1, EndToEndFlow.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(endToEndFlowSegmentEClass, EndToEndFlowSegment.class, "EndToEndFlowSegment", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEndToEndFlowSegment_FlowElement(), getEndToEndFlowElement(), null, "flowElement", null, 1, 1, EndToEndFlowSegment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getEndToEndFlowSegment_Context(), getContext(), null, "context", null, 0, 1, EndToEndFlowSegment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(abstractSubcomponentEClass, AbstractSubcomponent.class, "AbstractSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAbstractSubcomponent_AbstractSubcomponentType(), getAbstractSubcomponentType(), null, "abstractSubcomponentType", null, 0, 1, AbstractSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(abstractEClass, Abstract.class, "Abstract", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(abstractSubcomponentTypeEClass, AbstractSubcomponentType.class, "AbstractSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(accessConnectionEClass, AccessConnection.class, "AccessConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getAccessConnection_AccessCategory(), getAccessCategory(), "accessCategory", null, 1, 1, AccessConnection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(parameterConnectionEClass, ParameterConnection.class, "ParameterConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(portConnectionEClass, PortConnection.class, "PortConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(featureConnectionEClass, FeatureConnection.class, "FeatureConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(featureGroupConnectionEClass, FeatureGroupConnection.class, "FeatureGroupConnection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processorFeatureEClass, ProcessorFeature.class, "ProcessorFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(internalFeatureEClass, InternalFeature.class, "InternalFeature", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getInternalFeature_Direction(), getDirectionType(), "direction", null, 1, 1, InternalFeature.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEAttribute(getInternalFeature_In(), getBoolean(), "in", null, 1, 1, InternalFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getInternalFeature_Out(), getBoolean(), "out", null, 1, 1, InternalFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(eventSourceEClass, EventSource.class, "EventSource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(eventDataSourceEClass, EventDataSource.class, "EventDataSource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEventDataSource_DataClassifier(), getDataClassifier(), null, "dataClassifier", null, 0, 1, EventDataSource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataClassifierEClass, DataClassifier.class, "DataClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataEClass, Data.class, "Data", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(portProxyEClass, PortProxy.class, "PortProxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPortProxy_Direction(), getDirectionType(), "direction", null, 1, 1, PortProxy.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getPortProxy_DataClassifier(), getDataClassifier(), null, "dataClassifier", null, 0, 1, PortProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPortProxy_In(), getBoolean(), "in", null, 1, 1, PortProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPortProxy_Out(), getBoolean(), "out", null, 1, 1, PortProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramProxyEClass, SubprogramProxy.class, "SubprogramProxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramProxy_SubprogramClassifier(), getSubprogramClassifier(), null, "subprogramClassifier", null, 0, 1, SubprogramProxy.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramClassifierEClass, SubprogramClassifier.class, "SubprogramClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(subprogramEClass, Subprogram.class, "Subprogram", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(annexLibraryEClass, AnnexLibrary.class, "AnnexLibrary", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(defaultAnnexLibraryEClass, DefaultAnnexLibrary.class, "DefaultAnnexLibrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDefaultAnnexLibrary_SourceText(), getString(), "sourceText", null, 1, 1, DefaultAnnexLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDefaultAnnexLibrary_ParsedAnnexLibrary(), getAnnexLibrary(), null, "parsedAnnexLibrary", null, 0, 1, DefaultAnnexLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(defaultAnnexSubclauseEClass, DefaultAnnexSubclause.class, "DefaultAnnexSubclause", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDefaultAnnexSubclause_SourceText(), getString(), "sourceText", null, 1, 1, DefaultAnnexSubclause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDefaultAnnexSubclause_ParsedAnnexSubclause(), getAnnexSubclause(), null, "parsedAnnexSubclause", null, 0, 1, DefaultAnnexSubclause.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(publicPackageSectionEClass, PublicPackageSection.class, "PublicPackageSection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPublicPackageSection_PrivateSection(), getPrivatePackageSection(), getPrivatePackageSection_PublicSection(), "privateSection", null, 0, 1, PublicPackageSection.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(packageSectionEClass, PackageSection.class, "PackageSection", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPackageSection_OwnedPackageRename(), getPackageRename(), null, "ownedPackageRename", null, 0, -1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPackageSection_OwnedComponentTypeRename(), getComponentTypeRename(), null, "ownedComponentTypeRename", null, 0, -1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPackageSection_OwnedClassifier(), getClassifier(), null, "ownedClassifier", null, 0, -1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPackageSection_OwnedFeatureGroupTypeRename(), getFeatureGroupTypeRename(), null, "ownedFeatureGroupTypeRename", null, 0, -1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPackageSection_OwnedAnnexLibrary(), getAnnexLibrary(), null, "ownedAnnexLibrary", null, 0, -1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPackageSection_ImportedUnit(), getModelUnit(), null, "importedUnit", null, 0, -1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPackageSection_NoAnnexes(), getBoolean(), "noAnnexes", null, 1, 1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPackageSection_NoProperties(), getBoolean(), "noProperties", null, 1, 1, PackageSection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(packageRenameEClass, PackageRename.class, "PackageRename", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPackageRename_RenamedPackage(), getAadlPackage(), null, "renamedPackage", null, 1, 1, PackageRename.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPackageRename_RenameAll(), getBoolean(), "renameAll", null, 1, 1, PackageRename.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(aadlPackageEClass, AadlPackage.class, "AadlPackage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAadlPackage_OwnedPublicSection(), getPublicPackageSection(), null, "ownedPublicSection", null, 0, 1, AadlPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAadlPackage_OwnedPrivateSection(), getPrivatePackageSection(), null, "ownedPrivateSection", null, 0, 1, AadlPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAadlPackage_PublicSection(), getPublicPackageSection(), null, "publicSection", null, 0, 1, AadlPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAadlPackage_PrivateSection(), getPrivatePackageSection(), null, "privateSection", null, 0, 1, AadlPackage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(modelUnitEClass, ModelUnit.class, "ModelUnit", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(privatePackageSectionEClass, PrivatePackageSection.class, "PrivatePackageSection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPrivatePackageSection_PublicSection(), getPublicPackageSection(), getPublicPackageSection_PrivateSection(), "publicSection", null, 0, 1, PrivatePackageSection.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(componentTypeRenameEClass, ComponentTypeRename.class, "ComponentTypeRename", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getComponentTypeRename_Category(), getComponentCategory(), "category", null, 1, 1, ComponentTypeRename.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentTypeRename_RenamedComponentType(), getComponentType(), null, "renamedComponentType", null, 1, 1, ComponentTypeRename.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureGroupTypeRenameEClass, FeatureGroupTypeRename.class, "FeatureGroupTypeRename", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeatureGroupTypeRename_RenamedFeatureGroupType(), getFeatureGroupType(), null, "renamedFeatureGroupType", null, 1, 1, FeatureGroupTypeRename.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(componentPrototypeBindingEClass, ComponentPrototypeBinding.class, "ComponentPrototypeBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponentPrototypeBinding_Actual(), getComponentPrototypeActual(), null, "actual", null, 1, -1, ComponentPrototypeBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(componentPrototypeActualEClass, ComponentPrototypeActual.class, "ComponentPrototypeActual", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getComponentPrototypeActual_Category(), getComponentCategory(), "category", null, 1, 1, ComponentPrototypeActual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentPrototypeActual_Binding(), getPrototypeBinding(), null, "binding", null, 0, -1, ComponentPrototypeActual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getComponentPrototypeActual_SubcomponentType(), getSubcomponentType(), null, "subcomponentType", null, 1, 1, ComponentPrototypeActual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureGroupPrototypeBindingEClass, FeatureGroupPrototypeBinding.class, "FeatureGroupPrototypeBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeatureGroupPrototypeBinding_Actual(), getFeatureGroupPrototypeActual(), null, "actual", null, 1, 1, FeatureGroupPrototypeBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featureGroupPrototypeActualEClass, FeatureGroupPrototypeActual.class, "FeatureGroupPrototypeActual", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeatureGroupPrototypeActual_Binding(), getPrototypeBinding(), null, "binding", null, 0, -1, FeatureGroupPrototypeActual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getFeatureGroupPrototypeActual_FeatureType(), getFeatureType(), null, "featureType", null, 1, 1, FeatureGroupPrototypeActual.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featurePrototypeActualEClass, FeaturePrototypeActual.class, "FeaturePrototypeActual", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(featurePrototypeBindingEClass, FeaturePrototypeBinding.class, "FeaturePrototypeBinding", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getFeaturePrototypeBinding_Actual(), getFeaturePrototypeActual(), null, "actual", null, 1, 1, FeaturePrototypeBinding.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(accessSpecificationEClass, AccessSpecification.class, "AccessSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getAccessSpecification_Kind(), getAccessType(), "kind", null, 1, 1, AccessSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getAccessSpecification_Category(), getAccessCategory(), "category", null, 1, 1, AccessSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAccessSpecification_Classifier(), getComponentClassifier(), null, "classifier", null, 0, 1, AccessSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAccessSpecification_ComponentPrototype(), getComponentPrototype(), null, "componentPrototype", null, 0, 1, AccessSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(portSpecificationEClass, PortSpecification.class, "PortSpecification", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getPortSpecification_Direction(), getDirectionType(), "direction", null, 1, 1, PortSpecification.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEAttribute(getPortSpecification_Category(), getPortCategory(), "category", null, 1, 1, PortSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPortSpecification_Classifier(), getComponentClassifier(), null, "classifier", null, 0, 1, PortSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPortSpecification_ComponentPrototype(), getComponentPrototype(), null, "componentPrototype", null, 0, 1, PortSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPortSpecification_In(), getBoolean(), "in", null, 1, 1, PortSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getPortSpecification_Out(), getBoolean(), "out", null, 1, 1, PortSpecification.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(featurePrototypeReferenceEClass, FeaturePrototypeReference.class, "FeaturePrototypeReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getFeaturePrototypeReference_Direction(), getDirectionType(), "direction", null, 1, 1, FeaturePrototypeReference.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getFeaturePrototypeReference_Prototype(), getFeaturePrototype(), null, "prototype", null, 1, 1, FeaturePrototypeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getFeaturePrototypeReference_In(), getBoolean(), "in", null, 1, 1, FeaturePrototypeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getFeaturePrototypeReference_Out(), getBoolean(), "out", null, 1, 1, FeaturePrototypeReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramCallSequenceEClass, SubprogramCallSequence.class, "SubprogramCallSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramCallSequence_OwnedSubprogramCall(), getSubprogramCall(), null, "ownedSubprogramCall", null, 0, -1, SubprogramCallSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(subprogramCallEClass, SubprogramCall.class, "SubprogramCall", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramCall_CalledSubprogram(), getCalledSubprogram(), null, "calledSubprogram", null, 0, 1, SubprogramCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramCall_Context(), getCallContext(), null, "context", null, 0, 1, SubprogramCall.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(behavioredImplementationEClass, BehavioredImplementation.class, "BehavioredImplementation", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBehavioredImplementation_SubprogramCall(), getSubprogramCall(), null, "subprogramCall", null, 0, -1, BehavioredImplementation.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getBehavioredImplementation_OwnedSubprogramCallSequence(), getSubprogramCallSequence(), null, "ownedSubprogramCallSequence", null, 0, -1, BehavioredImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
addEOperation(behavioredImplementationEClass, getSubprogramCall(), "subprogramCalls", 0, -1, IS_UNIQUE, !IS_ORDERED);
initEClass(abstractTypeEClass, AbstractType.class, "AbstractType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAbstractType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, AbstractType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(abstractClassifierEClass, AbstractClassifier.class, "AbstractClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualProcessorSubcomponentTypeEClass, VirtualProcessorSubcomponentType.class, "VirtualProcessorSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualBusSubcomponentTypeEClass, VirtualBusSubcomponentType.class, "VirtualBusSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadGroupSubcomponentTypeEClass, ThreadGroupSubcomponentType.class, "ThreadGroupSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadSubcomponentTypeEClass, ThreadSubcomponentType.class, "ThreadSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(systemSubcomponentTypeEClass, SystemSubcomponentType.class, "SystemSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processSubcomponentTypeEClass, ProcessSubcomponentType.class, "ProcessSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(memorySubcomponentTypeEClass, MemorySubcomponentType.class, "MemorySubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(deviceSubcomponentTypeEClass, DeviceSubcomponentType.class, "DeviceSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(busSubcomponentTypeEClass, BusSubcomponentType.class, "BusSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processorSubcomponentTypeEClass, ProcessorSubcomponentType.class, "ProcessorSubcomponentType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(abstractImplementationEClass, AbstractImplementation.class, "AbstractImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getAbstractImplementation_OwnedBusSubcomponent(), getBusSubcomponent(), null, "ownedBusSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedDeviceSubcomponent(), getDeviceSubcomponent(), null, "ownedDeviceSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedMemorySubcomponent(), getMemorySubcomponent(), null, "ownedMemorySubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedProcessSubcomponent(), getProcessSubcomponent(), null, "ownedProcessSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedProcessorSubcomponent(), getProcessorSubcomponent(), null, "ownedProcessorSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedSystemSubcomponent(), getSystemSubcomponent(), null, "ownedSystemSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedSubprogramGroupSubcomponent(), getSubprogramGroupSubcomponent(), null, "ownedSubprogramGroupSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedThreadSubcomponent(), getThreadSubcomponent(), null, "ownedThreadSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedThreadGroupSubcomponent(), getThreadGroupSubcomponent(), null, "ownedThreadGroupSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getAbstractImplementation_OwnedVirtualProcessorSubcomponent(), getVirtualProcessorSubcomponent(), null, "ownedVirtualProcessorSubcomponent", null, 0, -1, AbstractImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(busSubcomponentEClass, BusSubcomponent.class, "BusSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBusSubcomponent_BusSubcomponentType(), getBusSubcomponentType(), null, "busSubcomponentType", null, 0, 1, BusSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(busEClass, Bus.class, "Bus", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataSubcomponentEClass, DataSubcomponent.class, "DataSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataSubcomponent_DataSubcomponentType(), getDataSubcomponentType(), null, "dataSubcomponentType", null, 0, 1, DataSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(deviceSubcomponentEClass, DeviceSubcomponent.class, "DeviceSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDeviceSubcomponent_DeviceSubcomponentType(), getDeviceSubcomponentType(), null, "deviceSubcomponentType", null, 0, 1, DeviceSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(deviceEClass, Device.class, "Device", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(memorySubcomponentEClass, MemorySubcomponent.class, "MemorySubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getMemorySubcomponent_MemorySubcomponentType(), getMemorySubcomponentType(), null, "memorySubcomponentType", null, 0, 1, MemorySubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(memoryEClass, Memory.class, "Memory", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processSubcomponentEClass, ProcessSubcomponent.class, "ProcessSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessSubcomponent_ProcessSubcomponentType(), getProcessSubcomponentType(), null, "processSubcomponentType", null, 0, 1, ProcessSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processEClass, org.osate.aadl2.Process.class, "Process", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processorSubcomponentEClass, ProcessorSubcomponent.class, "ProcessorSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessorSubcomponent_ProcessorSubcomponentType(), getProcessorSubcomponentType(), null, "processorSubcomponentType", null, 0, 1, ProcessorSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processorEClass, Processor.class, "Processor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(systemSubcomponentEClass, SystemSubcomponent.class, "SystemSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSystemSubcomponent_SystemSubcomponentType(), getSystemSubcomponentType(), null, "systemSubcomponentType", null, 0, 1, SystemSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(systemEClass, org.osate.aadl2.System.class, "System", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(subprogramSubcomponentEClass, SubprogramSubcomponent.class, "SubprogramSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramSubcomponent_SubprogramSubcomponentType(), getSubprogramSubcomponentType(), null, "subprogramSubcomponentType", null, 0, 1, SubprogramSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramGroupSubcomponentEClass, SubprogramGroupSubcomponent.class, "SubprogramGroupSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramGroupSubcomponent_SubprogramGroupSubcomponentType(), getSubprogramGroupSubcomponentType(), null, "subprogramGroupSubcomponentType", null, 0, 1, SubprogramGroupSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramGroupEClass, SubprogramGroup.class, "SubprogramGroup", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadSubcomponentEClass, ThreadSubcomponent.class, "ThreadSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreadSubcomponent_ThreadSubcomponentType(), getThreadSubcomponentType(), null, "threadSubcomponentType", null, 0, 1, ThreadSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(threadEClass, org.osate.aadl2.Thread.class, "Thread", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadGroupSubcomponentEClass, ThreadGroupSubcomponent.class, "ThreadGroupSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreadGroupSubcomponent_ThreadGroupSubcomponentType(), getThreadGroupSubcomponentType(), null, "threadGroupSubcomponentType", null, 0, 1, ThreadGroupSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(threadGroupEClass, org.osate.aadl2.ThreadGroup.class, "ThreadGroup", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualBusSubcomponentEClass, VirtualBusSubcomponent.class, "VirtualBusSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVirtualBusSubcomponent_VirtualBusSubcomponentType(), getVirtualBusSubcomponentType(), null, "virtualBusSubcomponentType", null, 0, 1, VirtualBusSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(virtualBusEClass, VirtualBus.class, "VirtualBus", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualProcessorSubcomponentEClass, VirtualProcessorSubcomponent.class, "VirtualProcessorSubcomponent", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVirtualProcessorSubcomponent_VirtualProcessorSubcomponentType(), getVirtualProcessorSubcomponentType(), null, "virtualProcessorSubcomponentType", null, 0, 1, VirtualProcessorSubcomponent.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(virtualProcessorEClass, VirtualProcessor.class, "VirtualProcessor", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(abstractPrototypeEClass, AbstractPrototype.class, "AbstractPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(busClassifierEClass, BusClassifier.class, "BusClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(busTypeEClass, BusType.class, "BusType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBusType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, BusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getBusType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, BusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getBusType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, BusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getBusType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, BusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(busImplementationEClass, BusImplementation.class, "BusImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBusImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, BusImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(busPrototypeEClass, BusPrototype.class, "BusPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(dataTypeEClass, DataType.class, "DataType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, DataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, DataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, DataType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataImplementationEClass, DataImplementation.class, "DataImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDataImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, DataImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDataImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, DataImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(dataPrototypeEClass, DataPrototype.class, "DataPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(deviceClassifierEClass, DeviceClassifier.class, "DeviceClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(deviceTypeEClass, DeviceType.class, "DeviceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDeviceType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, DeviceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, DeviceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, DeviceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, DeviceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, DeviceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, DeviceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(deviceImplementationEClass, DeviceImplementation.class, "DeviceImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getDeviceImplementation_OwnedBusSubcomponent(), getBusSubcomponent(), null, "ownedBusSubcomponent", null, 0, -1, DeviceImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, DeviceImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getDeviceImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, DeviceImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(devicePrototypeEClass, DevicePrototype.class, "DevicePrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(memoryClassifierEClass, MemoryClassifier.class, "MemoryClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(memoryTypeEClass, MemoryType.class, "MemoryType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getMemoryType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, MemoryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMemoryType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, MemoryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMemoryType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, MemoryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMemoryType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, MemoryType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(memoryImplementationEClass, MemoryImplementation.class, "MemoryImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getMemoryImplementation_OwnedBusSubcomponent(), getBusSubcomponent(), null, "ownedBusSubcomponent", null, 0, -1, MemoryImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getMemoryImplementation_OwnedMemorySubcomponent(), getMemorySubcomponent(), null, "ownedMemorySubcomponent", null, 0, -1, MemoryImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(memoryPrototypeEClass, MemoryPrototype.class, "MemoryPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(subprogramTypeEClass, SubprogramType.class, "SubprogramType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, SubprogramType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, SubprogramType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramType_OwnedParameter(), getParameter(), null, "ownedParameter", null, 0, -1, SubprogramType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, SubprogramType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, SubprogramType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, SubprogramType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramImplementationEClass, SubprogramImplementation.class, "SubprogramImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, SubprogramImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, SubprogramImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramPrototypeEClass, SubprogramPrototype.class, "SubprogramPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(subprogramGroupClassifierEClass, SubprogramGroupClassifier.class, "SubprogramGroupClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(subprogramGroupTypeEClass, SubprogramGroupType.class, "SubprogramGroupType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramGroupType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, SubprogramGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramGroupType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, SubprogramGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramGroupImplementationEClass, SubprogramGroupImplementation.class, "SubprogramGroupImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSubprogramGroupImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, SubprogramGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramGroupImplementation_OwnedSubprogramGroupSubcomponent(), getSubprogramGroupSubcomponent(), null, "ownedSubprogramGroupSubcomponent", null, 0, -1, SubprogramGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSubprogramGroupImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, SubprogramGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(subprogramGroupPrototypeEClass, SubprogramGroupPrototype.class, "SubprogramGroupPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(systemClassifierEClass, SystemClassifier.class, "SystemClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(systemTypeEClass, SystemType.class, "SystemType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSystemType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, SystemType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(systemImplementationEClass, SystemImplementation.class, "SystemImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getSystemImplementation_OwnedBusSubcomponent(), getBusSubcomponent(), null, "ownedBusSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedDeviceSubcomponent(), getDeviceSubcomponent(), null, "ownedDeviceSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedMemorySubcomponent(), getMemorySubcomponent(), null, "ownedMemorySubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedProcessSubcomponent(), getProcessSubcomponent(), null, "ownedProcessSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedProcessorSubcomponent(), getProcessorSubcomponent(), null, "ownedProcessorSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedSubprogramGroupSubcomponent(), getSubprogramGroupSubcomponent(), null, "ownedSubprogramGroupSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedSystemSubcomponent(), getSystemSubcomponent(), null, "ownedSystemSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getSystemImplementation_OwnedVirtualProcessorSubcomponent(), getVirtualProcessorSubcomponent(), null, "ownedVirtualProcessorSubcomponent", null, 0, -1, SystemImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(systemPrototypeEClass, SystemPrototype.class, "SystemPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processorClassifierEClass, ProcessorClassifier.class, "ProcessorClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processorTypeEClass, ProcessorType.class, "ProcessorType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessorType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, ProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, ProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, ProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, ProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, ProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, ProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processorImplementationEClass, ProcessorImplementation.class, "ProcessorImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessorImplementation_OwnedBusSubcomponent(), getBusSubcomponent(), null, "ownedBusSubcomponent", null, 0, -1, ProcessorImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorImplementation_OwnedMemorySubcomponent(), getMemorySubcomponent(), null, "ownedMemorySubcomponent", null, 0, -1, ProcessorImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, ProcessorImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessorImplementation_OwnedVirtualProcessorSubcomponent(), getVirtualProcessorSubcomponent(), null, "ownedVirtualProcessorSubcomponent", null, 0, -1, ProcessorImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processorPrototypeEClass, ProcessorPrototype.class, "ProcessorPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processClassifierEClass, ProcessClassifier.class, "ProcessClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(processTypeEClass, ProcessType.class, "ProcessType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, ProcessType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, ProcessType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, ProcessType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, ProcessType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, ProcessType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, ProcessType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processImplementationEClass, ProcessImplementation.class, "ProcessImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getProcessImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, ProcessImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, ProcessImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessImplementation_OwnedSubprogramGroupSubcomponent(), getSubprogramGroupSubcomponent(), null, "ownedSubprogramGroupSubcomponent", null, 0, -1, ProcessImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessImplementation_OwnedThreadSubcomponent(), getThreadSubcomponent(), null, "ownedThreadSubcomponent", null, 0, -1, ProcessImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getProcessImplementation_OwnedThreadGroupSubcomponent(), getThreadGroupSubcomponent(), null, "ownedThreadGroupSubcomponent", null, 0, -1, ProcessImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(processPrototypeEClass, ProcessPrototype.class, "ProcessPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadClassifierEClass, ThreadClassifier.class, "ThreadClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadTypeEClass, ThreadType.class, "ThreadType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreadType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, ThreadType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, ThreadType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, ThreadType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, ThreadType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, ThreadType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, ThreadType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(threadImplementationEClass, ThreadImplementation.class, "ThreadImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreadImplementation_OwnedSubprogramGroupSubcomponent(), getSubprogramGroupSubcomponent(), null, "ownedSubprogramGroupSubcomponent", null, 0, -1, ThreadImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, ThreadImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, ThreadImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(threadPrototypeEClass, ThreadPrototype.class, "ThreadPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadGroupClassifierEClass, ThreadGroupClassifier.class, "ThreadGroupClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(threadGroupTypeEClass, ThreadGroupType.class, "ThreadGroupType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreadGroupType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, ThreadGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, ThreadGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, ThreadGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupType_OwnedDataAccess(), getDataAccess(), null, "ownedDataAccess", null, 0, -1, ThreadGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, ThreadGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, ThreadGroupType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(threadGroupImplementationEClass, ThreadGroupImplementation.class, "ThreadGroupImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getThreadGroupImplementation_OwnedDataSubcomponent(), getDataSubcomponent(), null, "ownedDataSubcomponent", null, 0, -1, ThreadGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupImplementation_OwnedThreadSubcomponent(), getThreadSubcomponent(), null, "ownedThreadSubcomponent", null, 0, -1, ThreadGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupImplementation_OwnedThreadGroupSubcomponent(), getThreadGroupSubcomponent(), null, "ownedThreadGroupSubcomponent", null, 0, -1, ThreadGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupImplementation_OwnedSubprogramSubcomponent(), getSubprogramSubcomponent(), null, "ownedSubprogramSubcomponent", null, 0, -1, ThreadGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getThreadGroupImplementation_OwnedSubprogramGroupSubcomponent(), getSubprogramGroupSubcomponent(), null, "ownedSubprogramGroupSubcomponent", null, 0, -1, ThreadGroupImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(threadGroupPrototypeEClass, ThreadGroupPrototype.class, "ThreadGroupPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualBusClassifierEClass, VirtualBusClassifier.class, "VirtualBusClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualBusTypeEClass, VirtualBusType.class, "VirtualBusType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVirtualBusType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, VirtualBusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualBusType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, VirtualBusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualBusType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, VirtualBusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualBusType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, VirtualBusType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(virtualBusImplementationEClass, VirtualBusImplementation.class, "VirtualBusImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVirtualBusImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, VirtualBusImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(virtualBusPrototypeEClass, VirtualBusPrototype.class, "VirtualBusPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualProcessorClassifierEClass, VirtualProcessorClassifier.class, "VirtualProcessorClassifier", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(virtualProcessorTypeEClass, VirtualProcessorType.class, "VirtualProcessorType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVirtualProcessorType_OwnedDataPort(), getDataPort(), null, "ownedDataPort", null, 0, -1, VirtualProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualProcessorType_OwnedEventDataPort(), getEventDataPort(), null, "ownedEventDataPort", null, 0, -1, VirtualProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualProcessorType_OwnedEventPort(), getEventPort(), null, "ownedEventPort", null, 0, -1, VirtualProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualProcessorType_OwnedSubprogramAccess(), getSubprogramAccess(), null, "ownedSubprogramAccess", null, 0, -1, VirtualProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualProcessorType_OwnedSubprogramGroupAccess(), getSubprogramGroupAccess(), null, "ownedSubprogramGroupAccess", null, 0, -1, VirtualProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualProcessorType_OwnedBusAccess(), getBusAccess(), null, "ownedBusAccess", null, 0, -1, VirtualProcessorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(virtualProcessorImplementationEClass, VirtualProcessorImplementation.class, "VirtualProcessorImplementation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getVirtualProcessorImplementation_OwnedVirtualBusSubcomponent(), getVirtualBusSubcomponent(), null, "ownedVirtualBusSubcomponent", null, 0, -1, VirtualProcessorImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getVirtualProcessorImplementation_OwnedVirtualProcessorSubcomponent(), getVirtualProcessorSubcomponent(), null, "ownedVirtualProcessorSubcomponent", null, 0, -1, VirtualProcessorImplementation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(virtualProcessorPrototypeEClass, VirtualProcessorPrototype.class, "VirtualProcessorPrototype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(basicPropertyAssociationEClass, BasicPropertyAssociation.class, "BasicPropertyAssociation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getBasicPropertyAssociation_Property(), getBasicProperty(), null, "property", null, 1, 1, BasicPropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getBasicPropertyAssociation_OwnedValue(), getPropertyExpression(), null, "ownedValue", null, 1, 1, BasicPropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertyConstantEClass, PropertyConstant.class, "PropertyConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPropertyConstant_ReferencedPropertyType(), getPropertyType(), null, "referencedPropertyType", null, 0, 1, PropertyConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertyConstant_OwnedPropertyType(), getPropertyType(), null, "ownedPropertyType", null, 0, 1, PropertyConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertyConstant_ConstantValue(), getPropertyExpression(), null, "constantValue", null, 0, 1, PropertyConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertyConstant_PropertyType(), getPropertyType(), null, "propertyType", null, 1, 1, PropertyConstant.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(stringLiteralEClass, StringLiteral.class, "StringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getStringLiteral_Value(), getString(), "value", null, 1, 1, StringLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertyValueEClass, PropertyValue.class, "PropertyValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(numberValueEClass, NumberValue.class, "NumberValue", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNumberValue_Unit(), getUnitLiteral(), null, "unit", null, 0, 1, NumberValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
op = addEOperation(numberValueEClass, getReal(), "getScaledValue", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, getUnitLiteral(), "target", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEOperation(numberValueEClass, getReal(), "getScaledValue", 1, 1, IS_UNIQUE, !IS_ORDERED);
op = addEOperation(numberValueEClass, getReal(), "getScaledValue", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, getString(), "target", 1, 1, IS_UNIQUE, !IS_ORDERED);
initEClass(unitLiteralEClass, UnitLiteral.class, "UnitLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getUnitLiteral_BaseUnit(), getUnitLiteral(), null, "baseUnit", null, 0, 1, UnitLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getUnitLiteral_Factor(), getNumberValue(), null, "factor", null, 0, 1, UnitLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
op = addEOperation(unitLiteralEClass, getReal(), "getAbsoluteFactor", 1, 1, IS_UNIQUE, !IS_ORDERED);
addEParameter(op, getUnitLiteral(), "target", 1, 1, IS_UNIQUE, !IS_ORDERED);
initEClass(enumerationLiteralEClass, EnumerationLiteral.class, "EnumerationLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(classifierValueEClass, ClassifierValue.class, "ClassifierValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getClassifierValue_Classifier(), getClassifier(), null, "classifier", null, 1, 1, ClassifierValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(referenceValueEClass, ReferenceValue.class, "ReferenceValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(booleanLiteralEClass, BooleanLiteral.class, "BooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getBooleanLiteral_Value(), getBoolean(), "value", null, 1, 1, BooleanLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(rangeValueEClass, RangeValue.class, "RangeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRangeValue_Minimum(), getPropertyExpression(), null, "minimum", null, 1, 1, RangeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRangeValue_Maximum(), getPropertyExpression(), null, "maximum", null, 1, 1, RangeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRangeValue_Delta(), getPropertyExpression(), null, "delta", null, 0, 1, RangeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(integerLiteralEClass, IntegerLiteral.class, "IntegerLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getIntegerLiteral_Base(), getInteger(), "base", null, 0, 1, IntegerLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEAttribute(getIntegerLiteral_Value(), getInteger(), "value", null, 1, 1, IntegerLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(realLiteralEClass, RealLiteral.class, "RealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRealLiteral_Value(), getReal(), "value", null, 1, 1, RealLiteral.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(operationEClass, Operation.class, "Operation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getOperation_Op(), getOperationKind(), "op", null, 1, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getOperation_OwnedPropertyExpression(), getPropertyExpression(), null, "ownedPropertyExpression", null, 1, -1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(recordValueEClass, RecordValue.class, "RecordValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRecordValue_OwnedFieldValue(), getBasicPropertyAssociation(), null, "ownedFieldValue", null, 0, -1, RecordValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(computedValueEClass, ComputedValue.class, "ComputedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getComputedValue_Function(), getString(), "function", null, 1, 1, ComputedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(listValueEClass, ListValue.class, "ListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getListValue_OwnedListElement(), getPropertyExpression(), null, "ownedListElement", null, 0, -1, ListValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(namedValueEClass, NamedValue.class, "NamedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNamedValue_NamedValue(), getAbstractNamedValue(), null, "namedValue", null, 1, 1, NamedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(propertySetEClass, PropertySet.class, "PropertySet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getPropertySet_OwnedPropertyType(), getPropertyType(), null, "ownedPropertyType", null, 0, -1, PropertySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertySet_OwnedProperty(), getProperty(), null, "ownedProperty", null, 0, -1, PropertySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertySet_OwnedPropertyConstant(), getPropertyConstant(), null, "ownedPropertyConstant", null, 0, -1, PropertySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertySet_ImportedUnit(), getModelUnit(), null, "importedUnit", null, 0, -1, PropertySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getPropertySet_OwnedAnnexSubclause(), getAnnexSubclause(), null, "ownedAnnexSubclause", null, 0, -1, PropertySet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(globalNamespaceEClass, GlobalNamespace.class, "GlobalNamespace", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getGlobalNamespace_Package(), getPublicPackageSection(), null, "package", null, 0, -1, GlobalNamespace.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getGlobalNamespace_PropertySet(), getPropertySet(), null, "propertySet", null, 0, -1, GlobalNamespace.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(nonListTypeEClass, NonListType.class, "NonListType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(aadlBooleanEClass, AadlBoolean.class, "AadlBoolean", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(aadlStringEClass, AadlString.class, "AadlString", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(aadlIntegerEClass, AadlInteger.class, "AadlInteger", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(numberTypeEClass, NumberType.class, "NumberType", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNumberType_OwnedUnitsType(), getUnitsType(), null, "ownedUnitsType", null, 0, 1, NumberType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getNumberType_ReferencedUnitsType(), getUnitsType(), null, "referencedUnitsType", null, 0, 1, NumberType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getNumberType_Range(), getNumericRange(), null, "range", null, 0, 1, NumberType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getNumberType_UnitsType(), getUnitsType(), null, "unitsType", null, 0, 1, NumberType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEClass(unitsTypeEClass, UnitsType.class, "UnitsType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(enumerationTypeEClass, EnumerationType.class, "EnumerationType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getEnumerationType_OwnedLiteral(), getEnumerationLiteral(), null, "ownedLiteral", null, 1, -1, EnumerationType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(numericRangeEClass, NumericRange.class, "NumericRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getNumericRange_UpperBound(), getPropertyExpression(), null, "upperBound", null, 1, 1, NumericRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getNumericRange_LowerBound(), getPropertyExpression(), null, "lowerBound", null, 1, 1, NumericRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(aadlRealEClass, AadlReal.class, "AadlReal", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(classifierTypeEClass, ClassifierType.class, "ClassifierType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getClassifierType_ClassifierReference(), getMetaclassReference(), null, "classifierReference", null, 0, -1, ClassifierType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(rangeTypeEClass, RangeType.class, "RangeType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRangeType_OwnedNumberType(), getNumberType(), null, "ownedNumberType", null, 0, 1, RangeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getRangeType_NumberType(), getNumberType(), null, "numberType", null, 1, 1, RangeType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
initEReference(getRangeType_ReferencedNumberType(), getNumberType(), null, "referencedNumberType", null, 0, 1, RangeType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(recordTypeEClass, RecordType.class, "RecordType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getRecordType_OwnedField(), getBasicProperty(), null, "ownedField", null, 0, -1, RecordType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(recordFieldEClass, RecordField.class, "RecordField", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(referenceTypeEClass, ReferenceType.class, "ReferenceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getReferenceType_NamedElementReference(), getMetaclassReference(), null, "namedElementReference", null, 0, -1, ReferenceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEClass(listTypeEClass, ListType.class, "ListType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getListType_OwnedElementType(), getPropertyType(), null, "ownedElementType", null, 0, 1, ListType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getListType_ReferencedElementType(), getPropertyType(), null, "referencedElementType", null, 0, 1, ListType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
initEReference(getListType_ElementType(), getPropertyType(), null, "elementType", null, 1, 1, ListType.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(flowKindEEnum, FlowKind.class, "FlowKind");
addEEnumLiteral(flowKindEEnum, FlowKind.SOURCE);
addEEnumLiteral(flowKindEEnum, FlowKind.PATH);
addEEnumLiteral(flowKindEEnum, FlowKind.SINK);
initEEnum(directionTypeEEnum, DirectionType.class, "DirectionType");
addEEnumLiteral(directionTypeEEnum, DirectionType.IN);
addEEnumLiteral(directionTypeEEnum, DirectionType.OUT);
addEEnumLiteral(directionTypeEEnum, DirectionType.IN_OUT);
initEEnum(accessTypeEEnum, AccessType.class, "AccessType");
addEEnumLiteral(accessTypeEEnum, AccessType.PROVIDES);
addEEnumLiteral(accessTypeEEnum, AccessType.REQUIRES);
initEEnum(accessCategoryEEnum, AccessCategory.class, "AccessCategory");
addEEnumLiteral(accessCategoryEEnum, AccessCategory.BUS);
addEEnumLiteral(accessCategoryEEnum, AccessCategory.DATA);
addEEnumLiteral(accessCategoryEEnum, AccessCategory.SUBPROGRAM);
addEEnumLiteral(accessCategoryEEnum, AccessCategory.SUBPROGRAM_GROUP);
addEEnumLiteral(accessCategoryEEnum, AccessCategory.VIRTUAL_BUS);
initEEnum(portCategoryEEnum, PortCategory.class, "PortCategory");
addEEnumLiteral(portCategoryEEnum, PortCategory.DATA);
addEEnumLiteral(portCategoryEEnum, PortCategory.EVENT);
addEEnumLiteral(portCategoryEEnum, PortCategory.EVENT_DATA);
initEEnum(componentCategoryEEnum, ComponentCategory.class, "ComponentCategory");
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.ABSTRACT);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.BUS);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.DATA);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.DEVICE);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.MEMORY);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.PROCESS);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.PROCESSOR);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.SUBPROGRAM);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.SUBPROGRAM_GROUP);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.SYSTEM);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.THREAD);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.THREAD_GROUP);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.VIRTUAL_BUS);
addEEnumLiteral(componentCategoryEEnum, ComponentCategory.VIRTUAL_PROCESSOR);
initEEnum(operationKindEEnum, OperationKind.class, "OperationKind");
addEEnumLiteral(operationKindEEnum, OperationKind.AND);
addEEnumLiteral(operationKindEEnum, OperationKind.OR);
addEEnumLiteral(operationKindEEnum, OperationKind.NOT);
addEEnumLiteral(operationKindEEnum, OperationKind.PLUS);
addEEnumLiteral(operationKindEEnum, OperationKind.MINUS);
// Initialize data types
initEDataType(stringEDataType, String.class, "String", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
initEDataType(booleanEDataType, boolean.class, "Boolean", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
initEDataType(integerEDataType, long.class, "Integer", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
initEDataType(realEDataType, double.class, "Real", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
// Create resource
createResource(eNS_URI);
// Create annotations
// http://www.eclipse.org/uml2/2.0.0/UML
createUMLAnnotations();
// union
createUnionAnnotations();
// subsets
createSubsetsAnnotations();
// redefines
createRedefinesAnnotations();
// duplicates
createDuplicatesAnnotations();
// http:///org/eclipse/emf/ecore/util/ExtendedMetaData
createExtendedMetaDataAnnotations();
}
use of org.osate.aadl2.RecordValue in project alfresco-repository by Alfresco.
the class AuditApplication method buildAuditPaths.
/**
* Recursive method to build generator and extractor mappings
*/
private void buildAuditPaths(AuditPath auditPath, String currentPath, Set<String> existingPaths, Map<String, DataGenerator> upperGeneratorsByPath) {
// Clone the upper maps to prevent pollution
upperGeneratorsByPath = new HashMap<String, DataGenerator>(upperGeneratorsByPath);
// Append the current audit path to the current path
if (currentPath == null) {
currentPath = AuditApplication.buildPath(auditPath.getKey());
} else {
currentPath = AuditApplication.buildPath(currentPath, auditPath.getKey());
}
// Make sure we have not processed it before
if (!existingPaths.add(currentPath)) {
generateException(currentPath, "The audit path already exists.");
}
// Get the data extractors declared for this key
for (RecordValue element : auditPath.getRecordValue()) {
String key = element.getKey();
String extractorPath = AuditApplication.buildPath(currentPath, key);
if (!existingPaths.add(extractorPath)) {
generateException(extractorPath, "The audit path already exists.");
}
String extractorName = element.getDataExtractor();
DataExtractor extractor = dataExtractorsByName.get(extractorName);
if (extractor == null) {
generateException(extractorPath, "No data extractor exists for name: " + extractorName);
}
// The extractor may pull data from somewhere else
String sourcePath = element.getDataSource();
if (sourcePath == null) {
sourcePath = currentPath;
}
// The extractor may be triggered by data from elsewhere
String dataTrigger = element.getDataTrigger();
if (dataTrigger == null) {
dataTrigger = currentPath;
}
// Store the extractor definition
DataExtractorDefinition extractorDef = new DataExtractorDefinition(dataTrigger, sourcePath, extractorPath, extractor);
dataExtractors.add(extractorDef);
}
// Get the data generators declared for this key
for (GenerateValue element : auditPath.getGenerateValue()) {
String key = element.getKey();
String generatorPath = AuditApplication.buildPath(currentPath, key);
if (!existingPaths.add(generatorPath)) {
generateException(generatorPath, "The audit path already exists.");
}
String generatorName = element.getDataGenerator();
DataGenerator generator = dataGeneratorsByName.get(generatorName);
if (generator == null) {
generateException(generatorPath, "No data generator exists for name: " + generatorName);
}
// All generators that occur earlier in the path will also be applicable here
upperGeneratorsByPath.put(generatorPath, generator);
}
// All the generators apply to the current path
dataGenerators.put(currentPath, upperGeneratorsByPath);
// Find all sub audit paths and recurse
for (AuditPath element : auditPath.getAuditPath()) {
buildAuditPaths(element, currentPath, existingPaths, upperGeneratorsByPath);
}
}
use of org.osate.aadl2.RecordValue in project AMASE by loonwerks.
the class AbstractSafetySemanticSequencer method sequence.
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == Aadl2Package.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case Aadl2Package.ARRAY_RANGE:
sequence_ArrayRange(context, (ArrayRange) semanticObject);
return;
case Aadl2Package.BASIC_PROPERTY_ASSOCIATION:
sequence_FieldPropertyAssociation(context, (BasicPropertyAssociation) semanticObject);
return;
case Aadl2Package.BOOLEAN_LITERAL:
sequence_BooleanLiteral(context, (BooleanLiteral) semanticObject);
return;
case Aadl2Package.CLASSIFIER_VALUE:
sequence_ComponentClassifierTerm(context, (ClassifierValue) semanticObject);
return;
case Aadl2Package.COMPUTED_VALUE:
sequence_ComputedTerm(context, (ComputedValue) semanticObject);
return;
case Aadl2Package.CONTAINED_NAMED_ELEMENT:
sequence_ContainmentPath(context, (ContainedNamedElement) semanticObject);
return;
case Aadl2Package.CONTAINMENT_PATH_ELEMENT:
sequence_ContainmentPathElement(context, (ContainmentPathElement) semanticObject);
return;
case Aadl2Package.INTEGER_LITERAL:
sequence_IntegerTerm(context, (IntegerLiteral) semanticObject);
return;
case Aadl2Package.LIST_VALUE:
sequence_ListTerm(context, (ListValue) semanticObject);
return;
case Aadl2Package.MODAL_PROPERTY_VALUE:
if (rule == grammarAccess.getModalPropertyValueRule()) {
sequence_ModalPropertyValue(context, (ModalPropertyValue) semanticObject);
return;
} else if (rule == grammarAccess.getOptionalModalPropertyValueRule()) {
sequence_OptionalModalPropertyValue(context, (ModalPropertyValue) semanticObject);
return;
} else if (rule == grammarAccess.getPropertyValueRule()) {
sequence_PropertyValue(context, (ModalPropertyValue) semanticObject);
return;
} else
break;
case Aadl2Package.NAMED_VALUE:
if (rule == grammarAccess.getConstantValueRule() || rule == grammarAccess.getNumAltRule()) {
sequence_ConstantValue(context, (NamedValue) semanticObject);
return;
} else if (rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getLiteralorReferenceTermRule()) {
sequence_LiteralorReferenceTerm(context, (NamedValue) semanticObject);
return;
} else
break;
case Aadl2Package.OPERATION:
sequence_SignedConstant(context, (Operation) semanticObject);
return;
case Aadl2Package.PROPERTY_ASSOCIATION:
if (rule == grammarAccess.getBasicPropertyAssociationRule()) {
sequence_BasicPropertyAssociation(context, (PropertyAssociation) semanticObject);
return;
} else if (rule == grammarAccess.getPModelRule() || rule == grammarAccess.getContainedPropertyAssociationRule()) {
sequence_ContainedPropertyAssociation(context, (PropertyAssociation) semanticObject);
return;
} else if (rule == grammarAccess.getPropertyAssociationRule()) {
sequence_PropertyAssociation(context, (PropertyAssociation) semanticObject);
return;
} else
break;
case Aadl2Package.RANGE_VALUE:
sequence_NumericRangeTerm(context, (RangeValue) semanticObject);
return;
case Aadl2Package.REAL_LITERAL:
sequence_RealTerm(context, (RealLiteral) semanticObject);
return;
case Aadl2Package.RECORD_VALUE:
if (rule == grammarAccess.getOldRecordTermRule()) {
sequence_OldRecordTerm(context, (RecordValue) semanticObject);
return;
} else if (rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getRecordTermRule()) {
sequence_RecordTerm(context, (RecordValue) semanticObject);
return;
} else
break;
case Aadl2Package.REFERENCE_VALUE:
sequence_ReferenceTerm(context, (ReferenceValue) semanticObject);
return;
case Aadl2Package.STRING_LITERAL:
sequence_StringTerm(context, (StringLiteral) semanticObject);
return;
}
else if (epackage == AgreePackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case AgreePackage.AGREE_CONTRACT:
sequence_AgreeContract(context, (AgreeContract) semanticObject);
return;
case AgreePackage.AGREE_CONTRACT_LIBRARY:
sequence_AgreeLibrary(context, (AgreeContractLibrary) semanticObject);
return;
case AgreePackage.AGREE_CONTRACT_SUBCLAUSE:
sequence_AgreeSubclause(context, (AgreeContractSubclause) semanticObject);
return;
case AgreePackage.ALWAYS_STATEMENT:
sequence_PatternStatement(context, (AlwaysStatement) semanticObject);
return;
case AgreePackage.ARG:
sequence_Arg(context, (Arg) semanticObject);
return;
case AgreePackage.ARRAY_LITERAL_EXPR:
sequence_ArrayLiteralExpr(context, (ArrayLiteralExpr) semanticObject);
return;
case AgreePackage.ARRAY_SUB_EXPR:
sequence_ArraySubExpr(context, (ArraySubExpr) semanticObject);
return;
case AgreePackage.ARRAY_TYPE:
sequence_Type(context, (ArrayType) semanticObject);
return;
case AgreePackage.ARRAY_UPDATE_EXPR:
sequence_ArrayUpdateExpr(context, (ArrayUpdateExpr) semanticObject);
return;
case AgreePackage.ASSERT_STATEMENT:
sequence_NamedSpecStatement(context, (AssertStatement) semanticObject);
return;
case AgreePackage.ASSIGN_STATEMENT:
sequence_AssignStatement(context, (AssignStatement) semanticObject);
return;
case AgreePackage.ASSUME_STATEMENT:
sequence_NamedSpecStatement(context, (AssumeStatement) semanticObject);
return;
case AgreePackage.ASYNCH_STATEMENT:
sequence_SynchStatement(context, (AsynchStatement) semanticObject);
return;
case AgreePackage.BINARY_EXPR:
sequence_AddSubExpr_AndExpr_ArrowExpr_EquivExpr_ImpliesExpr_MultDivExpr_OrExpr_PowerExpr_RelateExpr(context, (BinaryExpr) semanticObject);
return;
case AgreePackage.BOOL_LIT_EXPR:
sequence_TermExpr(context, (BoolLitExpr) semanticObject);
return;
case AgreePackage.CALEN_STATEMENT:
sequence_SynchStatement(context, (CalenStatement) semanticObject);
return;
case AgreePackage.CALL_EXPR:
sequence_TermExpr(context, (CallExpr) semanticObject);
return;
case AgreePackage.CLOSED_TIME_INTERVAL:
sequence_TimeInterval(context, (ClosedTimeInterval) semanticObject);
return;
case AgreePackage.CONST_STATEMENT:
sequence_ConstStatement(context, (ConstStatement) semanticObject);
return;
case AgreePackage.DOUBLE_DOT_REF:
sequence_DoubleDotRef(context, (DoubleDotRef) semanticObject);
return;
case AgreePackage.ENUM_LIT_EXPR:
sequence_TermExpr(context, (EnumLitExpr) semanticObject);
return;
case AgreePackage.ENUM_STATEMENT:
sequence_EnumStatement(context, (EnumStatement) semanticObject);
return;
case AgreePackage.EQ_STATEMENT:
sequence_EqStatement(context, (EqStatement) semanticObject);
return;
case AgreePackage.EVENT_EXPR:
sequence_TermExpr(context, (EventExpr) semanticObject);
return;
case AgreePackage.EXISTS_EXPR:
sequence_ExistsExpr(context, (ExistsExpr) semanticObject);
return;
case AgreePackage.FLATMAP_EXPR:
sequence_FlatmapExpr(context, (FlatmapExpr) semanticObject);
return;
case AgreePackage.FLOOR_CAST:
sequence_TermExpr(context, (FloorCast) semanticObject);
return;
case AgreePackage.FN_DEF:
sequence_FnDef(context, (FnDef) semanticObject);
return;
case AgreePackage.FOLD_LEFT_EXPR:
sequence_FoldLeftExpr(context, (FoldLeftExpr) semanticObject);
return;
case AgreePackage.FOLD_RIGHT_EXPR:
sequence_FoldRightExpr(context, (FoldRightExpr) semanticObject);
return;
case AgreePackage.FORALL_EXPR:
sequence_ForallExpr(context, (ForallExpr) semanticObject);
return;
case AgreePackage.GET_PROPERTY_EXPR:
sequence_PreDefFnExpr(context, (GetPropertyExpr) semanticObject);
return;
case AgreePackage.GUARANTEE_STATEMENT:
sequence_NamedSpecStatement(context, (GuaranteeStatement) semanticObject);
return;
case AgreePackage.IF_THEN_ELSE_EXPR:
sequence_IfThenElseExpr(context, (IfThenElseExpr) semanticObject);
return;
case AgreePackage.INDICES_EXPR:
sequence_TermExpr(context, (IndicesExpr) semanticObject);
return;
case AgreePackage.INPUT_STATEMENT:
sequence_InputStatement(context, (InputStatement) semanticObject);
return;
case AgreePackage.INT_LIT_EXPR:
sequence_TermExpr(context, (IntLitExpr) semanticObject);
return;
case AgreePackage.LATCHED_EXPR:
sequence_TermExpr(context, (LatchedExpr) semanticObject);
return;
case AgreePackage.LATCHED_STATEMENT:
sequence_SynchStatement(context, (LatchedStatement) semanticObject);
return;
case AgreePackage.LEMMA_STATEMENT:
sequence_NamedSpecStatement(context, (LemmaStatement) semanticObject);
return;
case AgreePackage.LIBRARY_FN_DEF:
sequence_LibraryFnDef(context, (LibraryFnDef) semanticObject);
return;
case AgreePackage.LINEARIZATION_DEF:
sequence_LinearizationDef(context, (LinearizationDef) semanticObject);
return;
case AgreePackage.LINEARIZATION_INTERVAL:
sequence_LinearizationInterval(context, (LinearizationInterval) semanticObject);
return;
case AgreePackage.MN_SYNCH_STATEMENT:
sequence_SynchStatement(context, (MNSynchStatement) semanticObject);
return;
case AgreePackage.NAMED_ELM_EXPR:
sequence_TermExpr(context, (NamedElmExpr) semanticObject);
return;
case AgreePackage.NAMED_ID:
sequence_NamedID(context, (NamedID) semanticObject);
return;
case AgreePackage.NODE_BODY_EXPR:
sequence_NodeBodyExpr(context, (NodeBodyExpr) semanticObject);
return;
case AgreePackage.NODE_DEF:
sequence_NodeDef(context, (NodeDef) semanticObject);
return;
case AgreePackage.NODE_EQ:
sequence_NodeStmt(context, (NodeEq) semanticObject);
return;
case AgreePackage.NODE_LEMMA:
sequence_NodeStmt(context, (NodeLemma) semanticObject);
return;
case AgreePackage.OPEN_LEFT_TIME_INTERVAL:
sequence_TimeInterval(context, (OpenLeftTimeInterval) semanticObject);
return;
case AgreePackage.OPEN_RIGHT_TIME_INTERVAL:
sequence_TimeInterval(context, (OpenRightTimeInterval) semanticObject);
return;
case AgreePackage.OPEN_TIME_INTERVAL:
sequence_TimeInterval(context, (OpenTimeInterval) semanticObject);
return;
case AgreePackage.ORDER_STATEMENT:
sequence_OrderStatement(context, (OrderStatement) semanticObject);
return;
case AgreePackage.PERIODIC_STATEMENT:
sequence_RealTimeStatement(context, (PeriodicStatement) semanticObject);
return;
case AgreePackage.PRE_EXPR:
sequence_TermExpr(context, (PreExpr) semanticObject);
return;
case AgreePackage.PREV_EXPR:
sequence_PreDefFnExpr(context, (PrevExpr) semanticObject);
return;
case AgreePackage.PRIM_TYPE:
sequence_BaseType(context, (PrimType) semanticObject);
return;
case AgreePackage.PROPERTY_STATEMENT:
sequence_PropertyStatement(context, (PropertyStatement) semanticObject);
return;
case AgreePackage.REACHABLE_STATEMENT:
sequence_NamedSpecStatement(context, (ReachableStatement) semanticObject);
return;
case AgreePackage.REAL_CAST:
sequence_TermExpr(context, (RealCast) semanticObject);
return;
case AgreePackage.REAL_LIT_EXPR:
sequence_TermExpr(context, (RealLitExpr) semanticObject);
return;
case AgreePackage.RECORD_DEF:
sequence_RecordDef(context, (RecordDef) semanticObject);
return;
case AgreePackage.RECORD_LIT_EXPR:
sequence_TermExpr(context, (RecordLitExpr) semanticObject);
return;
case AgreePackage.RECORD_UPDATE_EXPR:
sequence_RecordUpdateExpr(context, (RecordUpdateExpr) semanticObject);
return;
case AgreePackage.SELECTION_EXPR:
sequence_SelectionExpr(context, (SelectionExpr) semanticObject);
return;
case AgreePackage.SPORADIC_STATEMENT:
sequence_RealTimeStatement(context, (SporadicStatement) semanticObject);
return;
case AgreePackage.SYNCH_STATEMENT:
sequence_SynchStatement(context, (SynchStatement) semanticObject);
return;
case AgreePackage.TAG_EXPR:
sequence_TagExpr(context, (TagExpr) semanticObject);
return;
case AgreePackage.THIS_REF:
sequence_ComponentRef(context, (ThisRef) semanticObject);
return;
case AgreePackage.TIME_EXPR:
sequence_TermExpr(context, (TimeExpr) semanticObject);
return;
case AgreePackage.TIME_FALL_EXPR:
sequence_TermExpr(context, (TimeFallExpr) semanticObject);
return;
case AgreePackage.TIME_OF_EXPR:
sequence_TermExpr(context, (TimeOfExpr) semanticObject);
return;
case AgreePackage.TIME_RISE_EXPR:
sequence_TermExpr(context, (TimeRiseExpr) semanticObject);
return;
case AgreePackage.UNARY_EXPR:
sequence_UnaryExpr(context, (UnaryExpr) semanticObject);
return;
case AgreePackage.UNINTERPRETED_FN_DEF:
sequence_UninterpretedFnDef(context, (UninterpretedFnDef) semanticObject);
return;
case AgreePackage.WHEN_HOLDS_STATEMENT:
sequence_WhenStatement(context, (WhenHoldsStatement) semanticObject);
return;
case AgreePackage.WHEN_OCCURS_STATMENT:
sequence_WhenStatement(context, (WhenOccursStatment) semanticObject);
return;
case AgreePackage.WHENEVER_BECOMES_TRUE_STATEMENT:
sequence_WheneverStatement(context, (WheneverBecomesTrueStatement) semanticObject);
return;
case AgreePackage.WHENEVER_HOLDS_STATEMENT:
sequence_WheneverStatement(context, (WheneverHoldsStatement) semanticObject);
return;
case AgreePackage.WHENEVER_IMPLIES_STATEMENT:
sequence_WheneverStatement(context, (WheneverImpliesStatement) semanticObject);
return;
case AgreePackage.WHENEVER_OCCURS_STATEMENT:
sequence_WheneverStatement(context, (WheneverOccursStatement) semanticObject);
return;
}
else if (epackage == SafetyPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case SafetyPackage.ACTIVATION_STATEMENT:
sequence_SpecStatement(context, (ActivationStatement) semanticObject);
return;
case SafetyPackage.ANALYSIS_STATEMENT:
sequence_SpecStatement(context, (AnalysisStatement) semanticObject);
return;
case SafetyPackage.CLOSED_SAFETY_INTERVAL:
sequence_SafetyInterval(context, (ClosedSafetyInterval) semanticObject);
return;
case SafetyPackage.DISABLE_STATEMENT:
sequence_FaultSubcomponent(context, (DisableStatement) semanticObject);
return;
case SafetyPackage.DURATION_STATEMENT:
if (rule == grammarAccess.getElementSafetyRule() || rule == grammarAccess.getFaultSubcomponentRule()) {
sequence_FaultSubcomponent(context, (DurationStatement) semanticObject);
return;
} else if (rule == grammarAccess.getHWFaultSubcomponentRule()) {
sequence_HWFaultSubcomponent(context, (DurationStatement) semanticObject);
return;
} else
break;
case SafetyPackage.ENABLER_CONDITION:
sequence_TriggerCondition(context, (EnablerCondition) semanticObject);
return;
case SafetyPackage.EQ_VALUE:
sequence_SafetyEqStatement(context, (EqValue) semanticObject);
return;
case SafetyPackage.FAULT_COUNT_BEHAVIOR:
sequence_AnalysisBehavior(context, (FaultCountBehavior) semanticObject);
return;
case SafetyPackage.FAULT_STATEMENT:
sequence_SpecStatement(context, (FaultStatement) semanticObject);
return;
case SafetyPackage.HW_FAULT_STATEMENT:
sequence_SpecStatement(context, (HWFaultStatement) semanticObject);
return;
case SafetyPackage.INPUT_STATEMENT:
sequence_FaultSubcomponent(context, (edu.umn.cs.crisys.safety.safety.InputStatement) semanticObject);
return;
case SafetyPackage.INTERVAL_EQ:
sequence_SafetyEqStatement(context, (IntervalEq) semanticObject);
return;
case SafetyPackage.OPEN_LEFT_SAFETY_INTERVAL:
sequence_SafetyInterval(context, (OpenLeftSafetyInterval) semanticObject);
return;
case SafetyPackage.OPEN_RIGHT_SAFETY_INTERVAL:
sequence_SafetyInterval(context, (OpenRightSafetyInterval) semanticObject);
return;
case SafetyPackage.OPEN_SAFETY_INTERVAL:
sequence_SafetyInterval(context, (OpenSafetyInterval) semanticObject);
return;
case SafetyPackage.OUTPUT_STATEMENT:
sequence_FaultSubcomponent(context, (OutputStatement) semanticObject);
return;
case SafetyPackage.PERMANENT_CONSTRAINT:
sequence_TemporalConstraint(context, (PermanentConstraint) semanticObject);
return;
case SafetyPackage.PROBABILITY_BEHAVIOR:
sequence_AnalysisBehavior(context, (ProbabilityBehavior) semanticObject);
return;
case SafetyPackage.PROBABILITY_STATEMENT:
if (rule == grammarAccess.getElementSafetyRule() || rule == grammarAccess.getFaultSubcomponentRule()) {
sequence_FaultSubcomponent(context, (ProbabilityStatement) semanticObject);
return;
} else if (rule == grammarAccess.getHWFaultSubcomponentRule()) {
sequence_HWFaultSubcomponent(context, (ProbabilityStatement) semanticObject);
return;
} else
break;
case SafetyPackage.PROPAGATE_STATEMENT:
sequence_SpecStatement(context, (PropagateStatement) semanticObject);
return;
case SafetyPackage.PROPAGATION_TYPE_STATEMENT:
if (rule == grammarAccess.getElementSafetyRule() || rule == grammarAccess.getFaultSubcomponentRule()) {
sequence_FaultSubcomponent(context, (PropagationTypeStatement) semanticObject);
return;
} else if (rule == grammarAccess.getHWFaultSubcomponentRule()) {
sequence_HWFaultSubcomponent(context, (PropagationTypeStatement) semanticObject);
return;
} else
break;
case SafetyPackage.RANGE_EQ:
sequence_SafetyEqStatement(context, (RangeEq) semanticObject);
return;
case SafetyPackage.SAFETY_CONTRACT:
sequence_SafetyContract(context, (SafetyContract) semanticObject);
return;
case SafetyPackage.SAFETY_CONTRACT_LIBRARY:
sequence_SafetyLibrary(context, (SafetyContractLibrary) semanticObject);
return;
case SafetyPackage.SAFETY_CONTRACT_SUBCLAUSE:
sequence_SafetySubclause(context, (SafetyContractSubclause) semanticObject);
return;
case SafetyPackage.SET_EQ:
sequence_SafetyEqStatement(context, (SetEq) semanticObject);
return;
case SafetyPackage.TRANSIENT_CONSTRAINT:
sequence_TemporalConstraint(context, (TransientConstraint) semanticObject);
return;
case SafetyPackage.TRIGGER_STATEMENT:
sequence_FaultSubcomponent(context, (TriggerStatement) semanticObject);
return;
case SafetyPackage.ASYMMETRIC:
sequence_PropagationTypeConstraint(context, (asymmetric) semanticObject);
return;
case SafetyPackage.SYMMETRIC:
sequence_PropagationTypeConstraint(context, (symmetric) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Aggregations