Search in sources :

Example 1 with PropertyAssociationInstance

use of org.osate.aadl2.instance.PropertyAssociationInstance in project osate2 by osate.

the class CacheContainedPropertyAssociationsSwitch method processContainedPropertyAssociations.

/**
 * Copy contained property associations to the instance model.
 * Don't fully evaluate the property expression. Just replace reference values with
 * a reference to the referenced instance object.
 *
 * @param modeContext
 * @param ci
 * @param propertyAssociations
 */
protected void processContainedPropertyAssociations(final ComponentInstance modeContext, final ComponentInstance ci, final EList<PropertyAssociation> propertyAssociations) {
    for (PropertyAssociation pa : propertyAssociations) {
        // OsateDebug.osateDebug ("[CacheContainedProperty] Process contained property association: " + pa.getProperty().getName());
        Property prop = pa.getProperty();
        if (Aadl2Util.isNull(prop) || Aadl2Util.isNull(prop.getType())) {
            continue;
        }
        for (ContainedNamedElement cne : pa.getAppliesTos()) {
            final EList<ContainmentPathElement> cpes = cne.getContainmentPathElements();
            if (cpes != null && !cpes.isEmpty()) {
                final NamedElement last = cpes.get(cpes.size() - 1).getNamedElement();
                final List<InstanceObject> ios = ci.findInstanceObjects(cpes);
                for (InstanceObject io : ios) {
                    // OsateDebug.osateDebug (" io=" + io);
                    PropertyAssociationInstance newPA = InstanceFactory.eINSTANCE.createPropertyAssociationInstance();
                    newPA.setProperty(prop);
                    newPA.setPropertyAssociation(pa);
                    newPA.getOwnedValues().addAll(EcoreUtil.copyAll(pa.getOwnedValues()));
                    // replace reference values in the context of the contained PA's owner
                    for (Iterator<Element> content = EcoreUtil.getAllProperContents(newPA, false); content.hasNext(); ) {
                        Element elem = content.next();
                        if (elem instanceof ReferenceValue) {
                            // TODO: LW what if ref to connection?
                            try {
                                PropertyExpression irv = ((ReferenceValue) elem).instantiate(ci);
                                if (irv != null) {
                                    EcoreUtil.replace(elem, irv);
                                }
                            } catch (InvalidModelException e) {
                                error(io, e.getMessage());
                            }
                        }
                    }
                    if (last instanceof Connection) {
                        final PropertyAssociation existingPA = scProps.retrieveSCProperty((ConnectionInstance) io, prop, (Connection) last);
                        if (existingPA != null && isConstant(existingPA)) {
                            /*
								 * Cannot put the error on the property association that is affected because it might
								 * be a declarative model element at this point. Need to report the error on the
								 * instance object itself.
								 */
                            getErrorManager().error(io, "Property association for \"" + prop.getQualifiedName() + "\" is constant.  A contained property association in classifier \"" + pa.getContainingClassifier().getQualifiedName() + "\" tries to replace it.");
                        } else {
                            scProps.recordSCProperty((ConnectionInstance) io, prop, (Connection) last, newPA);
                        }
                    } else {
                        final PropertyAssociation existingPA = io.getPropertyValue(prop, false).first();
                        if (existingPA != null && isConstant(existingPA)) {
                            /*
								 * Cannot put the error on the property association that is affected because it might
								 * be a declarative model element at this point. Need to report the error on the
								 * instance object itself.
								 */
                            getErrorManager().error(io, "Property association for \"" + prop.getQualifiedName() + "\" is constant.  A contained property association in classifier \"" + pa.getContainingClassifier().getQualifiedName() + "\" tries to replace it.");
                        } else {
                            io.removePropertyAssociations(prop);
                            io.getOwnedPropertyAssociations().add(newPA);
                        }
                    }
                }
            }
        }
        checkIfCancelled();
        if (cancelled()) {
            break;
        }
    }
}
Also used : PropertyAssociation(org.osate.aadl2.PropertyAssociation) ReferenceValue(org.osate.aadl2.ReferenceValue) ContainmentPathElement(org.osate.aadl2.ContainmentPathElement) Element(org.osate.aadl2.Element) ContainedNamedElement(org.osate.aadl2.ContainedNamedElement) NamedElement(org.osate.aadl2.NamedElement) ContainmentPathElement(org.osate.aadl2.ContainmentPathElement) Connection(org.osate.aadl2.Connection) InstanceObject(org.osate.aadl2.instance.InstanceObject) InvalidModelException(org.osate.aadl2.properties.InvalidModelException) PropertyAssociationInstance(org.osate.aadl2.instance.PropertyAssociationInstance) PropertyExpression(org.osate.aadl2.PropertyExpression) ContainedNamedElement(org.osate.aadl2.ContainedNamedElement) Property(org.osate.aadl2.Property) ContainedNamedElement(org.osate.aadl2.ContainedNamedElement) NamedElement(org.osate.aadl2.NamedElement)

