use of org.osate.aadl2.PortConnection in project VERDICT by ge-high-assurance.
the class Aadl2CsvTranslator method buildScnBusBindingsTable.
/**
* Build the scenario bus bindings table
*/
Table buildScnBusBindingsTable() {
Table scnBusBindingsTable = new Table("Scenario", "Comp", "Impl", "ActualConnectionBindingSrcComp", "ActualConnectionBindingSrcImpl", "ActualConnectionBindingSrcCompInst", "ActualConnectionBindingSrcBusInst", "ActualConnectionBindingDestConnComp", "ActualConnectionBindingDestConnImpl", "ActualConnectionBindingDestConnCompInst", "ActualConnectionBindingDestConn");
for (ComponentImplementation sysImpl : compImpls) {
for (PropertyAssociation propAssoc : sysImpl.getOwnedPropertyAssociations()) {
if (propAssoc.getOwnedValues().size() != 1) {
throw new RuntimeException("Unexpected number of property owned values: " + propAssoc.getOwnedValues().size());
}
PropertyExpression expr = propAssoc.getOwnedValues().get(0).getOwnedValue();
// Obtain the bus reference values
String[] compImplInstBusNames = getStrRepofExpr(expr);
// We only consider the case where the length of compImplInstBusNames is 4
if (compImplInstBusNames.length != 4) {
throw new RuntimeException("Unexpected number of values in property expression: " + compImplInstBusNames.length);
}
// property: bus connection binding applies to connections
for (ContainedNamedElement appliesToImpl : propAssoc.getAppliesTos()) {
PortConnection appliesToConn = null;
SystemSubcomponent appliesToSubcomp = null;
scnBusBindingsTable.addValue(scenario);
scnBusBindingsTable.addValue(sysImpl.getTypeName());
scnBusBindingsTable.addValue(sysImpl.getName());
scnBusBindingsTable.addValue(compImplInstBusNames[0]);
scnBusBindingsTable.addValue(compImplInstBusNames[1]);
scnBusBindingsTable.addValue(compImplInstBusNames[2]);
scnBusBindingsTable.addValue(compImplInstBusNames[3]);
if (appliesToImpl.getContainmentPathElements().size() > 2) {
throw new RuntimeException("Unexpected number of values in ContainedNamedElement: " + appliesToImpl.getContainmentPathElements().size());
}
for (ContainmentPathElement element : appliesToImpl.getContainmentPathElements()) {
NamedElement namedElement = element.getNamedElement();
if (namedElement instanceof SystemSubcomponent) {
appliesToSubcomp = (SystemSubcomponent) namedElement;
} else if (namedElement instanceof PortConnection) {
appliesToConn = (PortConnection) namedElement;
} else {
throw new RuntimeException("Unexpected value: " + namedElement);
}
}
if (appliesToSubcomp != null) {
ComponentImplementation compImpl = appliesToSubcomp.getComponentImplementation();
scnBusBindingsTable.addValue(compImpl.getTypeName());
scnBusBindingsTable.addValue(compImpl.getName());
scnBusBindingsTable.addValue(appliesToSubcomp.getName());
} else {
scnBusBindingsTable.addValue(sysImpl.getTypeName());
scnBusBindingsTable.addValue(sysImpl.getName());
scnBusBindingsTable.addValue("");
}
scnBusBindingsTable.addValue(appliesToConn.getName());
scnBusBindingsTable.capRow();
}
}
}
return scnBusBindingsTable;
}
use of org.osate.aadl2.PortConnection in project osate2 by osate.
the class CreateConnectionsSwitch method doModeTransitionConnections.
/**
* As we are following connection declarations we need to check whether the
* destination of the connection is named in one of the mode transitions of
* the component instance that is the destination of the connection being
* added
*
* @param parentci
* The component that is the context in which the connections are
* declared
* @param pci
* PortConnectionInstance that is being created
* @param conn
* connection being added to the ConnectionInstance
* @return true if we created a ModetransitionInstance
*/
private boolean doModeTransitionConnections(final ComponentInstance parentci, ConnectionInfo connInfo, Connection conn) {
boolean didTransition = false;
if (!(conn instanceof PortConnection || conn instanceof FeatureGroupConnection)) {
return false;
}
ComponentInstance parent = null;
Context fc = conn.getAllDestinationContext();
Element connContext = null;
if (fc instanceof ComponentImplementation || fc instanceof FeatureGroup) {
// we
// have
// an
// outgoing
// connection
parent = (ComponentInstance) parentci.eContainer();
connContext = parentci.getSubcomponent();
} else if (fc instanceof Subcomponent) {
parent = parentci.findSubcomponentInstance((Subcomponent) fc);
connContext = ((Subcomponent) fc).getAllClassifier();
}
if (parent == null) {
return false;
}
EList<ModeTransitionInstance> mtl = parent.getModeTransitionInstances();
Feature f = (Feature) conn.getAllDestination();
for (ModeTransitionInstance mti : mtl) {
ModeTransition mt = mti.getModeTransition();
Context co = null;
for (ModeTransitionTrigger trigger : mt.getOwnedTriggers()) {
TriggerPort tp = trigger.getTriggerPort();
if (tp instanceof Port) {
Port o = (Port) tp;
co = trigger.getContext();
NamedElement context = co;
if (context instanceof FeatureGroup) {
context = parent.getSubcomponent().getAllClassifier();
}
if (f == o && context == connContext) {
final ConnectionInstance mtci = addConnectionInstance(parentci.getSystemInstance(), connInfo.convertToModeTransition(), mti);
fillInModes(mtci);
fillInModeTransitions(mtci);
didTransition = true;
}
} else {
// TODO-LW: what if it's a processor port or internal event?
}
}
}
return didTransition;
}
use of org.osate.aadl2.PortConnection 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.PortConnection in project osate2 by osate.
the class AbstractAadl2SemanticSequencer 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.AADL_BOOLEAN:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getBooleanTypeRule()) {
sequence_BooleanType(context, (AadlBoolean) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedBooleanTypeRule()) {
sequence_UnnamedBooleanType(context, (AadlBoolean) semanticObject);
return;
} else
break;
case Aadl2Package.AADL_INTEGER:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getIntegerTypeRule()) {
sequence_IntegerType(context, (AadlInteger) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedIntegerTypeRule()) {
sequence_UnnamedIntegerType(context, (AadlInteger) semanticObject);
return;
} else
break;
case Aadl2Package.AADL_PACKAGE:
sequence_AadlPackage(context, (AadlPackage) semanticObject);
return;
case Aadl2Package.AADL_REAL:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getRealTypeRule()) {
sequence_RealType(context, (AadlReal) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedRealTypeRule()) {
sequence_UnnamedRealType(context, (AadlReal) semanticObject);
return;
} else
break;
case Aadl2Package.AADL_STRING:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getStringTypeRule()) {
sequence_StringType(context, (AadlString) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedStringTypeRule()) {
sequence_UnnamedStringType(context, (AadlString) semanticObject);
return;
} else
break;
case Aadl2Package.ABSTRACT_FEATURE:
sequence_AbstractFeature(context, (AbstractFeature) semanticObject);
return;
case Aadl2Package.ABSTRACT_IMPLEMENTATION:
sequence_AbstractImplementation(context, (AbstractImplementation) semanticObject);
return;
case Aadl2Package.ABSTRACT_PROTOTYPE:
sequence_AbstractPrototype(context, (AbstractPrototype) semanticObject);
return;
case Aadl2Package.ABSTRACT_SUBCOMPONENT:
sequence_AbstractSubcomponent(context, (AbstractSubcomponent) semanticObject);
return;
case Aadl2Package.ABSTRACT_TYPE:
sequence_AbstractType(context, (AbstractType) semanticObject);
return;
case Aadl2Package.ACCESS_CONNECTION:
sequence_AccessConnection(context, (AccessConnection) semanticObject);
return;
case Aadl2Package.ACCESS_SPECIFICATION:
sequence_AccessSpecification(context, (AccessSpecification) semanticObject);
return;
case Aadl2Package.ARRAY_DIMENSION:
sequence_ArrayDimension(context, (ArrayDimension) semanticObject);
return;
case Aadl2Package.ARRAY_RANGE:
sequence_ArrayRange(context, (ArrayRange) semanticObject);
return;
case Aadl2Package.ARRAY_SIZE:
sequence_ArraySize(context, (ArraySize) semanticObject);
return;
case Aadl2Package.BASIC_PROPERTY:
sequence_RecordField(context, (BasicProperty) 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.BUS_ACCESS:
sequence_BusAccess(context, (BusAccess) semanticObject);
return;
case Aadl2Package.BUS_IMPLEMENTATION:
sequence_BusImplementation(context, (BusImplementation) semanticObject);
return;
case Aadl2Package.BUS_PROTOTYPE:
sequence_BusPrototype(context, (BusPrototype) semanticObject);
return;
case Aadl2Package.BUS_SUBCOMPONENT:
sequence_BusSubcomponent(context, (BusSubcomponent) semanticObject);
return;
case Aadl2Package.BUS_TYPE:
sequence_BusType(context, (BusType) semanticObject);
return;
case Aadl2Package.CLASSIFIER_TYPE:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getClassifierTypeRule()) {
sequence_ClassifierType(context, (ClassifierType) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedClassifierTypeRule()) {
sequence_UnnamedClassifierType(context, (ClassifierType) semanticObject);
return;
} else
break;
case Aadl2Package.CLASSIFIER_VALUE:
if (rule == grammarAccess.getConstantPropertyExpressionRule() || rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getComponentClassifierTermRule()) {
sequence_ComponentClassifierTerm(context, (ClassifierValue) semanticObject);
return;
} else if (rule == grammarAccess.getQCReferenceRule() || rule == grammarAccess.getPropertyOwnerRule()) {
sequence_QCReference(context, (ClassifierValue) semanticObject);
return;
} else
break;
case Aadl2Package.COMPONENT_IMPLEMENTATION_REFERENCE:
sequence_ComponentImplementationReference(context, (ComponentImplementationReference) semanticObject);
return;
case Aadl2Package.COMPONENT_PROTOTYPE_ACTUAL:
sequence_ComponentReference(context, (ComponentPrototypeActual) semanticObject);
return;
case Aadl2Package.COMPONENT_PROTOTYPE_BINDING:
sequence_ComponentPrototypeBinding(context, (ComponentPrototypeBinding) semanticObject);
return;
case Aadl2Package.COMPONENT_TYPE_RENAME:
sequence_CTRename(context, (ComponentTypeRename) semanticObject);
return;
case Aadl2Package.COMPUTED_VALUE:
sequence_ComputedTerm(context, (ComputedValue) semanticObject);
return;
case Aadl2Package.CONNECTED_ELEMENT:
if (rule == grammarAccess.getConnectedElementChainRule()) {
sequence_ConnectedElementChain(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getConnectedElementRule()) {
sequence_ConnectedElement(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getAbstractConnectionEndRule()) {
sequence_ConnectedElement_InternalEvent_ProcessorPort(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getNestedConnectedElementRule()) {
sequence_ConnectedElement_NestedConnectedElement(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getProcessorConnectionEndRule()) {
sequence_ConnectedElement_ProcessorPort(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getAccessConnectionEndRule()) {
sequence_ConnectedElement_ProcessorSubprogram(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getInternalEventRule()) {
sequence_InternalEvent(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getProcessorPortRule()) {
sequence_ProcessorPort(context, (ConnectedElement) semanticObject);
return;
} else if (rule == grammarAccess.getProcessorSubprogramRule()) {
sequence_ProcessorSubprogram(context, (ConnectedElement) semanticObject);
return;
} else
break;
case Aadl2Package.CONTAINED_NAMED_ELEMENT:
sequence_ContainmentPath(context, (ContainedNamedElement) semanticObject);
return;
case Aadl2Package.CONTAINMENT_PATH_ELEMENT:
sequence_ContainmentPathElement(context, (ContainmentPathElement) semanticObject);
return;
case Aadl2Package.DATA_ACCESS:
sequence_DataAccess(context, (DataAccess) semanticObject);
return;
case Aadl2Package.DATA_IMPLEMENTATION:
sequence_DataImplementation(context, (DataImplementation) semanticObject);
return;
case Aadl2Package.DATA_PORT:
sequence_DataPort(context, (DataPort) semanticObject);
return;
case Aadl2Package.DATA_PROTOTYPE:
sequence_DataPrototype(context, (DataPrototype) semanticObject);
return;
case Aadl2Package.DATA_SUBCOMPONENT:
sequence_DataSubcomponent(context, (DataSubcomponent) semanticObject);
return;
case Aadl2Package.DATA_TYPE:
sequence_DataType(context, (DataType) semanticObject);
return;
case Aadl2Package.DEFAULT_ANNEX_LIBRARY:
sequence_DefaultAnnexLibrary(context, (DefaultAnnexLibrary) semanticObject);
return;
case Aadl2Package.DEFAULT_ANNEX_SUBCLAUSE:
sequence_DefaultAnnexSubclause(context, (DefaultAnnexSubclause) semanticObject);
return;
case Aadl2Package.DEVICE_IMPLEMENTATION:
sequence_DeviceImplementation(context, (DeviceImplementation) semanticObject);
return;
case Aadl2Package.DEVICE_PROTOTYPE:
sequence_DevicePrototype(context, (DevicePrototype) semanticObject);
return;
case Aadl2Package.DEVICE_SUBCOMPONENT:
sequence_DeviceSubcomponent(context, (DeviceSubcomponent) semanticObject);
return;
case Aadl2Package.DEVICE_TYPE:
sequence_DeviceType(context, (DeviceType) semanticObject);
return;
case Aadl2Package.END_TO_END_FLOW:
sequence_EndToEndFlow(context, (EndToEndFlow) semanticObject);
return;
case Aadl2Package.END_TO_END_FLOW_SEGMENT:
if (rule == grammarAccess.getETEConnectionFlowRule()) {
sequence_ETEConnectionFlow(context, (EndToEndFlowSegment) semanticObject);
return;
} else if (rule == grammarAccess.getETESubcomponentFlowRule()) {
sequence_ETESubcomponentFlow(context, (EndToEndFlowSegment) semanticObject);
return;
} else
break;
case Aadl2Package.ENUMERATION_LITERAL:
sequence_EnumerationLiteral(context, (EnumerationLiteral) semanticObject);
return;
case Aadl2Package.ENUMERATION_TYPE:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getEnumerationTypeRule()) {
sequence_EnumerationType(context, (EnumerationType) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedEnumerationTypeRule()) {
sequence_UnnamedEnumerationType(context, (EnumerationType) semanticObject);
return;
} else
break;
case Aadl2Package.EVENT_DATA_PORT:
sequence_EventDataPort(context, (EventDataPort) semanticObject);
return;
case Aadl2Package.EVENT_DATA_SOURCE:
sequence_EventDataSource(context, (EventDataSource) semanticObject);
return;
case Aadl2Package.EVENT_PORT:
sequence_EventPort(context, (EventPort) semanticObject);
return;
case Aadl2Package.EVENT_SOURCE:
sequence_EventSource(context, (EventSource) semanticObject);
return;
case Aadl2Package.FEATURE_CONNECTION:
sequence_FeatureConnection(context, (FeatureConnection) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP:
sequence_FeatureGroup(context, (FeatureGroup) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP_CONNECTION:
sequence_FeatureGroupConnection(context, (FeatureGroupConnection) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP_PROTOTYPE:
sequence_FeatureGroupPrototype(context, (FeatureGroupPrototype) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP_PROTOTYPE_ACTUAL:
sequence_FeatureGroupPrototypeActual(context, (FeatureGroupPrototypeActual) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP_PROTOTYPE_BINDING:
sequence_FeatureGroupPrototypeBinding(context, (FeatureGroupPrototypeBinding) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP_TYPE:
sequence_FeatureGroupType(context, (FeatureGroupType) semanticObject);
return;
case Aadl2Package.FEATURE_GROUP_TYPE_RENAME:
sequence_FGTRename(context, (FeatureGroupTypeRename) semanticObject);
return;
case Aadl2Package.FEATURE_PROTOTYPE:
sequence_FeaturePrototype(context, (FeaturePrototype) semanticObject);
return;
case Aadl2Package.FEATURE_PROTOTYPE_BINDING:
sequence_FeaturePrototypeBinding(context, (FeaturePrototypeBinding) semanticObject);
return;
case Aadl2Package.FEATURE_PROTOTYPE_REFERENCE:
sequence_FeaturePrototypeReference(context, (FeaturePrototypeReference) semanticObject);
return;
case Aadl2Package.FLOW_END:
sequence_FlowEnd(context, (FlowEnd) semanticObject);
return;
case Aadl2Package.FLOW_IMPLEMENTATION:
if (rule == grammarAccess.getFlowPathImplRule()) {
sequence_FlowPathImpl(context, (FlowImplementation) semanticObject);
return;
} else if (rule == grammarAccess.getFlowImplementationRule()) {
sequence_FlowPathImpl_FlowSinkImpl_FlowSourceImpl(context, (FlowImplementation) semanticObject);
return;
} else if (rule == grammarAccess.getFlowSinkImplRule()) {
sequence_FlowSinkImpl(context, (FlowImplementation) semanticObject);
return;
} else if (rule == grammarAccess.getFlowSourceImplRule()) {
sequence_FlowSourceImpl(context, (FlowImplementation) semanticObject);
return;
} else
break;
case Aadl2Package.FLOW_SEGMENT:
if (rule == grammarAccess.getConnectionFlowRule()) {
sequence_ConnectionFlow(context, (FlowSegment) semanticObject);
return;
} else if (rule == grammarAccess.getSubcomponentFlowRule()) {
sequence_SubcomponentFlow(context, (FlowSegment) semanticObject);
return;
} else
break;
case Aadl2Package.FLOW_SPECIFICATION:
if (rule == grammarAccess.getFlowSpecificationRule()) {
sequence_FlowPathSpec_FlowSinkSpec_FlowSourceSpec_FlowSpecRefinement(context, (FlowSpecification) semanticObject);
return;
} else if (rule == grammarAccess.getFlowPathSpecRule()) {
sequence_FlowPathSpec(context, (FlowSpecification) semanticObject);
return;
} else if (rule == grammarAccess.getFlowSinkSpecRule()) {
sequence_FlowSinkSpec(context, (FlowSpecification) semanticObject);
return;
} else if (rule == grammarAccess.getFlowSourceSpecRule()) {
sequence_FlowSourceSpec(context, (FlowSpecification) semanticObject);
return;
} else if (rule == grammarAccess.getFlowSpecRefinementRule()) {
sequence_FlowSpecRefinement(context, (FlowSpecification) semanticObject);
return;
} else
break;
case Aadl2Package.GROUP_EXTENSION:
sequence_GroupExtension(context, (GroupExtension) semanticObject);
return;
case Aadl2Package.IMPLEMENTATION_EXTENSION:
sequence_ImplementationExtension(context, (ImplementationExtension) semanticObject);
return;
case Aadl2Package.INTEGER_LITERAL:
if (rule == grammarAccess.getNumberValueRule() || rule == grammarAccess.getIntegerLitRule()) {
sequence_IntegerLit(context, (IntegerLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getConstantPropertyExpressionRule() || rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getIntegerTermRule() || rule == grammarAccess.getNumAltRule()) {
sequence_IntegerTerm(context, (IntegerLiteral) semanticObject);
return;
} else
break;
case Aadl2Package.LIST_TYPE:
sequence_ListType(context, (ListType) semanticObject);
return;
case Aadl2Package.LIST_VALUE:
sequence_ListTerm(context, (ListValue) semanticObject);
return;
case Aadl2Package.MEMORY_IMPLEMENTATION:
sequence_MemoryImplementation(context, (MemoryImplementation) semanticObject);
return;
case Aadl2Package.MEMORY_PROTOTYPE:
sequence_MemoryPrototype(context, (MemoryPrototype) semanticObject);
return;
case Aadl2Package.MEMORY_SUBCOMPONENT:
sequence_MemorySubcomponent(context, (MemorySubcomponent) semanticObject);
return;
case Aadl2Package.MEMORY_TYPE:
sequence_MemoryType(context, (MemoryType) semanticObject);
return;
case Aadl2Package.METACLASS_REFERENCE:
if (rule == grammarAccess.getAllReferenceRule()) {
sequence_AllReference(context, (MetaclassReference) semanticObject);
return;
} else if (rule == grammarAccess.getQMReferenceRule() || rule == grammarAccess.getPropertyOwnerRule()) {
sequence_QMReference(context, (MetaclassReference) semanticObject);
return;
} else
break;
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.MODE:
sequence_Mode(context, (Mode) semanticObject);
return;
case Aadl2Package.MODE_BINDING:
sequence_ModeRef(context, (ModeBinding) semanticObject);
return;
case Aadl2Package.MODE_TRANSITION:
sequence_ModeTransition(context, (ModeTransition) semanticObject);
return;
case Aadl2Package.MODE_TRANSITION_TRIGGER:
sequence_Trigger(context, (ModeTransitionTrigger) semanticObject);
return;
case Aadl2Package.NAMED_VALUE:
if (rule == grammarAccess.getConstantValueRule() || rule == grammarAccess.getNumAltRule()) {
sequence_ConstantValue(context, (NamedValue) semanticObject);
return;
} else if (rule == grammarAccess.getConstantPropertyExpressionRule() || rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getLiteralorReferenceTermRule()) {
sequence_LiteralorReferenceTerm(context, (NamedValue) semanticObject);
return;
} else
break;
case Aadl2Package.NUMERIC_RANGE:
if (rule == grammarAccess.getIntegerRangeRule()) {
sequence_IntegerRange(context, (NumericRange) semanticObject);
return;
} else if (rule == grammarAccess.getRealRangeRule()) {
sequence_RealRange(context, (NumericRange) semanticObject);
return;
} else
break;
case Aadl2Package.OPERATION:
sequence_SignedConstant(context, (Operation) semanticObject);
return;
case Aadl2Package.PACKAGE_RENAME:
if (rule == grammarAccess.getPackageRenameRule()) {
sequence_PackageRename(context, (PackageRename) semanticObject);
return;
} else if (rule == grammarAccess.getRenameAllRule()) {
sequence_RenameAll(context, (PackageRename) semanticObject);
return;
} else
break;
case Aadl2Package.PARAMETER:
sequence_Parameter(context, (org.osate.aadl2.Parameter) semanticObject);
return;
case Aadl2Package.PARAMETER_CONNECTION:
sequence_ParameterConnection(context, (ParameterConnection) semanticObject);
return;
case Aadl2Package.PORT_CONNECTION:
sequence_PortConnection(context, (PortConnection) semanticObject);
return;
case Aadl2Package.PORT_PROXY:
sequence_PortProxy(context, (PortProxy) semanticObject);
return;
case Aadl2Package.PORT_SPECIFICATION:
sequence_PortSpecification(context, (PortSpecification) semanticObject);
return;
case Aadl2Package.PRIVATE_PACKAGE_SECTION:
sequence_PrivatePackageSection(context, (PrivatePackageSection) semanticObject);
return;
case Aadl2Package.PROCESS_IMPLEMENTATION:
sequence_ProcessImplementation(context, (ProcessImplementation) semanticObject);
return;
case Aadl2Package.PROCESS_PROTOTYPE:
sequence_ProcessPrototype(context, (ProcessPrototype) semanticObject);
return;
case Aadl2Package.PROCESS_SUBCOMPONENT:
sequence_ProcessSubcomponent(context, (ProcessSubcomponent) semanticObject);
return;
case Aadl2Package.PROCESS_TYPE:
sequence_ProcessType(context, (ProcessType) semanticObject);
return;
case Aadl2Package.PROCESSOR_IMPLEMENTATION:
sequence_ProcessorImplementation(context, (ProcessorImplementation) semanticObject);
return;
case Aadl2Package.PROCESSOR_PROTOTYPE:
sequence_ProcessorPrototype(context, (ProcessorPrototype) semanticObject);
return;
case Aadl2Package.PROCESSOR_SUBCOMPONENT:
sequence_ProcessorSubcomponent(context, (ProcessorSubcomponent) semanticObject);
return;
case Aadl2Package.PROCESSOR_TYPE:
sequence_ProcessorType(context, (ProcessorType) semanticObject);
return;
case Aadl2Package.PROPERTY:
sequence_PropertyDefinition(context, (Property) 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.PROPERTY_CONSTANT:
sequence_PropertyConstant(context, (PropertyConstant) semanticObject);
return;
case Aadl2Package.PROPERTY_SET:
sequence_PropertySet(context, (PropertySet) semanticObject);
return;
case Aadl2Package.PUBLIC_PACKAGE_SECTION:
sequence_PublicPackageSection(context, (PublicPackageSection) semanticObject);
return;
case Aadl2Package.RANGE_TYPE:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getRangeTypeRule()) {
sequence_RangeType(context, (RangeType) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedRangeTypeRule()) {
sequence_UnnamedRangeType(context, (RangeType) semanticObject);
return;
} else
break;
case Aadl2Package.RANGE_VALUE:
sequence_NumericRangeTerm(context, (RangeValue) semanticObject);
return;
case Aadl2Package.REAL_LITERAL:
if (rule == grammarAccess.getNumberValueRule() || rule == grammarAccess.getRealLitRule()) {
sequence_RealLit(context, (RealLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getConstantPropertyExpressionRule() || rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getRealTermRule() || rule == grammarAccess.getNumAltRule()) {
sequence_RealTerm(context, (RealLiteral) semanticObject);
return;
} else
break;
case Aadl2Package.REALIZATION:
sequence_Realization(context, (Realization) semanticObject);
return;
case Aadl2Package.RECORD_TYPE:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getRecordTypeRule()) {
sequence_RecordType(context, (RecordType) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedRecordTypeRule()) {
sequence_UnnamedRecordType(context, (RecordType) semanticObject);
return;
} else
break;
case Aadl2Package.RECORD_VALUE:
if (rule == grammarAccess.getOldRecordTermRule()) {
sequence_OldRecordTerm(context, (RecordValue) semanticObject);
return;
} else if (rule == grammarAccess.getConstantPropertyExpressionRule() || rule == grammarAccess.getPropertyExpressionRule() || rule == grammarAccess.getRecordTermRule()) {
sequence_RecordTerm(context, (RecordValue) semanticObject);
return;
} else
break;
case Aadl2Package.REFERENCE_TYPE:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getReferenceTypeRule()) {
sequence_ReferenceType(context, (ReferenceType) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedReferenceTypeRule()) {
sequence_UnnamedReferenceType(context, (ReferenceType) semanticObject);
return;
} else
break;
case Aadl2Package.REFERENCE_VALUE:
sequence_ReferenceTerm(context, (ReferenceValue) semanticObject);
return;
case Aadl2Package.STRING_LITERAL:
sequence_StringTerm(context, (StringLiteral) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_ACCESS:
sequence_SubprogramAccess(context, (SubprogramAccess) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_CALL:
sequence_SubprogramCall(context, (SubprogramCall) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_CALL_SEQUENCE:
sequence_SubprogramCallSequence(context, (SubprogramCallSequence) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_GROUP_ACCESS:
sequence_SubprogramGroupAccess(context, (SubprogramGroupAccess) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_GROUP_IMPLEMENTATION:
sequence_SubprogramGroupImplementation(context, (SubprogramGroupImplementation) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_GROUP_PROTOTYPE:
sequence_SubprogramGroupPrototype(context, (SubprogramGroupPrototype) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_GROUP_SUBCOMPONENT:
sequence_SubprogramGroupSubcomponent(context, (SubprogramGroupSubcomponent) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_GROUP_TYPE:
sequence_SubprogramGroupType(context, (SubprogramGroupType) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_IMPLEMENTATION:
sequence_SubprogramImplementation(context, (SubprogramImplementation) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_PROTOTYPE:
sequence_SubprogramPrototype(context, (SubprogramPrototype) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_PROXY:
sequence_SubprogramProxy(context, (SubprogramProxy) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_SUBCOMPONENT:
sequence_SubprogramSubcomponent(context, (SubprogramSubcomponent) semanticObject);
return;
case Aadl2Package.SUBPROGRAM_TYPE:
sequence_SubprogramType(context, (SubprogramType) semanticObject);
return;
case Aadl2Package.SYSTEM_IMPLEMENTATION:
sequence_SystemImplementation(context, (SystemImplementation) semanticObject);
return;
case Aadl2Package.SYSTEM_PROTOTYPE:
sequence_SystemPrototype(context, (SystemPrototype) semanticObject);
return;
case Aadl2Package.SYSTEM_SUBCOMPONENT:
sequence_SystemSubcomponent(context, (SystemSubcomponent) semanticObject);
return;
case Aadl2Package.SYSTEM_TYPE:
sequence_SystemType(context, (SystemType) semanticObject);
return;
case Aadl2Package.THREAD_GROUP_IMPLEMENTATION:
sequence_ThreadGroupImplementation(context, (ThreadGroupImplementation) semanticObject);
return;
case Aadl2Package.THREAD_GROUP_PROTOTYPE:
sequence_ThreadGroupPrototype(context, (ThreadGroupPrototype) semanticObject);
return;
case Aadl2Package.THREAD_GROUP_SUBCOMPONENT:
sequence_ThreadGroupSubcomponent(context, (ThreadGroupSubcomponent) semanticObject);
return;
case Aadl2Package.THREAD_GROUP_TYPE:
sequence_ThreadGroupType(context, (ThreadGroupType) semanticObject);
return;
case Aadl2Package.THREAD_IMPLEMENTATION:
sequence_ThreadImplementation(context, (ThreadImplementation) semanticObject);
return;
case Aadl2Package.THREAD_PROTOTYPE:
sequence_ThreadPrototype(context, (ThreadPrototype) semanticObject);
return;
case Aadl2Package.THREAD_SUBCOMPONENT:
sequence_ThreadSubcomponent(context, (ThreadSubcomponent) semanticObject);
return;
case Aadl2Package.THREAD_TYPE:
sequence_ThreadType(context, (ThreadType) semanticObject);
return;
case Aadl2Package.TYPE_EXTENSION:
sequence_TypeExtension(context, (TypeExtension) semanticObject);
return;
case Aadl2Package.UNIT_LITERAL:
if (rule == grammarAccess.getUnitLiteralConversionRule()) {
sequence_UnitLiteralConversion(context, (UnitLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getUnitLiteralRule()) {
sequence_UnitLiteral(context, (UnitLiteral) semanticObject);
return;
} else
break;
case Aadl2Package.UNITS_TYPE:
if (rule == grammarAccess.getPropertyTypeRule() || rule == grammarAccess.getUnitsTypeRule()) {
sequence_UnitsType(context, (UnitsType) semanticObject);
return;
} else if (rule == grammarAccess.getUnnamedPropertyTypeRule() || rule == grammarAccess.getUnnamedUnitsTypeRule()) {
sequence_UnnamedUnitsType(context, (UnitsType) semanticObject);
return;
} else
break;
case Aadl2Package.VIRTUAL_BUS_IMPLEMENTATION:
sequence_VirtualBusImplementation(context, (VirtualBusImplementation) semanticObject);
return;
case Aadl2Package.VIRTUAL_BUS_PROTOTYPE:
sequence_VirtualBusPrototype(context, (VirtualBusPrototype) semanticObject);
return;
case Aadl2Package.VIRTUAL_BUS_SUBCOMPONENT:
sequence_VirtualBusSubcomponent(context, (VirtualBusSubcomponent) semanticObject);
return;
case Aadl2Package.VIRTUAL_BUS_TYPE:
sequence_VirtualBusType(context, (VirtualBusType) semanticObject);
return;
case Aadl2Package.VIRTUAL_PROCESSOR_IMPLEMENTATION:
sequence_VirtualProcessorImplementation(context, (VirtualProcessorImplementation) semanticObject);
return;
case Aadl2Package.VIRTUAL_PROCESSOR_PROTOTYPE:
sequence_VirtualProcessorPrototype(context, (VirtualProcessorPrototype) semanticObject);
return;
case Aadl2Package.VIRTUAL_PROCESSOR_SUBCOMPONENT:
sequence_VirtualProcessorSubcomponent(context, (VirtualProcessorSubcomponent) semanticObject);
return;
case Aadl2Package.VIRTUAL_PROCESSOR_TYPE:
sequence_VirtualProcessorType(context, (VirtualProcessorType) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
use of org.osate.aadl2.PortConnection in project osate2 by osate.
the class Aadl2Validator method checkPortConnectionClassifiers.
/**
* Checks legality rule L13 for section 9.2 (Port Connections) "For
* connections between data ports, event data ports, and data access, the
* data classifier of the source port must match the data type of the
* destination port. The Classifier_Matching_Rule property specifies the
* rule to be applied to match the data classifier of a connection source to
* the data classifier of a connection destination."
*
* Checks legality rule L14 for section 9.2 (Port Connections) "The
* following rules are supported:
*
* -Classifier_Match: The source data type and data implementation must be
* identical to the data type or data implementation of the destination. If
* the destination classifier is a component type, then any implementation
* of the source matches. This is the default rule.
*
* -Equivalence: An indication that the two classifiers of a connection are
* considered to match if they are listed in the
* Supported_Classifier_Equivalence_Matches property. Acceptable data
* classifiers matches are specified as
* Supported_Classifier_Equivalence_Matches property with pairs of
* classifier values representing acceptable matches. Either element of the
* pair can be the source or destination classifier. Equivalence is intended
* to be used when the data types are considered to be identical, i.e., no
* conversion is necessary. The Supported_Classifier_Equivalence_Matches
* property is declared globally as a property constant.
*
* -Subset: A mapping of (a subset of) data elements of the source port data
* type to all data elements of the destination port data type. Acceptable
* data classifier matches are specified as
* Supported_Classifier_Subset_Matches property with pairs of classifier
* values representing acceptable matches. The first element of each pair
* specifies the acceptable source classifier, while the second element
* specifies the acceptable destination classifier. The
* Supported_Classifier_Subset_Matches property is declared globally as a
* property constant. A virtual bus or bus must represent a protocol that
* supports subsetting, such as OMG DDS.
*
* -Conversion: A mapping of the source port data type to the destination
* port data type, where the source port data type requires a conversion to
* the destination port data type. Acceptable data classifier matches are
* specified as Supported_Type_Conversions property with pairs of classifier
* values representing acceptable matches. The first element of each pair
* specifies the acceptable source classifier, while the second element
* specifies the acceptable destination classifier. The
* Supported_Type_Conversions property may be declared globally as a
* property constant. A virtual bus or bus must support the conversion from
* the source data classifier to the destination classifier."
*/
private void checkPortConnectionClassifiers(PortConnection connection) {
ConnectionEnd source = connection.getAllLastSource();
ConnectionEnd destination = connection.getAllLastDestination();
if ((source instanceof DataAccess || source instanceof DataSubcomponent || source instanceof DataPort || source instanceof EventDataPort) && (destination instanceof DataAccess || destination instanceof DataSubcomponent || destination instanceof DataPort || destination instanceof EventDataPort)) {
Classifier sourceClassifier;
Classifier destinationClassifier;
final boolean sourceIsSubcomponent = source instanceof DataSubcomponent;
final boolean destIsSubcomponent = destination instanceof DataSubcomponent;
if (sourceIsSubcomponent) {
sourceClassifier = ((DataSubcomponent) source).getAllClassifier();
} else {
sourceClassifier = ((Feature) source).getAllClassifier();
}
if (destIsSubcomponent) {
destinationClassifier = ((DataSubcomponent) destination).getAllClassifier();
} else {
destinationClassifier = ((Feature) destination).getAllClassifier();
}
if (sourceClassifier == null && destinationClassifier != null) {
warning("Expected " + (sourceIsSubcomponent ? "subcomponent" : "feature") + " \'" + source.getName() + "' to have classifier '" + destinationClassifier.getQualifiedName() + '\'', connection, Aadl2Package.eINSTANCE.getConnection_Source());
} else if (sourceClassifier != null && destinationClassifier == null) {
warning("Expected " + (destIsSubcomponent ? "subcomponent" : "feature") + " \'" + destination.getName() + "' to have classifier '" + sourceClassifier.getQualifiedName() + '\'', connection, Aadl2Package.eINSTANCE.getConnection_Destination());
} else if (sourceClassifier != null && destinationClassifier != null) {
try {
final ClassifierMatchingRule classifierMatchingRuleValue = org.osate.aadl2.contrib.modeling.ModelingProperties.getClassifierMatchingRule(connection).orElse(ClassifierMatchingRule.CLASSIFIER_MATCH);
if (classifierMatchingRuleValue == ClassifierMatchingRule.CLASSIFIER_MATCH) {
if (!testClassifierMatchRule(connection, source, sourceClassifier, destination, destinationClassifier)) {
error(connection, '\'' + source.getName() + "' and '" + destination.getName() + "' have incompatible classifiers.");
}
} else if (classifierMatchingRuleValue == ClassifierMatchingRule.EQUIVALENCE) {
if (!testClassifierMatchRule(connection, source, sourceClassifier, destination, destinationClassifier) && !classifiersFoundInSupportedClassifierEquivalenceMatchesProperty(connection, sourceClassifier, destinationClassifier)) {
error(connection, "The types of '" + source.getName() + "' and '" + destination.getName() + "' ('" + sourceClassifier.getQualifiedName() + "' and '" + destinationClassifier.getQualifiedName() + "') are incompatible and they are not listed as matching classifiers in the property constant '" + AadlProject.SUPPORTED_CLASSIFIER_EQUIVALENCE_MATCHES + "'.");
}
} else if (classifierMatchingRuleValue == ClassifierMatchingRule.SUBSET) {
if (!classifiersFoundInSupportedClassifierSubsetMatchesProperty(connection, sourceClassifier, destinationClassifier) && !isDataSubset(sourceClassifier, destinationClassifier)) {
error(connection, "The data type of '" + source.getName() + "' ('" + sourceClassifier.getQualifiedName() + "') is not a subset of the data type of '" + destination.getName() + "' ('" + destinationClassifier.getQualifiedName() + "') based on name matching or the property constant '" + AadlProject.SUPPORTED_CLASSIFIER_SUBSET_MATCHES + "'.");
}
} else if (classifierMatchingRuleValue == ClassifierMatchingRule.CONVERSION) {
if (!testClassifierMatchRule(connection, source, sourceClassifier, destination, destinationClassifier) && !classifiersFoundInSupportedTypeConversionsProperty(connection, sourceClassifier, destinationClassifier)) {
error(connection, "The types of '" + source.getName() + "' and '" + destination.getName() + "' ('" + sourceClassifier.getQualifiedName() + "' and '" + destinationClassifier.getQualifiedName() + "') are incompatible and they are not listed as matching classifiers in the property constant '" + AadlProject.SUPPORTED_TYPE_CONVERSIONS + "'.");
}
}
} catch (PropertyIsModalException e) {
// ignored exception. handled in separate validation method checkConnectionPropertyIsModal(Connection connection)
}
}
}
}
Aggregations