Search in sources :

Example 1 with PropertySet

use of org.osate.aadl2.PropertySet in project VERDICT by ge-high-assurance.

the class ThreatModelUtil method getTypes.

/**
 * Build a map from type names to types. Traverses all files
 * in the current project looking for property declarations, which
 * are used to populate fields for the built-in types.
 *
 * Built-in types are system, connection, and port (also portDirection).
 *
 * This method is not very efficient, and it gets called several times
 * on every keystroke. Fortunately there still seems to be reasonably fast.
 * A crucial optimization will be caching the results because the set of
 * properties does not change that frequently.
 *
 * @param obj an AST node context, used to get access to project files
 * @param indexProvider an index provider, may be obtained through Guice
 * @return the constructed type map
 */
public static LinkedHashMap<String, VerdictType> getTypes(EObject obj, ResourceDescriptionsProvider indexProvider) {
    LinkedHashMap<String, VerdictType> types = new LinkedHashMap<>();
    // Three main built-in types
    BuiltInType connection = new BuiltInType("connection");
    BuiltInType port = new BuiltInType("port");
    BuiltInType system = new BuiltInType("system");
    addBuiltin(types, connection);
    addBuiltin(types, port);
    addBuiltin(types, system);
    // Connection fields
    connection.addField("inPort", port);
    connection.addField("outPort", port);
    connection.addField("source", system);
    connection.addField("dest", system);
    // Port direction
    BuiltInType portDir = new BuiltInType("portDirection");
    portDir.addValue("in");
    portDir.addValue("out");
    // Port fields
    port.addField("direction", portDir);
    port.addField("connections", connection.getListType());
    // System fields
    system.addField("subcomponents", system.getListType());
    system.addField("connections", connection.getListType());
    system.addField("ports", port.getListType());
    // Get the path to the current resource, used to get the project path
    String[] resSegments = obj.eResource().getURI().segments();
    // Iterate through all resources
    IResourceDescriptions index = indexProvider.getResourceDescriptions(obj.eResource());
    descLoop: for (IEObjectDescription desc : index.getExportedObjectsByType(Aadl2Package.eINSTANCE.getPropertySet())) {
        // Get the path to the resource we are examining
        String[] propsResSegments = desc.getEObjectURI().segments();
        // The project is determined by the first two URI segments
        for (int i = 0; i < Math.min(2, Math.min(resSegments.length, propsResSegments.length)); i++) {
            if (!resSegments[i].equals(propsResSegments[i])) {
                continue descLoop;
            }
        }
        // Load the resource into EMF-land; dynamically loads if necessary
        Resource res = obj.eResource().getResourceSet().getResource(desc.getEObjectURI(), true);
        if (res != null) {
            // Search the AST
            TreeIterator<EObject> it = res.getAllContents();
            while (it.hasNext()) {
                EObject next = it.next();
                if (next instanceof PropertySet) {
                    PropertySet props = (PropertySet) next;
                    // Iterate the declared properties
                    for (Element elem : props.getOwnedElements()) {
                        if (elem instanceof Property) {
                            Property prop = (Property) elem;
                            // Make sure type information is present
                            if (prop.getPropertyType() != null) {
                                // the types for which the property is a field
                                for (MetaclassReference meta : prop.getAppliesToMetaclasses()) {
                                    // Get type name, lowercase it because it is a class name
                                    String appliesToMetaclass = meta.getMetaclass().getName().toLowerCase();
                                    // Hopefully this is a type that we have accounted for
                                    if (types.containsKey(appliesToMetaclass)) {
                                        ((BuiltInType) types.get(appliesToMetaclass)).addField(prop.getName(), new AadlTypeWrapper(prop.getName(), prop.getPropertyType()));
                                    } else {
                                        // If we get this error message, then perhaps need to add
                                        // some built-in types
                                        System.err.println("could not find built in type: " + appliesToMetaclass);
                                    }
                                }
                            }
                        }
                    }
                    // Discard all children of the property set
                    it.prune();
                }
            }
        }
    }
    // Prevent synchronization issues
    portDir.lock();
    connection.lock();
    port.lock();
    system.lock();
    return types;
}
Also used : Element(org.osate.aadl2.Element) Resource(org.eclipse.emf.ecore.resource.Resource) AadlTypeWrapper(com.ge.research.osate.verdict.dsl.type.AadlTypeWrapper) BuiltInType(com.ge.research.osate.verdict.dsl.type.BuiltInType) LinkedHashMap(java.util.LinkedHashMap) IEObjectDescription(org.eclipse.xtext.resource.IEObjectDescription) VerdictType(com.ge.research.osate.verdict.dsl.type.VerdictType) IResourceDescriptions(org.eclipse.xtext.resource.IResourceDescriptions) EObject(org.eclipse.emf.ecore.EObject) PropertySet(org.osate.aadl2.PropertySet) MetaclassReference(org.osate.aadl2.MetaclassReference) TreeIterator(org.eclipse.emf.common.util.TreeIterator) Property(org.osate.aadl2.Property)

Example 2 with PropertySet

use of org.osate.aadl2.PropertySet in project AGREE by loonwerks.

the class AgreeLinkingService method getElm.