Example 2 with PropertyAssociationInstance

use of org.osate.aadl2.instance.PropertyAssociationInstance in project osate2 by osate.

the class CacheContainedPropertyAssociationsSwitch method processContainedPropertyAssociations.

protected void processContainedPropertyAssociations(final FeatureInstance fi, final EList<PropertyAssociation> propertyAssociations) {
    for (PropertyAssociation pa : propertyAssociations) {
        Property prop = pa.getProperty();
        if (Aadl2Util.isNull(prop) || Aadl2Util.isNull(prop.getType())) {
            // PA is missing the prop def, skip to the next one
            continue;
        }
        for (ContainedNamedElement cne : pa.getAppliesTos()) {
            final EList<ContainmentPathElement> cpes = cne.getContainmentPathElements();
            if (cpes != null && !cpes.isEmpty()) {
                final Collection<FeatureInstance> ios = fi.findFeatureInstances(cpes);
                if (!ios.isEmpty()) {
                    for (InstanceObject io : ios) {
                        PropertyAssociationInstance newPA = InstanceFactory.eINSTANCE.createPropertyAssociationInstance();
                        newPA.setProperty(prop);
                        newPA.setPropertyAssociation(pa);
                        newPA.getOwnedValues().addAll(EcoreUtil.copyAll(pa.getOwnedValues()));
                        // replace reference values in the context of the contained PA's owner
                        for (Iterator<Element> content = EcoreUtil.getAllProperContents(newPA, false); content.hasNext(); ) {
                            Element elem = content.next();
                            if (elem instanceof ReferenceValue) {
                                PropertyExpression irv = ((ReferenceValue) elem).instantiate(fi);
                                if (irv != null) {
                                    EcoreUtil.replace(elem, irv);
                                }
                            }
                        }
                        final PropertyAssociation existingPA = io.getPropertyValue(prop, false).first();
                        if (existingPA != null && isConstant(existingPA)) {
                            /*
								 * Cannot put the error on the property association that is affected because it might
								 * be a declarative model element at this point. Need to report the error on the
								 * instance object itself.
								 */
                            final String classifierName = pa.getContainingClassifier().getQualifiedName();
                            final Element owner = pa.getOwner();
                            final String featureName = (owner instanceof Feature) ? ("." + ((Feature) owner).getName()) : "";
                            getErrorManager().error(io, "Property association for \"" + prop.getQualifiedName() + "\" is constant.  A contained property association in classifier \"" + classifierName + featureName + "\" tries to replace it.");
                        } else {
                            io.removePropertyAssociations(prop);
                            io.getOwnedPropertyAssociations().add(newPA);
                        }
                    }
                }
            }
        }
        checkIfCancelled();
        if (cancelled()) {
            break;
        }
    }
}
Also used : FeatureInstance(org.osate.aadl2.instance.FeatureInstance) PropertyAssociation(org.osate.aadl2.PropertyAssociation) ReferenceValue(org.osate.aadl2.ReferenceValue) ContainmentPathElement(org.osate.aadl2.ContainmentPathElement) Element(org.osate.aadl2.Element) ContainedNamedElement(org.osate.aadl2.ContainedNamedElement) NamedElement(org.osate.aadl2.NamedElement) ContainmentPathElement(org.osate.aadl2.ContainmentPathElement) Feature(org.osate.aadl2.Feature) InstanceObject(org.osate.aadl2.instance.InstanceObject) PropertyAssociationInstance(org.osate.aadl2.instance.PropertyAssociationInstance) PropertyExpression(org.osate.aadl2.PropertyExpression) ContainedNamedElement(org.osate.aadl2.ContainedNamedElement) Property(org.osate.aadl2.Property)

Example 3 with PropertyAssociationInstance

use of org.osate.aadl2.instance.PropertyAssociationInstance in project osate2 by osate.

the class CachePropertyAssociationsSwitch method cachePropertyAssociations.

protected void cachePropertyAssociations(InstanceObject io) {
    try {
        for (Property property : propertyFilter) {
            if (io.acceptsProperty(property)) {
                /*
					 * Just look up the property. The property doesn't yet have a
					 * local association, so lookup will get the value from the
					 * declarative model. Property lookup process now corrects
					 * reference values to instance reference values.
					 */
                PropertyEvaluationResult result = property.evaluate(new EvaluationContext(io, classifierCache), 0);
                List<EvaluatedProperty> evaluated = result.getEvaluated();
                if (!evaluated.isEmpty()) {
                    // OsateDebug.osateDebug ("[CachePropertyAssociation] io=" + io + ";property=" + property + ";value=" + value);
                    PropertyAssociationInstance newPA = InstanceFactory.eINSTANCE.createPropertyAssociationInstance();
                    io.removePropertyAssociations(property);
                    newPA.setProperty(property);
                    newPA.setPropertyAssociation(getDeclarativePA(result.getPa()));
                    fillPropertyValue(io, newPA, evaluated);
                    if (!newPA.getOwnedValues().isEmpty()) {
                        io.getOwnedPropertyAssociations().add(newPA);
                    }
                }
            }
            checkIfCancelled();
            if (cancelled()) {
                break;
            }
        }
    } catch (IllegalStateException e) {
        // circular dependency
        // xxx: this is a misleading place to put the marker
        OsateDebug.osateDebug("IllegalStateException raised in cachePropertyAssociations");
        error(io, e.getMessage());
        return;
    } catch (InvalidModelException e) {
        OsateDebug.osateDebug("InvalidModelException raised in cachePropertyAssociations");
        error(e.getElement(), e.getMessage());
        return;
    }
}
Also used : InvalidModelException(org.osate.aadl2.properties.InvalidModelException) PropertyEvaluationResult(org.osate.aadl2.properties.PropertyEvaluationResult) PropertyAssociationInstance(org.osate.aadl2.instance.PropertyAssociationInstance) EvaluatedProperty(org.osate.aadl2.properties.EvaluatedProperty) EvaluationContext(org.osate.aadl2.properties.EvaluationContext) EvaluatedProperty(org.osate.aadl2.properties.EvaluatedProperty) Property(org.osate.aadl2.Property)

Example 4 with PropertyAssociationInstance

use of org.osate.aadl2.instance.PropertyAssociationInstance in project osate2 by osate.

the class InstanceObjectImpl method createOwnedPropertyAssociation.

/**
 * <!-- begin-user-doc -->
 * <!-- end-user-doc -->
 * @generated
 */
public PropertyAssociation createOwnedPropertyAssociation() {
    PropertyAssociationInstance newOwnedPropertyAssociation = (PropertyAssociationInstance) create(InstancePackage.Literals.PROPERTY_ASSOCIATION_INSTANCE);
    getOwnedPropertyAssociations().add(newOwnedPropertyAssociation);
    return newOwnedPropertyAssociation;
}
Also used : PropertyAssociationInstance(org.osate.aadl2.instance.PropertyAssociationInstance)