private Element getElm(EObject context, EReference reference, String name) {
    String[] segments = name.split("::");
    if (segments.length >= 2) {
        String pkgName = String.join("::", Arrays.copyOf(segments, segments.length - 1));
        String statementName = segments[segments.length - 1];
        Namespace namespace = AadlUtil.getContainingTopLevelNamespace(context);
        PropertySet propSet = AadlUtil.findImportedPropertySet(pkgName, namespace);
        if (propSet != null) {
            Element elm = propSet.findNamedElement(statementName);
            return elm;
        }
        AadlPackage aadlPackage = AadlUtil.findImportedPackage(pkgName, namespace);
        if (aadlPackage == null) {
            for (PackageRename rename : EcoreUtil2.getAllContentsOfType(namespace.getElementRoot(), PackageRename.class)) {
                if (rename.getName() != null && pkgName.equals(rename.getName())) {
                    aadlPackage = rename.getRenamedPackage();
                }
            }
        }
        if (aadlPackage != null) {
            for (AnnexLibrary annex : AnnexUtil.getAllActualAnnexLibraries(aadlPackage, AgreePackage.eINSTANCE.getAgreeContractLibrary())) {
                AgreeContract contract = (AgreeContract) ((AgreeContractLibrary) annex).getContract();
                for (SpecStatement spec : contract.getSpecs()) {
                    if (spec instanceof RecordDef) {
                        if (((RecordDef) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof FnDef) {
                        if (((FnDef) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof LibraryFnDef) {
                        if (((LibraryFnDef) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof UninterpretedFnDef) {
                        if (((UninterpretedFnDef) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof NodeDef) {
                        if (((NodeDef) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof LinearizationDef) {
                        if (((LinearizationDef) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof ConstStatement) {
                        if (((ConstStatement) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                    } else if (spec instanceof EnumStatement) {
                        if (((EnumStatement) spec).getName().equals(statementName)) {
                            return (spec);
                        }
                        EList<NamedID> enums = ((EnumStatement) spec).getEnums();
                        for (NamedID nid : enums) {
                            if (nid.getName().contentEquals(statementName)) {
                                return nid;
                            }
                        }
                    }
                }
            }
        }
    }
    return null;
}
Also used : AgreeContract(com.rockwellcollins.atc.agree.agree.AgreeContract) AadlPackage(org.osate.aadl2.AadlPackage) LibraryFnDef(com.rockwellcollins.atc.agree.agree.LibraryFnDef) NodeDef(com.rockwellcollins.atc.agree.agree.NodeDef) Element(org.osate.aadl2.Element) LinearizationDef(com.rockwellcollins.atc.agree.agree.LinearizationDef) SpecStatement(com.rockwellcollins.atc.agree.agree.SpecStatement) UninterpretedFnDef(com.rockwellcollins.atc.agree.agree.UninterpretedFnDef) Namespace(org.osate.aadl2.Namespace) NamedID(com.rockwellcollins.atc.agree.agree.NamedID) FnDef(com.rockwellcollins.atc.agree.agree.FnDef) LibraryFnDef(com.rockwellcollins.atc.agree.agree.LibraryFnDef) UninterpretedFnDef(com.rockwellcollins.atc.agree.agree.UninterpretedFnDef) ConstStatement(com.rockwellcollins.atc.agree.agree.ConstStatement) EList(org.eclipse.emf.common.util.EList) PackageRename(org.osate.aadl2.PackageRename) EnumStatement(com.rockwellcollins.atc.agree.agree.EnumStatement) PropertySet(org.osate.aadl2.PropertySet) AnnexLibrary(org.osate.aadl2.AnnexLibrary) RecordDef(com.rockwellcollins.atc.agree.agree.RecordDef)

Example 3 with PropertySet

use of org.osate.aadl2.PropertySet in project osate2 by osate.

the class AadlBaPackageImpl 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);
    // Obtain other dependent packages
    Aadl2Package theAadl2Package = (Aadl2Package) EPackage.Registry.INSTANCE.getEPackage(Aadl2Package.eNS_URI);
    // Create type parameters
    // Set bounds for type parameters
    // Add supertypes to classes
    actualPortHolderEClass.getESuperTypes().add(this.getPortHolder());
    assignmentActionEClass.getESuperTypes().add(this.getBasicAction());
    anyEClass.getESuperTypes().add(this.getValueExpression());
    basicActionEClass.getESuperTypes().add(this.getBehaviorAction());
    basicPropertyHolderEClass.getESuperTypes().add(this.getPropertyElementHolder());
    behaviorActionEClass.getESuperTypes().add(this.getBehaviorActions());
    behaviorActionBlockEClass.getESuperTypes().add(this.getBehaviorAction());
    behaviorActionBlockEClass.getESuperTypes().add(this.getBehaviorElement());
    behaviorActionCollectionEClass.getESuperTypes().add(this.getBehaviorActions());
    behaviorActionsEClass.getESuperTypes().add(this.getBehaviorElement());
    behaviorActionSequenceEClass.getESuperTypes().add(this.getBehaviorActionCollection());
    behaviorActionSetEClass.getESuperTypes().add(this.getBehaviorActionCollection());
    behaviorAnnexEClass.getESuperTypes().add(theAadl2Package.getAnnexSubclause());
    behaviorAnnexEClass.getESuperTypes().add(this.getBehaviorElement());
    behaviorBooleanLiteralEClass.getESuperTypes().add(theAadl2Package.getBooleanLiteral());
    behaviorBooleanLiteralEClass.getESuperTypes().add(this.getLiteral());
    behaviorConditionEClass.getESuperTypes().add(this.getBehaviorElement());
    behaviorElementEClass.getESuperTypes().add(theAadl2Package.getElement());
    behaviorIntegerLiteralEClass.getESuperTypes().add(theAadl2Package.getIntegerLiteral());
    behaviorIntegerLiteralEClass.getESuperTypes().add(this.getNumericLiteral());
    behaviorNamedElementEClass.getESuperTypes().add(theAadl2Package.getNamedElement());
    behaviorNamedElementEClass.getESuperTypes().add(this.getBehaviorElement());
    behaviorPropertyConstantEClass.getESuperTypes().add(this.getValueConstant());
    behaviorPropertyConstantEClass.getESuperTypes().add(this.getIntegerValueConstant());
    behaviorRealLiteralEClass.getESuperTypes().add(theAadl2Package.getRealLiteral());
    behaviorRealLiteralEClass.getESuperTypes().add(this.getNumericLiteral());
    behaviorStateEClass.getESuperTypes().add(this.getBehaviorNamedElement());
    behaviorStringLiteralEClass.getESuperTypes().add(theAadl2Package.getStringLiteral());
    behaviorStringLiteralEClass.getESuperTypes().add(this.getLiteral());
    behaviorTimeEClass.getESuperTypes().add(this.getBehaviorElement());
    behaviorTransitionEClass.getESuperTypes().add(this.getBehaviorNamedElement());
    behaviorVariableEClass.getESuperTypes().add(this.getBehaviorNamedElement());
    behaviorVariableEClass.getESuperTypes().add(theAadl2Package.getArrayableElement());
    behaviorVariableEClass.getESuperTypes().add(theAadl2Package.getData());
    behaviorVariableHolderEClass.getESuperTypes().add(this.getDataHolder());
    behaviorVariableHolderEClass.getESuperTypes().add(this.getIndexableElement());
    behaviorVariableHolderEClass.getESuperTypes().add(this.getTarget());
    behaviorVariableHolderEClass.getESuperTypes().add(this.getElementValues());
    behaviorVariableHolderEClass.getESuperTypes().add(this.getSubprogramHolderProxy());
    behaviorVariableHolderEClass.getESuperTypes().add(this.getClassifierFeatureHolder());
    calledSubprogramHolderEClass.getESuperTypes().add(this.getElementHolder());
    calledSubprogramHolderEClass.getESuperTypes().add(this.getIndexableElement());
    calledSubprogramHolderEClass.getESuperTypes().add(this.getGroupableElement());
    classifierFeatureHolderEClass.getESuperTypes().add(this.getElementHolder());
    classifierFeaturePropertyReferenceEClass.getESuperTypes().add(this.getPropertyReference());
    classifierPropertyReferenceEClass.getESuperTypes().add(this.getPropertyReference());
    communicationActionEClass.getESuperTypes().add(this.getBasicAction());
    completionRelativeTimeoutEClass.getESuperTypes().add(this.getBehaviorTime());
    completionRelativeTimeoutEClass.getESuperTypes().add(this.getDispatchRelativeTimeout());
    condStatementEClass.getESuperTypes().add(this.getBehaviorAction());
    dataAccessHolderEClass.getESuperTypes().add(this.getDataHolder());
    dataAccessHolderEClass.getESuperTypes().add(this.getTarget());
    dataAccessHolderEClass.getESuperTypes().add(this.getElementValues());
    dataAccessHolderEClass.getESuperTypes().add(this.getSubprogramHolderProxy());
    dataAccessHolderEClass.getESuperTypes().add(this.getFeatureHolder());
    dataAccessPrototypeHolderEClass.getESuperTypes().add(this.getDataHolder());
    dataAccessPrototypeHolderEClass.getESuperTypes().add(this.getPrototypeHolder());
    dataAccessPrototypeHolderEClass.getESuperTypes().add(this.getTarget());
    dataAccessPrototypeHolderEClass.getESuperTypes().add(this.getElementValues());
    dataComponentReferenceEClass.getESuperTypes().add(this.getElementValues());
    dataComponentReferenceEClass.getESuperTypes().add(this.getTarget());
    dataComponentReferenceEClass.getESuperTypes().add(this.getValueVariable());
    dataComponentReferenceEClass.getESuperTypes().add(this.getIntegerValueVariable());
    dataHolderEClass.getESuperTypes().add(this.getElementHolder());
    dataHolderEClass.getESuperTypes().add(this.getIntegerValueVariable());
    dataHolderEClass.getESuperTypes().add(this.getValueVariable());
    dataPortHolderEClass.getESuperTypes().add(this.getActualPortHolder());
    dataPortHolderEClass.getESuperTypes().add(this.getTarget());
    dataSubcomponentHolderEClass.getESuperTypes().add(this.getDataHolder());
    dataSubcomponentHolderEClass.getESuperTypes().add(this.getTarget());
    dataSubcomponentHolderEClass.getESuperTypes().add(this.getElementValues());
    dataSubcomponentHolderEClass.getESuperTypes().add(this.getSubprogramHolderProxy());
    dataSubcomponentHolderEClass.getESuperTypes().add(this.getSubcomponentHolder());
    dispatchConditionEClass.getESuperTypes().add(this.getBehaviorCondition());
    dispatchConjunctionEClass.getESuperTypes().add(this.getBehaviorElement());
    dispatchRelativeTimeoutEClass.getESuperTypes().add(this.getDispatchTriggerCondition());
    dispatchTriggerEClass.getESuperTypes().add(this.getBehaviorElement());
    dispatchTriggerConditionEClass.getESuperTypes().add(this.getBehaviorElement());
    dispatchTriggerConditionStopEClass.getESuperTypes().add(this.getDispatchTriggerCondition());
    dispatchTriggerLogicalExpressionEClass.getESuperTypes().add(this.getDispatchTriggerCondition());
    elementHolderEClass.getESuperTypes().add(this.getBehaviorElement());
    elementValuesEClass.getESuperTypes().add(this.getBehaviorElement());
    elseStatementEClass.getESuperTypes().add(this.getCondStatement());
    enumLiteralHolderEClass.getESuperTypes().add(this.getPropertyElementHolder());
    eventDataPortHolderEClass.getESuperTypes().add(this.getActualPortHolder());
    eventDataPortHolderEClass.getESuperTypes().add(this.getElementValues());
    eventDataPortHolderEClass.getESuperTypes().add(this.getDispatchTrigger());
    eventDataPortHolderEClass.getESuperTypes().add(this.getModeSwitchTrigger());
    eventDataPortHolderEClass.getESuperTypes().add(this.getTarget());
    eventPortHolderEClass.getESuperTypes().add(this.getActualPortHolder());
    eventPortHolderEClass.getESuperTypes().add(this.getDispatchTrigger());
    eventPortHolderEClass.getESuperTypes().add(this.getModeSwitchTrigger());
    eventPortHolderEClass.getESuperTypes().add(this.getTarget());
    executeConditionEClass.getESuperTypes().add(this.getBehaviorCondition());
    executionTimeoutCatchEClass.getESuperTypes().add(this.getExecuteCondition());
    factorEClass.getESuperTypes().add(this.getBehaviorElement());
    featureHolderEClass.getESuperTypes().add(this.getClassifierFeatureHolder());
    featureHolderEClass.getESuperTypes().add(this.getIndexableElement());
    featureHolderEClass.getESuperTypes().add(this.getGroupableElement());
    featurePrototypeHolderEClass.getESuperTypes().add(this.getDataHolder());
    featurePrototypeHolderEClass.getESuperTypes().add(this.getPrototypeHolder());
    featurePrototypeHolderEClass.getESuperTypes().add(this.getTarget());
    featurePrototypeHolderEClass.getESuperTypes().add(this.getElementValues());
    forOrForAllStatementEClass.getESuperTypes().add(this.getLoopStatement());
    groupableElementEClass.getESuperTypes().add(this.getBehaviorElement());
    groupHolderEClass.getESuperTypes().add(this.getElementHolder());
    groupHolderEClass.getESuperTypes().add(this.getIndexableElement());
    groupPrototypeHolderEClass.getESuperTypes().add(this.getGroupHolder());
    ifStatementEClass.getESuperTypes().add(this.getCondStatement());
    ifStatementEClass.getESuperTypes().add(this.getElseStatement());
    indexableElementEClass.getESuperTypes().add(this.getBehaviorElement());
    integerRangeEClass.getESuperTypes().add(this.getElementValues());
    integerValueEClass.getESuperTypes().add(this.getBehaviorElement());
    integerValueConstantEClass.getESuperTypes().add(this.getIntegerValue());
    integerValueConstantEClass.getESuperTypes().add(this.getValueConstant());
    integerValueVariableEClass.getESuperTypes().add(this.getIntegerValue());
    integerValueVariableEClass.getESuperTypes().add(this.getValueVariable());
    iterativeVariableEClass.getESuperTypes().add(this.getBehaviorNamedElement());
    iterativeVariableHolderEClass.getESuperTypes().add(this.getDataHolder());
    literalEClass.getESuperTypes().add(this.getValueConstant());
    literalEClass.getESuperTypes().add(this.getIntegerValueConstant());
    lockActionEClass.getESuperTypes().add(this.getSharedDataAction());
    loopStatementEClass.getESuperTypes().add(this.getCondStatement());
    lowerBoundEClass.getESuperTypes().add(this.getPropertyNameField());
    numericLiteralEClass.getESuperTypes().add(theAadl2Package.getNumberValue());
    numericLiteralEClass.getESuperTypes().add(this.getLiteral());
    otherwiseEClass.getESuperTypes().add(this.getExecuteCondition());
    parameterHolderEClass.getESuperTypes().add(this.getDataHolder());
    parameterHolderEClass.getESuperTypes().add(this.getTarget());
    parameterHolderEClass.getESuperTypes().add(this.getElementValues());
    parameterHolderEClass.getESuperTypes().add(this.getFeatureHolder());
    parameterLabelEClass.getESuperTypes().add(this.getBehaviorElement());
    portCountValueEClass.getESuperTypes().add(this.getActualPortHolder());
    portDequeueActionEClass.getESuperTypes().add(this.getCommunicationAction());
    portDequeueValueEClass.getESuperTypes().add(this.getActualPortHolder());
    portFreezeActionEClass.getESuperTypes().add(this.getActualPortHolder());
    portFreezeActionEClass.getESuperTypes().add(this.getCommunicationAction());
    portFreshValueEClass.getESuperTypes().add(this.getActualPortHolder());
    portHolderEClass.getESuperTypes().add(this.getValueVariable());
    portHolderEClass.getESuperTypes().add(this.getIntegerValueVariable());
    portHolderEClass.getESuperTypes().add(this.getFeatureHolder());
    portPrototypeHolderEClass.getESuperTypes().add(this.getPortHolder());
    portPrototypeHolderEClass.getESuperTypes().add(this.getPrototypeHolder());
    portPrototypeHolderEClass.getESuperTypes().add(this.getTarget());
    portSendActionEClass.getESuperTypes().add(this.getCommunicationAction());
    propertyAssociationHolderEClass.getESuperTypes().add(this.getPropertyElementHolder());
    propertyElementHolderEClass.getESuperTypes().add(this.getBehaviorElement());
    propertyElementHolderEClass.getESuperTypes().add(this.getIndexableElement());
    propertyExpressionHolderEClass.getESuperTypes().add(this.getPropertyElementHolder());
    propertyNameFieldEClass.getESuperTypes().add(this.getBehaviorElement());
    propertyNameHolderEClass.getESuperTypes().add(this.getBehaviorElement());
    propertyReferenceEClass.getESuperTypes().add(this.getValueConstant());
    propertyReferenceEClass.getESuperTypes().add(this.getIntegerValueConstant());
    propertySetPropertyReferenceEClass.getESuperTypes().add(this.getPropertyReference());
    propertyTypeHolderEClass.getESuperTypes().add(this.getPropertyElementHolder());
    prototypeHolderEClass.getESuperTypes().add(this.getIndexableElement());
    prototypeHolderEClass.getESuperTypes().add(this.getGroupableElement());
    prototypeHolderEClass.getESuperTypes().add(this.getClassifierFeatureHolder());
    relationEClass.getESuperTypes().add(this.getBehaviorElement());
    sharedDataActionEClass.getESuperTypes().add(this.getCommunicationAction());
    simpleExpressionEClass.getESuperTypes().add(this.getBehaviorElement());
    structUnionElementEClass.getESuperTypes().add(this.getBehaviorNamedElement());
    structUnionElementHolderEClass.getESuperTypes().add(this.getDataHolder());
    structUnionElementHolderEClass.getESuperTypes().add(this.getIndexableElement());
    structUnionElementHolderEClass.getESuperTypes().add(this.getTarget());
    structUnionElementHolderEClass.getESuperTypes().add(this.getElementValues());
    subcomponentHolderEClass.getESuperTypes().add(this.getClassifierFeatureHolder());
    subcomponentHolderEClass.getESuperTypes().add(this.getIndexableElement());
    subcomponentHolderEClass.getESuperTypes().add(this.getGroupableElement());
    subprogramAccessHolderEClass.getESuperTypes().add(this.getDispatchTriggerCondition());
    subprogramAccessHolderEClass.getESuperTypes().add(this.getCalledSubprogramHolder());
    subprogramAccessHolderEClass.getESuperTypes().add(this.getFeatureHolder());
    subprogramCallActionEClass.getESuperTypes().add(this.getCommunicationAction());
    subprogramHolderEClass.getESuperTypes().add(this.getCalledSubprogramHolder());
    subprogramHolderProxyEClass.getESuperTypes().add(this.getBehaviorElement());
    subprogramPrototypeHolderEClass.getESuperTypes().add(this.getCalledSubprogramHolder());
    subprogramPrototypeHolderEClass.getESuperTypes().add(this.getPrototypeHolder());
    subprogramSubcomponentHolderEClass.getESuperTypes().add(this.getSubcomponentHolder());
    subprogramSubcomponentHolderEClass.getESuperTypes().add(this.getCalledSubprogramHolder());
    targetEClass.getESuperTypes().add(this.getParameterLabel());
    targetEClass.getESuperTypes().add(this.getBehaviorElement());
    termEClass.getESuperTypes().add(this.getBehaviorElement());
    timedActionEClass.getESuperTypes().add(this.getBasicAction());
    unlockActionEClass.getESuperTypes().add(this.getSharedDataAction());
    upperBoundEClass.getESuperTypes().add(this.getPropertyNameField());
    valueEClass.getESuperTypes().add(this.getBehaviorElement());
    valueConstantEClass.getESuperTypes().add(this.getValue());
    valueExpressionEClass.getESuperTypes().add(this.getValue());
    valueExpressionEClass.getESuperTypes().add(this.getParameterLabel());
    valueExpressionEClass.getESuperTypes().add(this.getExecuteCondition());
    valueVariableEClass.getESuperTypes().add(this.getValue());
    whileOrDoUntilStatementEClass.getESuperTypes().add(this.getLoopStatement());
    modeSwitchTriggerLogicalExpressionEClass.getESuperTypes().add(this.getModeSwitchTriggerCondition());
    modeSwitchTriggerConditionEClass.getESuperTypes().add(this.getBehaviorCondition());
    modeSwitchConjunctionEClass.getESuperTypes().add(this.getBehaviorElement());
    modeSwitchTriggerEClass.getESuperTypes().add(this.getBehaviorElement());
    // Initialize classes and features; add operations and parameters
    initEClass(actualPortHolderEClass, ActualPortHolder.class, "ActualPortHolder", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    EOperation op = addEOperation(actualPortHolderEClass, null, "setPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getPort(), "port", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(actualPortHolderEClass, theAadl2Package.getPort(), "getPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(assignmentActionEClass, AssignmentAction.class, "AssignmentAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getAssignmentAction_Target(), this.getTarget(), null, "target", null, 1, 1, AssignmentAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getAssignmentAction_ValueExpression(), this.getValueExpression(), null, "valueExpression", null, 1, 1, AssignmentAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(anyEClass, Any.class, "Any", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(basicActionEClass, BasicAction.class, "BasicAction", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(basicPropertyHolderEClass, BasicPropertyHolder.class, "BasicPropertyHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(basicPropertyHolderEClass, null, "setBasicProperty", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getBasicProperty(), "basicProperty", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(basicPropertyHolderEClass, theAadl2Package.getBasicProperty(), "getBasicProperty", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(behaviorActionEClass, BehaviorAction.class, "BehaviorAction", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorActionBlockEClass, BehaviorActionBlock.class, "BehaviorActionBlock", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorActionBlock_Content(), this.getBehaviorActions(), null, "content", null, 1, 1, BehaviorActionBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorActionBlock_Timeout(), this.getBehaviorTime(), null, "timeout", null, 0, 1, BehaviorActionBlock.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorActionCollectionEClass, BehaviorActionCollection.class, "BehaviorActionCollection", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorActionCollection_Actions(), this.getBehaviorAction(), null, "actions", null, 2, -1, BehaviorActionCollection.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorActionsEClass, BehaviorActions.class, "BehaviorActions", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorActionSequenceEClass, BehaviorActionSequence.class, "BehaviorActionSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorActionSetEClass, BehaviorActionSet.class, "BehaviorActionSet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorAnnexEClass, BehaviorAnnex.class, "BehaviorAnnex", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorAnnex_Variables(), this.getBehaviorVariable(), null, "variables", null, 0, -1, BehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorAnnex_States(), this.getBehaviorState(), null, "states", null, 0, -1, BehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorAnnex_Transitions(), this.getBehaviorTransition(), null, "transitions", null, 0, -1, BehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorAnnex_Actions(), this.getBehaviorActionBlock(), null, "actions", null, 0, -1, BehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorAnnex_Conditions(), this.getBehaviorCondition(), null, "conditions", null, 0, -1, BehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorAnnex_InitialState(), this.getBehaviorState(), null, "initialState", null, 1, 1, BehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorBooleanLiteralEClass, BehaviorBooleanLiteral.class, "BehaviorBooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorConditionEClass, BehaviorCondition.class, "BehaviorCondition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorElementEClass, BehaviorElement.class, "BehaviorElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorIntegerLiteralEClass, BehaviorIntegerLiteral.class, "BehaviorIntegerLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorNamedElementEClass, BehaviorNamedElement.class, "BehaviorNamedElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorPropertyConstantEClass, BehaviorPropertyConstant.class, "BehaviorPropertyConstant", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorPropertyConstant_Property(), theAadl2Package.getPropertyConstant(), null, "property", null, 1, 1, BehaviorPropertyConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorPropertyConstant_PropertySet(), theAadl2Package.getPropertySet(), null, "propertySet", null, 0, 1, BehaviorPropertyConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorRealLiteralEClass, BehaviorRealLiteral.class, "BehaviorRealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorStateEClass, BehaviorState.class, "BehaviorState", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getBehaviorState_Initial(), this.getBoolean(), "initial", "false", 1, 1, BehaviorState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getBehaviorState_Complete(), this.getBoolean(), "complete", "false", 1, 1, BehaviorState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getBehaviorState_Final(), this.getBoolean(), "final", "false", 1, 1, BehaviorState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorState_BindedMode(), theAadl2Package.getMode(), null, "bindedMode", null, 0, 1, BehaviorState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorState_IncomingTransitions(), this.getBehaviorTransition(), this.getBehaviorTransition_DestinationState(), "incomingTransitions", null, 0, -1, BehaviorState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorState_OutgoingTransitions(), this.getBehaviorTransition(), this.getBehaviorTransition_SourceState(), "outgoingTransitions", null, 0, -1, BehaviorState.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorStringLiteralEClass, BehaviorStringLiteral.class, "BehaviorStringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(behaviorTimeEClass, BehaviorTime.class, "BehaviorTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorTime_IntegerValue(), this.getIntegerValue(), null, "integerValue", null, 1, 1, BehaviorTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorTime_Unit(), theAadl2Package.getUnitLiteral(), null, "unit", null, 0, 1, BehaviorTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorTransitionEClass, BehaviorTransition.class, "BehaviorTransition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorTransition_SourceState(), this.getBehaviorState(), this.getBehaviorState_OutgoingTransitions(), "sourceState", null, 0, 1, BehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorTransition_Condition(), this.getBehaviorCondition(), null, "condition", null, 0, 1, BehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorTransition_DestinationState(), this.getBehaviorState(), this.getBehaviorState_IncomingTransitions(), "destinationState", null, 0, 1, BehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorTransition_ActionBlock(), this.getBehaviorActionBlock(), null, "actionBlock", null, 0, 1, BehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getBehaviorTransition_Priority(), theAadl2Package.getInteger(), "priority", "-1", 0, 1, BehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorVariableEClass, BehaviorVariable.class, "BehaviorVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getBehaviorVariable_DataClassifier(), theAadl2Package.getDataClassifier(), null, "dataClassifier", null, 1, 1, BehaviorVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorVariable_OwnedPropertyAssociations(), theAadl2Package.getPropertyAssociation(), null, "ownedPropertyAssociations", null, 0, -1, BehaviorVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getBehaviorVariable_OwnedValueConstant(), this.getValueConstant(), null, "ownedValueConstant", null, 0, 1, BehaviorVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(behaviorVariableHolderEClass, BehaviorVariableHolder.class, "BehaviorVariableHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(behaviorVariableHolderEClass, null, "setVariable", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, this.getBehaviorVariable(), "variable", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(behaviorVariableHolderEClass, this.getBehaviorVariable(), "getBehaviorVariable", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(calledSubprogramHolderEClass, CalledSubprogramHolder.class, "CalledSubprogramHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(classifierFeatureHolderEClass, ClassifierFeatureHolder.class, "ClassifierFeatureHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(classifierFeatureHolderEClass, null, "setClassifierFeature", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getClassifierFeature(), "classifierFeature", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(classifierFeatureHolderEClass, theAadl2Package.getClassifierFeature(), "getClassifierFeature", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(classifierFeaturePropertyReferenceEClass, ClassifierFeaturePropertyReference.class, "ClassifierFeaturePropertyReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getClassifierFeaturePropertyReference_Component(), this.getClassifierFeatureHolder(), null, "component", null, 1, 1, ClassifierFeaturePropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(classifierPropertyReferenceEClass, ClassifierPropertyReference.class, "ClassifierPropertyReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getClassifierPropertyReference_Classifier(), theAadl2Package.getClassifier(), null, "classifier", null, 1, 1, ClassifierPropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(communicationActionEClass, CommunicationAction.class, "CommunicationAction", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(completionRelativeTimeoutEClass, CompletionRelativeTimeout.class, "CompletionRelativeTimeout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(condStatementEClass, CondStatement.class, "CondStatement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getCondStatement_BehaviorActions(), this.getBehaviorActions(), null, "behaviorActions", null, 1, 1, CondStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(dataAccessHolderEClass, DataAccessHolder.class, "DataAccessHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(dataAccessHolderEClass, null, "setDataAccess", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getDataAccess(), "dataAccess", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(dataAccessHolderEClass, theAadl2Package.getDataAccess(), "getDataAccess", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(dataAccessPrototypeHolderEClass, DataAccessPrototypeHolder.class, "DataAccessPrototypeHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(dataComponentReferenceEClass, DataComponentReference.class, "DataComponentReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDataComponentReference_Data(), this.getDataHolder(), null, "data", null, 2, -1, DataComponentReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(dataHolderEClass, DataHolder.class, "DataHolder", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(dataPortHolderEClass, DataPortHolder.class, "DataPortHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(dataPortHolderEClass, null, "setDataPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getDataPort(), "dataPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(dataPortHolderEClass, theAadl2Package.getDataPort(), "getDataPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(dataSubcomponentHolderEClass, DataSubcomponentHolder.class, "DataSubcomponentHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(dataSubcomponentHolderEClass, null, "setDataSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getDataSubcomponent(), "dataSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(dataSubcomponentHolderEClass, theAadl2Package.getDataSubcomponent(), "getDataSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(dispatchConditionEClass, DispatchCondition.class, "DispatchCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDispatchCondition_DispatchTriggerCondition(), this.getDispatchTriggerCondition(), null, "dispatchTriggerCondition", null, 0, 1, DispatchCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDispatchCondition_FrozenPorts(), this.getActualPortHolder(), null, "frozenPorts", null, 0, -1, DispatchCondition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(dispatchConjunctionEClass, DispatchConjunction.class, "DispatchConjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDispatchConjunction_DispatchTriggers(), this.getDispatchTrigger(), null, "dispatchTriggers", null, 1, -1, DispatchConjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(dispatchRelativeTimeoutEClass, DispatchRelativeTimeout.class, "DispatchRelativeTimeout", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(dispatchTriggerEClass, DispatchTrigger.class, "DispatchTrigger", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(dispatchTriggerConditionEClass, DispatchTriggerCondition.class, "DispatchTriggerCondition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(dispatchTriggerConditionStopEClass, DispatchTriggerConditionStop.class, "DispatchTriggerConditionStop", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(dispatchTriggerLogicalExpressionEClass, DispatchTriggerLogicalExpression.class, "DispatchTriggerLogicalExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDispatchTriggerLogicalExpression_DispatchConjunctions(), this.getDispatchConjunction(), null, "dispatchConjunctions", null, 1, -1, DispatchTriggerLogicalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(elementHolderEClass, ElementHolder.class, "ElementHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getElementHolder_Element(), theAadl2Package.getNamedElement(), null, "element", null, 0, 1, ElementHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(elementValuesEClass, ElementValues.class, "ElementValues", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(elseStatementEClass, ElseStatement.class, "ElseStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(enumLiteralHolderEClass, EnumLiteralHolder.class, "EnumLiteralHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(enumLiteralHolderEClass, null, "setEnumLiteral", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getEnumerationLiteral(), "enumLiteral", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(enumLiteralHolderEClass, theAadl2Package.getEnumerationLiteral(), "getEnumLiteral", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(eventDataPortHolderEClass, EventDataPortHolder.class, "EventDataPortHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(eventDataPortHolderEClass, null, "setEventDataPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getEventDataPort(), "eventDataPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(eventDataPortHolderEClass, theAadl2Package.getEventDataPort(), "geteventDataPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(eventPortHolderEClass, EventPortHolder.class, "EventPortHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(eventPortHolderEClass, null, "setEventPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getEventPort(), "eventPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(eventPortHolderEClass, theAadl2Package.getEventPort(), "getEventPort", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(executeConditionEClass, ExecuteCondition.class, "ExecuteCondition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(executionTimeoutCatchEClass, ExecutionTimeoutCatch.class, "ExecutionTimeoutCatch", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(factorEClass, Factor.class, "Factor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getFactor_FirstValue(), this.getValue(), null, "firstValue", null, 1, 1, Factor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getFactor_SecondValue(), this.getValue(), null, "secondValue", null, 0, 1, Factor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getFactor_BinaryNumericOperator(), this.getBinaryNumericOperator(), "binaryNumericOperator", null, 0, 1, Factor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getFactor_UnaryNumericOperator(), this.getUnaryNumericOperator(), "unaryNumericOperator", null, 0, 1, Factor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getFactor_UnaryBooleanOperator(), this.getUnaryBooleanOperator(), "unaryBooleanOperator", null, 0, 1, Factor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(featureHolderEClass, FeatureHolder.class, "FeatureHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(featureHolderEClass, null, "setFeature", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getFeature(), "feature", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(featureHolderEClass, theAadl2Package.getFeature(), "getFeature", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(featurePrototypeHolderEClass, FeaturePrototypeHolder.class, "FeaturePrototypeHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(forOrForAllStatementEClass, ForOrForAllStatement.class, "ForOrForAllStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getForOrForAllStatement_IteratedValues(), this.getElementValues(), null, "iteratedValues", null, 1, 1, ForOrForAllStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getForOrForAllStatement_ForAll(), this.getBoolean(), "forAll", "false", 0, 1, ForOrForAllStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getForOrForAllStatement_IterativeVariable(), this.getIterativeVariable(), null, "iterativeVariable", null, 1, 1, ForOrForAllStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(groupableElementEClass, GroupableElement.class, "GroupableElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getGroupableElement_GroupHolders(), this.getGroupHolder(), null, "groupHolders", null, 0, -1, GroupableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(groupHolderEClass, GroupHolder.class, "GroupHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(groupHolderEClass, null, "setGroup", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getNamedElement(), "group", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(groupHolderEClass, theAadl2Package.getNamedElement(), "getGroup", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(groupPrototypeHolderEClass, GroupPrototypeHolder.class, "GroupPrototypeHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getGroupPrototypeHolder_PrototypeBinding(), theAadl2Package.getPrototypeBinding(), null, "prototypeBinding", null, 0, 1, GroupPrototypeHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    op = addEOperation(groupPrototypeHolderEClass, null, "setPrototype", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getPrototype(), "prototype", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(groupPrototypeHolderEClass, theAadl2Package.getPrototype(), "getPrototype", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(ifStatementEClass, IfStatement.class, "IfStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIfStatement_LogicalValueExpression(), this.getValueExpression(), null, "logicalValueExpression", null, 1, 1, IfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getIfStatement_Elif(), this.getBoolean(), "elif", "false", 0, 1, IfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getIfStatement_ElseStatement(), this.getElseStatement(), null, "elseStatement", null, 0, 1, IfStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(indexableElementEClass, IndexableElement.class, "IndexableElement", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIndexableElement_ArrayIndexes(), this.getIntegerValue(), null, "arrayIndexes", null, 0, -1, IndexableElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(integerRangeEClass, IntegerRange.class, "IntegerRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIntegerRange_LowerIntegerValue(), this.getIntegerValue(), null, "lowerIntegerValue", null, 1, 1, IntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getIntegerRange_UpperIntegerValue(), this.getIntegerValue(), null, "upperIntegerValue", null, 1, 1, IntegerRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(integerValueEClass, IntegerValue.class, "IntegerValue", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(integerValueConstantEClass, IntegerValueConstant.class, "IntegerValueConstant", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(integerValueVariableEClass, IntegerValueVariable.class, "IntegerValueVariable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(iterativeVariableEClass, IterativeVariable.class, "IterativeVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getIterativeVariable_DataClassifier(), theAadl2Package.getDataClassifier(), null, "dataClassifier", null, 0, 1, IterativeVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(iterativeVariableHolderEClass, IterativeVariableHolder.class, "IterativeVariableHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(iterativeVariableHolderEClass, null, "setIterativeVariable", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, this.getIterativeVariable(), "itV", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(iterativeVariableHolderEClass, this.getIterativeVariable(), "getIterativeVariable", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(literalEClass, Literal.class, "Literal", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(lockActionEClass, LockAction.class, "LockAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(loopStatementEClass, LoopStatement.class, "LoopStatement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(lowerBoundEClass, LowerBound.class, "LowerBound", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(numericLiteralEClass, NumericLiteral.class, "NumericLiteral", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(otherwiseEClass, Otherwise.class, "Otherwise", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(parameterHolderEClass, ParameterHolder.class, "ParameterHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(parameterHolderEClass, null, "setParameter", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getParameter(), "parameter", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(parameterHolderEClass, theAadl2Package.getParameter(), "getParameter", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(parameterLabelEClass, ParameterLabel.class, "ParameterLabel", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portCountValueEClass, PortCountValue.class, "PortCountValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portDequeueActionEClass, PortDequeueAction.class, "PortDequeueAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPortDequeueAction_Port(), this.getActualPortHolder(), null, "port", null, 1, 1, PortDequeueAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getPortDequeueAction_Target(), this.getTarget(), null, "target", null, 0, 1, PortDequeueAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(portDequeueValueEClass, PortDequeueValue.class, "PortDequeueValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portFreezeActionEClass, PortFreezeAction.class, "PortFreezeAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portFreshValueEClass, PortFreshValue.class, "PortFreshValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portHolderEClass, PortHolder.class, "PortHolder", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portPrototypeHolderEClass, PortPrototypeHolder.class, "PortPrototypeHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(portSendActionEClass, PortSendAction.class, "PortSendAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPortSendAction_Port(), this.getActualPortHolder(), null, "port", null, 0, 1, PortSendAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getPortSendAction_ValueExpression(), this.getValueExpression(), null, "valueExpression", null, 0, 1, PortSendAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(propertyAssociationHolderEClass, PropertyAssociationHolder.class, "PropertyAssociationHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(propertyAssociationHolderEClass, null, "setPropertyAssociation", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getPropertyAssociation(), "propertyAssociation", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(propertyAssociationHolderEClass, theAadl2Package.getPropertyAssociation(), "getPropertyAssociation", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(propertyElementHolderEClass, PropertyElementHolder.class, "PropertyElementHolder", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPropertyElementHolder_Element(), theAadl2Package.getElement(), null, "element", null, 1, 1, PropertyElementHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(propertyExpressionHolderEClass, PropertyExpressionHolder.class, "PropertyExpressionHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(propertyExpressionHolderEClass, null, "setPropertyExpression", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getPropertyExpression(), "propertyExpression", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(propertyExpressionHolderEClass, theAadl2Package.getPropertyExpression(), "getPropertyExpression", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(propertyNameFieldEClass, PropertyNameField.class, "PropertyNameField", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(propertyNameHolderEClass, PropertyNameHolder.class, "PropertyNameHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPropertyNameHolder_Property(), this.getPropertyElementHolder(), null, "property", null, 1, 1, PropertyNameHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getPropertyNameHolder_Field(), this.getPropertyNameField(), null, "field", null, 0, 1, PropertyNameHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(propertyReferenceEClass, PropertyReference.class, "PropertyReference", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPropertyReference_Properties(), this.getPropertyNameHolder(), null, "properties", null, 1, -1, PropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(propertySetPropertyReferenceEClass, PropertySetPropertyReference.class, "PropertySetPropertyReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPropertySetPropertyReference_PropertySet(), theAadl2Package.getPropertySet(), null, "propertySet", null, 0, 1, PropertySetPropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(propertyTypeHolderEClass, PropertyTypeHolder.class, "PropertyTypeHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(propertyTypeHolderEClass, null, "setPropertyType", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getPropertyType(), "propertyType", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(propertyTypeHolderEClass, theAadl2Package.getPropertyType(), "getPropertyType", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(prototypeHolderEClass, PrototypeHolder.class, "PrototypeHolder", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPrototypeHolder_PrototypeBinding(), theAadl2Package.getPrototypeBinding(), null, "prototypeBinding", null, 0, 1, PrototypeHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    op = addEOperation(prototypeHolderEClass, null, "setPrototype", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getPrototype(), "prototype", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(prototypeHolderEClass, theAadl2Package.getPrototype(), "getPrototype", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(relationEClass, Relation.class, "Relation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getRelation_FirstExpression(), this.getSimpleExpression(), null, "firstExpression", null, 1, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getRelation_SecondExpression(), this.getSimpleExpression(), null, "secondExpression", null, 0, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getRelation_RelationalOperator(), this.getRelationalOperator(), "relationalOperator", null, 0, 1, Relation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(sharedDataActionEClass, SharedDataAction.class, "SharedDataAction", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getSharedDataAction_DataAccess(), this.getDataAccessHolder(), null, "dataAccess", null, 0, 1, SharedDataAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(simpleExpressionEClass, SimpleExpression.class, "SimpleExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getSimpleExpression_UnaryAddingOperator(), this.getUnaryAddingOperator(), "unaryAddingOperator", null, 0, 1, SimpleExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getSimpleExpression_Terms(), this.getTerm(), null, "terms", null, 1, -1, SimpleExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getSimpleExpression_BinaryAddingOperators(), this.getBinaryAddingOperator(), "binaryAddingOperators", null, 0, -1, SimpleExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(structUnionElementEClass, StructUnionElement.class, "StructUnionElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getStructUnionElement_DataClassifier(), theAadl2Package.getDataClassifier(), null, "dataClassifier", null, 1, 1, StructUnionElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(structUnionElementHolderEClass, StructUnionElementHolder.class, "StructUnionElementHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getStructUnionElementHolder_StructUnionElement(), this.getStructUnionElement(), null, "structUnionElement", null, 1, 1, StructUnionElementHolder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(subcomponentHolderEClass, SubcomponentHolder.class, "SubcomponentHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(subcomponentHolderEClass, null, "setSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getSubcomponent(), "subcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(subcomponentHolderEClass, theAadl2Package.getSubcomponent(), "getSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(subprogramAccessHolderEClass, SubprogramAccessHolder.class, "SubprogramAccessHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(subprogramAccessHolderEClass, null, "setSubprogramAccess", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getSubprogramAccess(), "subprogramAccess", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(subprogramAccessHolderEClass, theAadl2Package.getSubprogramAccess(), "getSubprogramAccess", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(subprogramCallActionEClass, SubprogramCallAction.class, "SubprogramCallAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getSubprogramCallAction_Subprogram(), this.getCalledSubprogramHolder(), null, "subprogram", null, 1, 1, SubprogramCallAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getSubprogramCallAction_ParameterLabels(), this.getParameterLabel(), null, "parameterLabels", null, 0, -1, SubprogramCallAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getSubprogramCallAction_Proxy(), this.getSubprogramHolderProxy(), null, "proxy", null, 0, 1, SubprogramCallAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(subprogramHolderEClass, SubprogramHolder.class, "SubprogramHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(subprogramHolderEClass, null, "setSubprogram", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getSubprogram(), "subprogram", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(subprogramHolderEClass, theAadl2Package.getSubprogram(), "getSubprogram", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(subprogramHolderProxyEClass, SubprogramHolderProxy.class, "SubprogramHolderProxy", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(subprogramPrototypeHolderEClass, SubprogramPrototypeHolder.class, "SubprogramPrototypeHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(subprogramSubcomponentHolderEClass, SubprogramSubcomponentHolder.class, "SubprogramSubcomponentHolder", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    op = addEOperation(subprogramSubcomponentHolderEClass, null, "setSubprogramSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEParameter(op, theAadl2Package.getSubprogramSubcomponent(), "subprogramSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    addEOperation(subprogramSubcomponentHolderEClass, theAadl2Package.getSubprogramSubcomponent(), "getSubprogramSubcomponent", 1, 1, IS_UNIQUE, IS_ORDERED);
    initEClass(targetEClass, Target.class, "Target", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(termEClass, Term.class, "Term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getTerm_Factors(), this.getFactor(), null, "factors", null, 1, -1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getTerm_MultiplyingOperators(), this.getMultiplyingOperator(), "multiplyingOperators", null, 0, -1, Term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(timedActionEClass, TimedAction.class, "TimedAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getTimedAction_LowerTime(), this.getBehaviorTime(), null, "lowerTime", null, 1, 1, TimedAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getTimedAction_UpperTime(), this.getBehaviorTime(), null, "upperTime", null, 0, 1, TimedAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getTimedAction_ProcessorClassifier(), theAadl2Package.getProcessorClassifier(), null, "processorClassifier", null, 0, -1, TimedAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(unlockActionEClass, UnlockAction.class, "UnlockAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(upperBoundEClass, UpperBound.class, "UpperBound", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(valueEClass, Value.class, "Value", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(valueConstantEClass, ValueConstant.class, "ValueConstant", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(valueExpressionEClass, ValueExpression.class, "ValueExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getValueExpression_Relations(), this.getRelation(), null, "relations", null, 0, -1, ValueExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getValueExpression_LogicalOperators(), this.getLogicalOperator(), "logicalOperators", null, 0, -1, ValueExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(valueVariableEClass, ValueVariable.class, "ValueVariable", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(whileOrDoUntilStatementEClass, WhileOrDoUntilStatement.class, "WhileOrDoUntilStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getWhileOrDoUntilStatement_LogicalValueExpression(), this.getValueExpression(), null, "logicalValueExpression", null, 1, 1, WhileOrDoUntilStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getWhileOrDoUntilStatement_DoUntil(), this.getBoolean(), "doUntil", "false", 0, 1, WhileOrDoUntilStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(modeSwitchTriggerLogicalExpressionEClass, ModeSwitchTriggerLogicalExpression.class, "ModeSwitchTriggerLogicalExpression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getModeSwitchTriggerLogicalExpression_ModeSwitchConjunctions(), this.getModeSwitchConjunction(), null, "modeSwitchConjunctions", null, 1, -1, ModeSwitchTriggerLogicalExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(modeSwitchTriggerConditionEClass, ModeSwitchTriggerCondition.class, "ModeSwitchTriggerCondition", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(modeSwitchConjunctionEClass, ModeSwitchConjunction.class, "ModeSwitchConjunction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getModeSwitchConjunction_ModeSwitchTriggers(), this.getModeSwitchTrigger(), null, "modeSwitchTriggers", null, 1, -1, ModeSwitchConjunction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(modeSwitchTriggerEClass, ModeSwitchTrigger.class, "ModeSwitchTrigger", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    // Initialize enums and add enum literals
    initEEnum(behaviorFeatureTypeEEnum, BehaviorFeatureType.class, "BehaviorFeatureType");
    addEEnumLiteral(behaviorFeatureTypeEEnum, BehaviorFeatureType.NONE);
    addEEnumLiteral(behaviorFeatureTypeEEnum, BehaviorFeatureType.BEHAVIOR_VARIABLE);
    addEEnumLiteral(behaviorFeatureTypeEEnum, BehaviorFeatureType.ITERATIVE_VARIABLE);
    initEEnum(binaryAddingOperatorEEnum, BinaryAddingOperator.class, "BinaryAddingOperator");
    addEEnumLiteral(binaryAddingOperatorEEnum, BinaryAddingOperator.NONE);
    addEEnumLiteral(binaryAddingOperatorEEnum, BinaryAddingOperator.PLUS);
    addEEnumLiteral(binaryAddingOperatorEEnum, BinaryAddingOperator.MINUS);
    initEEnum(binaryNumericOperatorEEnum, BinaryNumericOperator.class, "BinaryNumericOperator");
    addEEnumLiteral(binaryNumericOperatorEEnum, BinaryNumericOperator.NONE);
    addEEnumLiteral(binaryNumericOperatorEEnum, BinaryNumericOperator.MULTIPLY_MULTIPLY);
    initEEnum(dataRepresentationEEnum, DataRepresentation.class, "DataRepresentation");
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.UNKNOWN);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.ARRAY);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.BOOLEAN);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.CHARACTER);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.ENUM);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.FIXED);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.FLOAT);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.INTEGER);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.STRING);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.STRUCT);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.UNION);
    addEEnumLiteral(dataRepresentationEEnum, DataRepresentation.ENUM_LITERAL);
    initEEnum(featureTypeEEnum, FeatureType.class, "FeatureType");
    addEEnumLiteral(featureTypeEEnum, FeatureType.NONE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_DATA_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_DATA_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_DATA_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_EVENT_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_EVENT_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_EVENT_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_EVENT_DATA_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_EVENT_DATA_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_EVENT_DATA_PORT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_SUBPROGRAM_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_SUBPROGRAM_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_SUBPROGRAM_GROUP_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_SUBPROGRAM_GROUP_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.SUBPROGRAM_SUBCOMPONENT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.SUBPROGRAM_CLASSIFIER);
    addEEnumLiteral(featureTypeEEnum, FeatureType.SUBPROGRAM_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.COMPONENT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.COMPONENT_PROTOTYPE_BINDING);
    addEEnumLiteral(featureTypeEEnum, FeatureType.FEATURE_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.FEATURE_PROTOTYPE_BINDING);
    addEEnumLiteral(featureTypeEEnum, FeatureType.FEATURE_GROUP_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.FEATURE_GROUP_PROTOTYPE_BINDING);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_DATA_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_DATA_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.DATA_SUBCOMPONENT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.DATA_CLASSIFIER);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_PARAMETER);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_PARAMETER);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_PARAMETER);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROPERTY_CONSTANT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROPERTY_VALUE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_BUS_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_BUS_ACCESS);
    addEEnumLiteral(featureTypeEEnum, FeatureType.FEATURE_GROUP);
    addEEnumLiteral(featureTypeEEnum, FeatureType.CLASSIFIER_VALUE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.ABSTRACT_FEATURE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_FEATURE_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_FEATURE_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_FEATURE_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.THREAD_GROUP);
    addEEnumLiteral(featureTypeEEnum, FeatureType.SUBPROGRAM_GROUP);
    addEEnumLiteral(featureTypeEEnum, FeatureType.SUBPROGRAM_GROUP_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.THREAD_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.THREAD_GROUP_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_DATA_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_DATA_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_DATA_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_EVENT_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_EVENT_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_EVENT_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_EVENT_DATA_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.OUT_EVENT_DATA_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.IN_OUT_EVENT_DATA_PORT_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_SUBPROGRAM_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_SUBPROGRAM_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_SUBPROGRAM_GROUP_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_SUBPROGRAM_GROUP_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_DATA_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_DATA_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROVIDES_BUS_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.REQUIRES_BUS_ACCESS_PROTOTYPE);
    addEEnumLiteral(featureTypeEEnum, FeatureType.SYSTEM_SUBCOMPONENT);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROCESSOR_CLASSIFIER);
    addEEnumLiteral(featureTypeEEnum, FeatureType.PROCESS_CLASSIFIER);
    initEEnum(logicalOperatorEEnum, LogicalOperator.class, "LogicalOperator");
    addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.NONE);
    addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.AND);
    addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.OR);
    addEEnumLiteral(logicalOperatorEEnum, LogicalOperator.XOR);
    initEEnum(multiplyingOperatorEEnum, MultiplyingOperator.class, "MultiplyingOperator");
    addEEnumLiteral(multiplyingOperatorEEnum, MultiplyingOperator.NONE);
    addEEnumLiteral(multiplyingOperatorEEnum, MultiplyingOperator.MULTIPLY);
    addEEnumLiteral(multiplyingOperatorEEnum, MultiplyingOperator.DIVIDE);
    addEEnumLiteral(multiplyingOperatorEEnum, MultiplyingOperator.MOD);
    addEEnumLiteral(multiplyingOperatorEEnum, MultiplyingOperator.REM);
    initEEnum(relationalOperatorEEnum, RelationalOperator.class, "RelationalOperator");
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.NONE);
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.EQUAL);
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.NOT_EQUAL);
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.LESS_THAN);
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.LESS_OR_EQUAL_THAN);
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.GREATER_THAN);
    addEEnumLiteral(relationalOperatorEEnum, RelationalOperator.GREATER_OR_EQUAL_THAN);
    initEEnum(unaryAddingOperatorEEnum, UnaryAddingOperator.class, "UnaryAddingOperator");
    addEEnumLiteral(unaryAddingOperatorEEnum, UnaryAddingOperator.NONE);
    addEEnumLiteral(unaryAddingOperatorEEnum, UnaryAddingOperator.PLUS);
    addEEnumLiteral(unaryAddingOperatorEEnum, UnaryAddingOperator.MINUS);
    initEEnum(unaryBooleanOperatorEEnum, UnaryBooleanOperator.class, "UnaryBooleanOperator");
    addEEnumLiteral(unaryBooleanOperatorEEnum, UnaryBooleanOperator.NONE);
    addEEnumLiteral(unaryBooleanOperatorEEnum, UnaryBooleanOperator.NOT);
    initEEnum(unaryNumericOperatorEEnum, UnaryNumericOperator.class, "UnaryNumericOperator");
    addEEnumLiteral(unaryNumericOperatorEEnum, UnaryNumericOperator.NONE);
    addEEnumLiteral(unaryNumericOperatorEEnum, UnaryNumericOperator.ABS);
    // Initialize data types
    initEDataType(booleanEDataType, boolean.class, "Boolean", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
    initEDataType(integerEDataType, int.class, "Integer", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
    initEDataType(realEDataType, double.class, "Real", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
    initEDataType(stringEDataType, String.class, "String", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
    // Create resource
    createResource(eNS_URI);
    // Create annotations
    // http://www.topcased.org/documentation
    createDocumentationAnnotations();
    // Documentation
    createDocumentation_1Annotations();
    // documentation
    createDocumentation_2Annotations();
}
Also used : Aadl2Package(org.osate.aadl2.Aadl2Package) EOperation(org.eclipse.emf.ecore.EOperation)

Example 4 with PropertySet

use of org.osate.aadl2.PropertySet in project osate2 by osate.

the class BehaviorPropertyConstantImpl method setPropertySet.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
@Override
public void setPropertySet(PropertySet newPropertySet) {
    PropertySet oldPropertySet = propertySet;
    propertySet = newPropertySet;
    if (eNotificationRequired())
        eNotify(new ENotificationImpl(this, Notification.SET, AadlBaPackage.BEHAVIOR_PROPERTY_CONSTANT__PROPERTY_SET, oldPropertySet, propertySet));
}
Also used : ENotificationImpl(org.eclipse.emf.ecore.impl.ENotificationImpl) PropertySet(org.osate.aadl2.PropertySet)

Example 5 with PropertySet

use of org.osate.aadl2.PropertySet in project osate2 by osate.

the class DeclarativePackageImpl 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);
    // Obtain other dependent packages
    AadlBaPackage theAadlBaPackage = (AadlBaPackage) EPackage.Registry.INSTANCE.getEPackage(AadlBaPackage.eNS_URI);
    Aadl2Package theAadl2Package = (Aadl2Package) EPackage.Registry.INSTANCE.getEPackage(Aadl2Package.eNS_URI);
    // Create type parameters
    // Set bounds for type parameters
    // Add supertypes to classes
    arrayableIdentifierEClass.getESuperTypes().add(this.getIdentifier());
    commActionEClass.getESuperTypes().add(theAadlBaPackage.getCommunicationAction());
    commActionEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    declarativeArrayDimensionEClass.getESuperTypes().add(theAadl2Package.getArrayDimension());
    declarativeArrayDimensionEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    declarativeBehaviorElementEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorElement());
    declarativeBehaviorTransitionEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorTransition());
    declarativeBehaviorTransitionEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    declarativePropertyNameEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    declarativePropertyReferenceEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    declarativePropertyReferenceEClass.getESuperTypes().add(theAadlBaPackage.getIntegerValueConstant());
    declarativePropertyReferenceEClass.getESuperTypes().add(theAadlBaPackage.getValueConstant());
    declarativeTimeEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorTime());
    declarativeTimeEClass.getESuperTypes().add(theAadlBaPackage.getCompletionRelativeTimeout());
    declarativeTimeEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    identifierEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorState());
    identifierEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    namedValueEClass.getESuperTypes().add(theAadlBaPackage.getIntegerValueVariable());
    namedValueEClass.getESuperTypes().add(theAadlBaPackage.getValueVariable());
    namedValueEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadl2Package.getDataClassifier());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadl2Package.getClassifier());
    qualifiedNamedElementEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadlBaPackage.getValueConstant());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadlBaPackage.getIntegerValueConstant());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadl2Package.getProcessorClassifier());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadl2Package.getProperty());
    qualifiedNamedElementEClass.getESuperTypes().add(theAadl2Package.getUnitLiteral());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getActualPortHolder());
    referenceEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getIntegerValueVariable());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getValueVariable());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getElementValues());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getTarget());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getDispatchTriggerCondition());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getDispatchTrigger());
    referenceEClass.getESuperTypes().add(theAadlBaPackage.getModeSwitchTrigger());
    referenceEClass.getESuperTypes().add(theAadl2Package.getContainmentPathElement());
    declarativePropertyAssociationEClass.getESuperTypes().add(this.getDeclarativeBehaviorElement());
    declarativeListValueEClass.getESuperTypes().add(theAadl2Package.getListValue());
    declarativeListValueEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativePropertyExpressionEClass.getESuperTypes().add(theAadl2Package.getPropertyExpression());
    declarativeStringLiteralEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorStringLiteral());
    declarativeStringLiteralEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeIntegerLiteralEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorIntegerLiteral());
    declarativeIntegerLiteralEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeRealLiteralEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorRealLiteral());
    declarativeRealLiteralEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeRecordValueEClass.getESuperTypes().add(theAadl2Package.getRecordValue());
    declarativeRecordValueEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeBasicPropertyAssociationEClass.getESuperTypes().add(theAadl2Package.getBasicPropertyAssociation());
    declarativeBooleanLiteralEClass.getESuperTypes().add(theAadlBaPackage.getBehaviorBooleanLiteral());
    declarativeBooleanLiteralEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeRangeValueEClass.getESuperTypes().add(theAadl2Package.getRangeValue());
    declarativeRangeValueEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeReferenceValueEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    declarativeClassifierValueEClass.getESuperTypes().add(this.getDeclarativePropertyExpression());
    // Initialize classes and features; add operations and parameters
    initEClass(arrayableIdentifierEClass, ArrayableIdentifier.class, "ArrayableIdentifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getArrayableIdentifier_ArrayIndexes(), theAadlBaPackage.getIntegerValue(), null, "arrayIndexes", null, 0, -1, ArrayableIdentifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(commActionEClass, CommAction.class, "CommAction", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getCommAction_Parameters(), theAadlBaPackage.getParameterLabel(), null, "parameters", null, 0, -1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getCommAction_PortFreeze(), theAadlBaPackage.getBoolean(), "portFreeze", "false", 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getCommAction_PortDequeue(), theAadlBaPackage.getBoolean(), "portDequeue", "false", 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getCommAction_Lock(), theAadlBaPackage.getBoolean(), "lock", "false", 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getCommAction_Unlock(), theAadlBaPackage.getBoolean(), "unlock", "false", 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getCommAction_Target(), theAadlBaPackage.getTarget(), null, "target", null, 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getCommAction_QualifiedName(), this.getQualifiedNamedElement(), null, "qualifiedName", null, 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getCommAction_Reference(), this.getReference(), null, "reference", null, 0, 1, CommAction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeArrayDimensionEClass, DeclarativeArrayDimension.class, "DeclarativeArrayDimension", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeArrayDimension_Dimension(), theAadlBaPackage.getIntegerValueConstant(), null, "dimension", null, 1, 1, DeclarativeArrayDimension.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeBehaviorElementEClass, DeclarativeBehaviorElement.class, "DeclarativeBehaviorElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeBehaviorElement_OsateRef(), theAadl2Package.getElement(), null, "osateRef", null, 0, 1, DeclarativeBehaviorElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativeBehaviorElement_BaRef(), theAadlBaPackage.getBehaviorElement(), null, "baRef", null, 0, 1, DeclarativeBehaviorElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeBehaviorTransitionEClass, DeclarativeBehaviorTransition.class, "DeclarativeBehaviorTransition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeBehaviorTransition_SrcStates(), this.getIdentifier(), null, "srcStates", null, 1, -1, DeclarativeBehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativeBehaviorTransition_DestState(), this.getIdentifier(), null, "destState", null, 1, 1, DeclarativeBehaviorTransition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativePropertyNameEClass, DeclarativePropertyName.class, "DeclarativePropertyName", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativePropertyName_PropertyName(), this.getIdentifier(), null, "propertyName", null, 1, 1, DeclarativePropertyName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativePropertyName_Field(), theAadlBaPackage.getPropertyNameField(), null, "field", null, 0, 1, DeclarativePropertyName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativePropertyName_Indexes(), theAadlBaPackage.getIntegerValue(), null, "indexes", null, 0, -1, DeclarativePropertyName.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativePropertyReferenceEClass, DeclarativePropertyReference.class, "DeclarativePropertyReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativePropertyReference_QualifiedName(), this.getQualifiedNamedElement(), null, "qualifiedName", null, 0, 1, DeclarativePropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativePropertyReference_Reference(), this.getReference(), null, "reference", null, 0, 1, DeclarativePropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativePropertyReference_PropertyNames(), this.getDeclarativePropertyName(), null, "propertyNames", null, 1, -1, DeclarativePropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getDeclarativePropertyReference_PropertySet(), theAadlBaPackage.getBoolean(), "propertySet", "false", 0, 1, DeclarativePropertyReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeTimeEClass, DeclarativeTime.class, "DeclarativeTime", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeTime_UnitId(), this.getIdentifier(), null, "unitId", null, 1, 1, DeclarativeTime.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(identifierEClass, Identifier.class, "Identifier", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getIdentifier_Id(), theAadlBaPackage.getString(), "id", null, 1, 1, Identifier.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(namedValueEClass, NamedValue.class, "NamedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getNamedValue_Reference(), this.getReference(), null, "reference", null, 1, 1, NamedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getNamedValue_Dequeue(), theAadlBaPackage.getBoolean(), "dequeue", "false", 0, 1, NamedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getNamedValue_Fresh(), theAadlBaPackage.getBoolean(), "fresh", "false", 0, 1, NamedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getNamedValue_Count(), theAadlBaPackage.getBoolean(), "count", "false", 0, 1, NamedValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(qualifiedNamedElementEClass, QualifiedNamedElement.class, "QualifiedNamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getQualifiedNamedElement_BaNamespace(), this.getIdentifier(), null, "baNamespace", null, 0, 1, QualifiedNamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getQualifiedNamedElement_BaName(), this.getIdentifier(), null, "baName", null, 1, 1, QualifiedNamedElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(referenceEClass, Reference.class, "Reference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getReference_Ids(), this.getArrayableIdentifier(), null, "ids", null, 1, -1, Reference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativePropertyAssociationEClass, DeclarativePropertyAssociation.class, "DeclarativePropertyAssociation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativePropertyAssociation_Property(), this.getQualifiedNamedElement(), null, "property", null, 1, 1, DeclarativePropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getDeclarativePropertyAssociation_OwnedValue(), this.getDeclarativePropertyExpression(), null, "ownedValue", null, 1, 1, DeclarativePropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeListValueEClass, DeclarativeListValue.class, "DeclarativeListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativePropertyExpressionEClass, DeclarativePropertyExpression.class, "DeclarativePropertyExpression", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeStringLiteralEClass, DeclarativeStringLiteral.class, "DeclarativeStringLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeIntegerLiteralEClass, DeclarativeIntegerLiteral.class, "DeclarativeIntegerLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeRealLiteralEClass, DeclarativeRealLiteral.class, "DeclarativeRealLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeRecordValueEClass, DeclarativeRecordValue.class, "DeclarativeRecordValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeBasicPropertyAssociationEClass, DeclarativeBasicPropertyAssociation.class, "DeclarativeBasicPropertyAssociation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEAttribute(getDeclarativeBasicPropertyAssociation_BasicPropertyName(), theAadl2Package.getString(), "basicPropertyName", null, 1, 1, DeclarativeBasicPropertyAssociation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeBooleanLiteralEClass, DeclarativeBooleanLiteral.class, "DeclarativeBooleanLiteral", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeRangeValueEClass, DeclarativeRangeValue.class, "DeclarativeRangeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(declarativeReferenceValueEClass, DeclarativeReferenceValue.class, "DeclarativeReferenceValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeReferenceValue_Ref(), this.getReference(), null, "ref", null, 1, 1, DeclarativeReferenceValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeClassifierValueEClass, DeclarativeClassifierValue.class, "DeclarativeClassifierValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeClassifierValue_Classifier(), this.getQualifiedNamedElement(), null, "classifier", null, 1, 1, DeclarativeClassifierValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(declarativeBehaviorAnnexEClass, DeclarativeBehaviorAnnex.class, "DeclarativeBehaviorAnnex", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getDeclarativeBehaviorAnnex_DeclarativeBehaviorElements(), this.getDeclarativeBehaviorElement(), null, "declarativeBehaviorElements", null, 0, -1, DeclarativeBehaviorAnnex.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    // Create resource
    createResource(eNS_URI);
}
Also used : AadlBaPackage(org.osate.ba.aadlba.AadlBaPackage) Aadl2Package(org.osate.aadl2.Aadl2Package)

Aggregations

PropertySet (org.osate.aadl2.PropertySet)23 AadlPackage (org.osate.aadl2.AadlPackage)15 EObject (org.eclipse.emf.ecore.EObject)10 ArrayList (java.util.ArrayList)8 Property (org.osate.aadl2.Property)8 Classifier (org.osate.aadl2.Classifier)7 Element (org.osate.aadl2.Element)7 ModelUnit (org.osate.aadl2.ModelUnit)7 EList (org.eclipse.emf.common.util.EList)6 PropertyAssociation (org.osate.aadl2.PropertyAssociation)6 List (java.util.List)5 NamedElement (org.osate.aadl2.NamedElement)5 Resource (org.eclipse.emf.ecore.resource.Resource)4 AnnexLibrary (org.osate.aadl2.AnnexLibrary)4 ComponentClassifier (org.osate.aadl2.ComponentClassifier)4 PackageSection (org.osate.aadl2.PackageSection)4 PropertyConstant (org.osate.aadl2.PropertyConstant)4 PropertyType (org.osate.aadl2.PropertyType)4 Stream (java.util.stream.Stream)3 URI (org.eclipse.emf.common.util.URI)3