Example 5 with PropertyAssociationInstance

use of org.osate.aadl2.instance.PropertyAssociationInstance in project osate2 by osate.

the class InstancePackageImpl 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
    featureInstanceEClass.getESuperTypes().add(getConnectionInstanceEnd());
    featureInstanceEClass.getESuperTypes().add(getInstanceObject());
    instanceObjectEClass.getESuperTypes().add(theAadl2Package.getNamedElement());
    annexInstanceEClass.getESuperTypes().add(theAadl2Package.getNamedElement());
    propertyAssociationInstanceEClass.getESuperTypes().add(theAadl2Package.getPropertyAssociation());
    connectionInstanceEndEClass.getESuperTypes().add(getInstanceObject());
    connectionInstanceEClass.getESuperTypes().add(getFlowElementInstance());
    flowElementInstanceEClass.getESuperTypes().add(getInstanceObject());
    systemOperationModeEClass.getESuperTypes().add(theAadl2Package.getMode());
    modeInstanceEClass.getESuperTypes().add(getInstanceObject());
    modeTransitionInstanceEClass.getESuperTypes().add(getConnectionInstanceEnd());
    modeTransitionInstanceEClass.getESuperTypes().add(getInstanceObject());
    connectionReferenceEClass.getESuperTypes().add(getInstanceObject());
    componentInstanceEClass.getESuperTypes().add(getConnectionInstanceEnd());
    componentInstanceEClass.getESuperTypes().add(getFlowElementInstance());
    flowSpecificationInstanceEClass.getESuperTypes().add(getFlowElementInstance());
    endToEndFlowInstanceEClass.getESuperTypes().add(getFlowElementInstance());
    systemInstanceEClass.getESuperTypes().add(getComponentInstance());
    instanceReferenceValueEClass.getESuperTypes().add(theAadl2Package.getPropertyValue());
    // Initialize classes and features; add operations and parameters
    initEClass(// $NON-NLS-1$
    featureInstanceEClass, // $NON-NLS-1$
    FeatureInstance.class, // $NON-NLS-1$
    "FeatureInstance", // $NON-NLS-1$
    !IS_ABSTRACT, // $NON-NLS-1$
    !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getFeatureInstance_SrcFlowSpec(), getFlowSpecificationInstance(), // $NON-NLS-1$
    getFlowSpecificationInstance_Source(), // $NON-NLS-1$
    "srcFlowSpec", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    FeatureInstance.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getFeatureInstance_DstFlowSpec(), getFlowSpecificationInstance(), // $NON-NLS-1$
    getFlowSpecificationInstance_Destination(), // $NON-NLS-1$
    "dstFlowSpec", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    FeatureInstance.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getFeatureInstance_FeatureInstance(), // $NON-NLS-1$
    getFeatureInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "featureInstance", // $NON-NLS-1$
    null, 0, -1, FeatureInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getFeatureInstance_Category(), // $NON-NLS-1$
    getFeatureCategory(), // $NON-NLS-1$
    "category", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, FeatureInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getFeatureInstance_Direction(), // $NON-NLS-1$
    theAadl2Package.getDirectionType(), // $NON-NLS-1$
    "direction", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, FeatureInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getFeatureInstance_Feature(), // $NON-NLS-1$
    theAadl2Package.getFeature(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "feature", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, FeatureInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getFeatureInstance_Index(), // $NON-NLS-1$
    theAadl2Package.getInteger(), // $NON-NLS-1$
    "index", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    1, FeatureInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    instanceObjectEClass, // $NON-NLS-1$
    InstanceObject.class, // $NON-NLS-1$
    "InstanceObject", // $NON-NLS-1$
    IS_ABSTRACT, // $NON-NLS-1$
    !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getInstanceObject_AnnexInstance(), // $NON-NLS-1$
    getAnnexInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "annexInstance", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, InstanceObject.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    annexInstanceEClass, // $NON-NLS-1$
    AnnexInstance.class, // $NON-NLS-1$
    "AnnexInstance", // $NON-NLS-1$
    IS_ABSTRACT, // $NON-NLS-1$
    !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getAnnexInstance_AnnexSubclause(), // $NON-NLS-1$
    theAadl2Package.getAnnexSubclause(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "annexSubclause", null, 1, 1, AnnexInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    propertyAssociationInstanceEClass, // $NON-NLS-1$
    PropertyAssociationInstance.class, // $NON-NLS-1$
    "PropertyAssociationInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getPropertyAssociationInstance_PropertyAssociation(), theAadl2Package.getPropertyAssociation(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "propertyAssociation", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    1, // $NON-NLS-1$
    PropertyAssociationInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    connectionInstanceEndEClass, // $NON-NLS-1$
    ConnectionInstanceEnd.class, // $NON-NLS-1$
    "ConnectionInstanceEnd", // $NON-NLS-1$
    IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getConnectionInstanceEnd_SrcConnectionInstance(), getConnectionInstance(), // $NON-NLS-1$
    getConnectionInstance_Source(), // $NON-NLS-1$
    "srcConnectionInstance", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ConnectionInstanceEnd.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getConnectionInstanceEnd_DstConnectionInstance(), getConnectionInstance(), // $NON-NLS-1$
    getConnectionInstance_Destination(), // $NON-NLS-1$
    "dstConnectionInstance", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, ConnectionInstanceEnd.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    connectionInstanceEClass, // $NON-NLS-1$
    ConnectionInstance.class, // $NON-NLS-1$
    "ConnectionInstance", // $NON-NLS-1$
    !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getConnectionInstance_InSystemOperationMode(), getSystemOperationMode(), null, // $NON-NLS-1$
    "inSystemOperationMode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ConnectionInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getConnectionInstance_InModeTransition(), // $NON-NLS-1$
    getModeTransitionInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "inModeTransition", null, 0, -1, ConnectionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getConnectionInstance_Complete(), // $NON-NLS-1$
    theAadl2Package.getBoolean(), // $NON-NLS-1$
    "complete", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getConnectionInstance_Kind(), // $NON-NLS-1$
    getConnectionKind(), // $NON-NLS-1$
    "kind", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getConnectionInstance_Destination(), getConnectionInstanceEnd(), // $NON-NLS-1$
    getConnectionInstanceEnd_DstConnectionInstance(), // $NON-NLS-1$
    "destination", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getConnectionInstance_ConnectionReference(), getConnectionReference(), null, // $NON-NLS-1$
    "connectionReference", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ConnectionInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getConnectionInstance_Bidirectional(), // $NON-NLS-1$
    theAadl2Package.getBoolean(), // $NON-NLS-1$
    "bidirectional", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getConnectionInstance_Source(), getConnectionInstanceEnd(), // $NON-NLS-1$
    getConnectionInstanceEnd_SrcConnectionInstance(), // $NON-NLS-1$
    "source", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    ConnectionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    flowElementInstanceEClass, // $NON-NLS-1$
    FlowElementInstance.class, // $NON-NLS-1$
    "FlowElementInstance", // $NON-NLS-1$
    IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEClass(// $NON-NLS-1$
    systemOperationModeEClass, // $NON-NLS-1$
    SystemOperationMode.class, // $NON-NLS-1$
    "SystemOperationMode", // $NON-NLS-1$
    !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getSystemOperationMode_CurrentMode(), // $NON-NLS-1$
    getModeInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "currentMode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, SystemOperationMode.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEClass(// $NON-NLS-1$
    modeInstanceEClass, // $NON-NLS-1$
    ModeInstance.class, // $NON-NLS-1$
    "ModeInstance", // $NON-NLS-1$
    !IS_ABSTRACT, // $NON-NLS-1$
    !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getModeInstance_SrcModeTransition(), getModeTransitionInstance(), // $NON-NLS-1$
    getModeTransitionInstance_Source(), // $NON-NLS-1$
    "srcModeTransition", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ModeInstance.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getModeInstance_DstModeTransition(), getModeTransitionInstance(), // $NON-NLS-1$
    getModeTransitionInstance_Destination(), // $NON-NLS-1$
    "dstModeTransition", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ModeInstance.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$//$NON-NLS-2$
    getModeInstance_Initial(), // $NON-NLS-1$//$NON-NLS-2$
    theAadl2Package.getBoolean(), // $NON-NLS-1$//$NON-NLS-2$
    "initial", // $NON-NLS-1$//$NON-NLS-2$
    "false", // $NON-NLS-1$//$NON-NLS-2$
    1, // $NON-NLS-1$//$NON-NLS-2$
    1, ModeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getModeInstance_Mode(), // $NON-NLS-1$
    theAadl2Package.getMode(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "mode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    ModeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$//$NON-NLS-2$
    getModeInstance_Derived(), // $NON-NLS-1$//$NON-NLS-2$
    theAadl2Package.getBoolean(), // $NON-NLS-1$//$NON-NLS-2$
    "derived", // $NON-NLS-1$//$NON-NLS-2$
    "false", // $NON-NLS-1$//$NON-NLS-2$
    1, // $NON-NLS-1$//$NON-NLS-2$
    1, ModeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getModeInstance_Parent(), // $NON-NLS-1$
    getModeInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "parent", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, ModeInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    modeTransitionInstanceEClass, // $NON-NLS-1$
    ModeTransitionInstance.class, // $NON-NLS-1$
    "ModeTransitionInstance", // $NON-NLS-1$
    !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getModeTransitionInstance_Destination(), getModeInstance(), getModeInstance_DstModeTransition(), // $NON-NLS-1$
    "destination", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    ModeTransitionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getModeTransitionInstance_ModeTransition(), theAadl2Package.getModeTransition(), null, // $NON-NLS-1$
    "modeTransition", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    ModeTransitionInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, // $NON-NLS-1$
    IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getModeTransitionInstance_Trigger(), // $NON-NLS-1$
    getFeatureInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "trigger", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, ModeTransitionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getModeTransitionInstance_Source(), getModeInstance(), getModeInstance_SrcModeTransition(), // $NON-NLS-1$
    "source", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    ModeTransitionInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    connectionReferenceEClass, // $NON-NLS-1$
    ConnectionReference.class, // $NON-NLS-1$
    "ConnectionReference", // $NON-NLS-1$
    !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getConnectionReference_Context(), // $NON-NLS-1$
    getComponentInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "context", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getConnectionReference_Connection(), // $NON-NLS-1$
    theAadl2Package.getConnection(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "connection", // $NON-NLS-1$
    null, 1, 1, ConnectionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getConnectionReference_Source(), // $NON-NLS-1$
    getConnectionInstanceEnd(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "source", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getConnectionReference_Destination(), // $NON-NLS-1$
    getConnectionInstanceEnd(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "destination", // $NON-NLS-1$
    null, 1, 1, ConnectionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getConnectionReference_Reverse(), // $NON-NLS-1$
    theAadl2Package.getBoolean(), // $NON-NLS-1$
    "reverse", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ConnectionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    componentInstanceEClass, // $NON-NLS-1$
    ComponentInstance.class, // $NON-NLS-1$
    "ComponentInstance", // $NON-NLS-1$
    !IS_ABSTRACT, // $NON-NLS-1$
    !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getComponentInstance_FeatureInstance(), // $NON-NLS-1$
    getFeatureInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "featureInstance", // $NON-NLS-1$
    null, 0, -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_ComponentInstance(), // $NON-NLS-1$
    getComponentInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "componentInstance", null, 0, -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_ModeInstance(), // $NON-NLS-1$
    getModeInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "modeInstance", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getComponentInstance_ModeTransitionInstance(), getModeTransitionInstance(), null, // $NON-NLS-1$
    "modeTransitionInstance", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ComponentInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getComponentInstance_Category(), // $NON-NLS-1$
    theAadl2Package.getComponentCategory(), // $NON-NLS-1$
    "category", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_InMode(), // $NON-NLS-1$
    getModeInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "inMode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getComponentInstance_FlowSpecification(), getFlowSpecificationInstance(), null, // $NON-NLS-1$
    "flowSpecification", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    ComponentInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, // $NON-NLS-1$
    IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_EndToEndFlow(), // $NON-NLS-1$
    getEndToEndFlowInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "endToEndFlow", // $NON-NLS-1$
    null, 0, -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_ConnectionInstance(), // $NON-NLS-1$
    getConnectionInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "connectionInstance", null, 0, -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_Subcomponent(), // $NON-NLS-1$
    theAadl2Package.getSubcomponent(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "subcomponent", null, 0, 1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEAttribute(// $NON-NLS-1$
    getComponentInstance_Index(), // $NON-NLS-1$
    theAadl2Package.getInteger(), // $NON-NLS-1$
    "index", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getComponentInstance_Classifier(), // $NON-NLS-1$
    theAadl2Package.getComponentClassifier(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "classifier", null, 0, 1, ComponentInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    flowSpecificationInstanceEClass, // $NON-NLS-1$
    FlowSpecificationInstance.class, // $NON-NLS-1$
    "FlowSpecificationInstance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getFlowSpecificationInstance_Source(), getFeatureInstance(), getFeatureInstance_SrcFlowSpec(), // $NON-NLS-1$
    "source", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    1, // $NON-NLS-1$
    FlowSpecificationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getFlowSpecificationInstance_Destination(), getFeatureInstance(), // $NON-NLS-1$
    getFeatureInstance_DstFlowSpec(), // $NON-NLS-1$
    "destination", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    1, // $NON-NLS-1$
    FlowSpecificationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getFlowSpecificationInstance_FlowSpecification(), theAadl2Package.getFlowSpecification(), null, // $NON-NLS-1$
    "flowSpecification", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    FlowSpecificationInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getFlowSpecificationInstance_InMode(), // $NON-NLS-1$
    getModeInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "inMode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, FlowSpecificationInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getFlowSpecificationInstance_InModeTransition(), getModeTransitionInstance(), null, // $NON-NLS-1$
    "inModeTransition", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    FlowSpecificationInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    endToEndFlowInstanceEClass, // $NON-NLS-1$
    EndToEndFlowInstance.class, // $NON-NLS-1$
    "EndToEndFlowInstance", // $NON-NLS-1$
    !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getEndToEndFlowInstance_FlowElement(), // $NON-NLS-1$
    getFlowElementInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "flowElement", // $NON-NLS-1$
    null, 0, -1, EndToEndFlowInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getEndToEndFlowInstance_InMode(), // $NON-NLS-1$
    getModeInstance(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "inMode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, EndToEndFlowInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(getEndToEndFlowInstance_InSystemOperationMode(), getSystemOperationMode(), null, // $NON-NLS-1$
    "inSystemOperationMode", // $NON-NLS-1$
    null, // $NON-NLS-1$
    0, // $NON-NLS-1$
    -1, // $NON-NLS-1$
    EndToEndFlowInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEReference(// $NON-NLS-1$
    getEndToEndFlowInstance_EndToEndFlow(), // $NON-NLS-1$
    theAadl2Package.getEndToEndFlow(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "endToEndFlow", null, 1, 1, EndToEndFlowInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    systemInstanceEClass, // $NON-NLS-1$
    SystemInstance.class, // $NON-NLS-1$
    "SystemInstance", // $NON-NLS-1$
    !IS_ABSTRACT, // $NON-NLS-1$
    !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(// $NON-NLS-1$
    getSystemInstance_SystemOperationMode(), // $NON-NLS-1$
    getSystemOperationMode(), // $NON-NLS-1$
    null, // $NON-NLS-1$
    "systemOperationMode", null, 0, -1, SystemInstance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEReference(getSystemInstance_ComponentImplementation(), theAadl2Package.getComponentImplementation(), null, // $NON-NLS-1$
    "componentImplementation", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    SystemInstance.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, // $NON-NLS-1$
    IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    initEClass(// $NON-NLS-1$
    instanceReferenceValueEClass, // $NON-NLS-1$
    InstanceReferenceValue.class, // $NON-NLS-1$
    "InstanceReferenceValue", // $NON-NLS-1$
    !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
    initEReference(getInstanceReferenceValue_ReferencedInstanceObject(), getInstanceObject(), null, // $NON-NLS-1$
    "referencedInstanceObject", // $NON-NLS-1$
    null, // $NON-NLS-1$
    1, // $NON-NLS-1$
    1, // $NON-NLS-1$
    InstanceReferenceValue.class, // $NON-NLS-1$
    !IS_TRANSIENT, // $NON-NLS-1$
    !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
    // Initialize enums and add enum literals
    // $NON-NLS-1$
    initEEnum(connectionKindEEnum, ConnectionKind.class, "ConnectionKind");
    addEEnumLiteral(connectionKindEEnum, ConnectionKind.FEATURE_CONNECTION);
    addEEnumLiteral(connectionKindEEnum, ConnectionKind.ACCESS_CONNECTION);
    addEEnumLiteral(connectionKindEEnum, ConnectionKind.PARAMETER_CONNECTION);
    addEEnumLiteral(connectionKindEEnum, ConnectionKind.PORT_CONNECTION);
    addEEnumLiteral(connectionKindEEnum, ConnectionKind.MODE_TRANSITION_CONNECTION);
    addEEnumLiteral(connectionKindEEnum, ConnectionKind.FEATURE_GROUP_CONNECTION);
    // $NON-NLS-1$
    initEEnum(featureCategoryEEnum, FeatureCategory.class, "FeatureCategory");
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.DATA_PORT);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.EVENT_PORT);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.EVENT_DATA_PORT);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.PARAMETER);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.BUS_ACCESS);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.DATA_ACCESS);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.SUBPROGRAM_ACCESS);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.SUBPROGRAM_GROUP_ACCESS);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.FEATURE_GROUP);
    addEEnumLiteral(featureCategoryEEnum, FeatureCategory.ABSTRACT_FEATURE);
    // Create resource
    createResource(eNS_URI);
    // Create annotations
    // http://www.eclipse.org/uml2/2.0.0/UML
    createUMLAnnotations();
    // duplicates
    createDuplicatesAnnotations();
}
Also used : Aadl2Package(org.osate.aadl2.Aadl2Package)

Aggregations

PropertyAssociationInstance (org.osate.aadl2.instance.PropertyAssociationInstance)5 Property (org.osate.aadl2.Property)4 PropertyAssociation (org.osate.aadl2.PropertyAssociation)4 ReferenceValue (org.osate.aadl2.ReferenceValue)4 ContainedNamedElement (org.osate.aadl2.ContainedNamedElement)3 ContainmentPathElement (org.osate.aadl2.ContainmentPathElement)3 Element (org.osate.aadl2.Element)3 PropertyExpression (org.osate.aadl2.PropertyExpression)3 InvalidModelException (org.osate.aadl2.properties.InvalidModelException)3 ListValue (org.osate.aadl2.ListValue)2 ModalPropertyValue (org.osate.aadl2.ModalPropertyValue)2 NamedElement (org.osate.aadl2.NamedElement)2 InstanceObject (org.osate.aadl2.instance.InstanceObject)2 EvaluatedProperty (org.osate.aadl2.properties.EvaluatedProperty)2 EvaluationContext (org.osate.aadl2.properties.EvaluationContext)2 PropertyEvaluationResult (org.osate.aadl2.properties.PropertyEvaluationResult)2 EPackage (org.eclipse.emf.ecore.EPackage)1 Action (org.eclipse.xtext.Action)1 Parameter (org.eclipse.xtext.Parameter)1 ParserRule (org.eclipse.xtext.ParserRule)1