Issue 12519: Errors and anomalies in QVT 1.0 07-07-08 ZIP qvt_metamodel.emof.xml (qvt-rtf) Source: THALES (Dr. Edward Willink, ed.willink@thalesgroup.com ed@willink.me.uk) Nature: Uncategorized Issue Severity: Summary: Use of automated tooling to support comparison of the models developed initially as part of the Eclipse GMT/UMLX project and being transferred to the Eclipse QVT Declarative/QVT Operational Mappings Projects reveals the following errors and anomalies in qvt_metamodel.emof.xml in the 07-07-08 ZIP. Note that these errors and anomalies are not the same as those separately reported for the QVT_1.0.mdl from which the EMOF was notionally auto-generated. EMOF files resolving these anomalies are attached. Resolution: Revised Text: Actions taken: June 6, 2008: received issue Discussion: End of Annotations:===== m: "Ed Willink" To: Subject: Errors and anomalies in QVT 1.0 07-07-08 ZIP qvt_metamodel.emof.xml Date: Fri, 6 Jun 2008 20:36:42 +0100 X-Mailer: Microsoft Outlook, Build 10.0.6838 Thread-Index: AcjIDKWjI0xNCbnYSFKGHNi3l242ag== X-Plusnet-Relay: e684b8257b96dc2e3e24c9a7eb3c3476 Use of automated tooling to support comparison of the models developed initially as part of the Eclipse GMT/UMLX project and being transferred to the Eclipse QVT Declarative/QVT Operational Mappings Projects reveals the following errors and anomalies in qvt_metamodel.emof.xml in the 07-07-08 ZIP. Note that these errors and anomalies are not the same as those separately reported for the QVT_1.0.mdl from which the EMOF was notionally auto-generated. EMOF files resolving these anomalies are attached. The model namespace should be 'http://schema.omg.org/spec/MOF/2.0/emof.xml' rather than 'http://www.schema.omg.org/spec/MOF/2.0/emof.xml' 'xmi:type' of 'Boolean' should be 'emof:PrimitiveType' rather than 'emof:Class' 'xmi:type' of 'Integer' should be 'emof:PrimitiveType' rather than 'emof:Class' 'xmi:type' of 'String' should be 'emof:PrimitiveType' rather than 'emof:Class' 'xmi:type' of 'UnlimitedNatural' should be 'emof:PrimitiveType' rather than 'emof:Class' 'package' of 'Boolean' should be 'emof' rather than 'primitivetypes' 'package' of 'Integer' should be 'emof' rather than 'primitivetypes' 'package' of 'String' should be 'emof' rather than 'primitivetypes' 'package' of 'UnlimitedNatural' should be 'emof' rather than 'primitivetypes' 'uri' for 'EMOF' should be defined 'name' for 'EMOF' should be 'EMOF' rather than 'emof' 'name' for 'Property.isID' should be 'isID' rather than 'isId' 'Factory' should be defined 'Real' should be defined 'ReflectiveCollection' should be defined 'ReflectiveSequence' should be defined 'Comment.body' should be defined 'Factory.package' should be defined 'Element.tag' should be undefined 'eOpposite' for 'Tag.element' should be undefined 'eType' for 'MultiplicityElement.lower' should be 'Integer' rather than 'pathmap://models/emof/primitivetypes.emof#o2' 'eType' for 'MultiplicityElement.upper' should be 'UnlimitedNatural' rather than 'pathmap://models/emof/primitivetypes.emof#o4' 'lowerBound' for 'Class.isAbstract' should be '0' rather than '1' 'lowerBound' for 'Class.ownedAttribute' should be '0' rather than '1' 'lowerBound' for 'Class.ownedOperation' should be '0' rather than '1' 'lowerBound' for 'Class.superClass' should be '0' rather than '1' 'lowerBound' for 'Comment.annotatedElement' should be '0' rather than '1' 'lowerBound' for 'Element.ownedComment' should be '0' rather than '1' 'lowerBound' for 'Enumeration.ownedLiteral' should be '0' rather than '1' 'lowerBound' for 'EnumerationLiteral.enumeration' should be '0' rather than '1' 'lowerBound' for 'MultiplicityElement.isOrdered' should be '0' rather than '1' 'lowerBound' for 'MultiplicityElement.isUnique' should be '0' rather than '1' 'lowerBound' for 'MultiplicityElement.lower' should be '0' rather than '1' 'lowerBound' for 'MultiplicityElement.upper' should be '0' rather than '1' 'lowerBound' for 'NamedElement.name' should be '0' rather than '1' 'lowerBound' for 'Operation.class' should be '0' rather than '1' 'lowerBound' for 'Operation.ownedParameter' should be '0' rather than '1' 'lowerBound' for 'Operation.raisedException' should be '0' rather than '1' 'lowerBound' for 'Package.nestedPackage' should be '0' rather than '1' 'lowerBound' for 'Package.ownedType' should be '0' rather than '1' 'lowerBound' for 'Package.uri' should be '0' rather than '1' 'lowerBound' for 'Parameter.operation' should be '0' rather than '1' 'lowerBound' for 'Property.class' should be '0' rather than '1' 'lowerBound' for 'Property.default' should be '0' rather than '1' 'lowerBound' for 'Property.isComposite' should be '0' rather than '1' 'lowerBound' for 'Property.isDerived' should be '0' rather than '1' 'lowerBound' for 'Property.isID' should be '0' rather than '1' 'lowerBound' for 'Property.isReadOnly' should be '0' rather than '1' 'lowerBound' for 'Property.opposite' should be '0' rather than '1' 'lowerBound' for 'Tag.element' should be '0' rather than '1' 'lowerBound' for 'Tag.name' should be '0' rather than '1' 'lowerBound' for 'Tag.value' should be '0' rather than '1' 'lowerBound' for 'Type.package' should be '0' rather than '1' 'lowerBound' for 'TypedElement.type' should be '0' rather than '1' 'transient' for 'EnumerationLiteral.enumeration' should be 'true' rather than 'false' 'transient' for 'Operation.class' should be 'true' rather than 'false' 'transient' for 'Parameter.operation' should be 'true' rather than 'false' 'transient' for 'Property.class' should be 'true' rather than 'false' 'transient' for 'Type.package' should be 'true' rather than 'false' 'defaultValueLiteral' for 'Class.isAbstract' should be 'false' rather than undefined 'defaultValueLiteral' for 'MultiplicityElement.isOrdered' should be 'false' rather than undefined 'defaultValueLiteral' for 'MultiplicityElement.isUnique' should be 'true' rather than undefined 'defaultValueLiteral' for 'MultiplicityElement.lower' should be '1' rather than undefined 'defaultValueLiteral' for 'MultiplicityElement.upper' should be '1' rather than undefined 'defaultValueLiteral' for 'Property.isComposite' should be 'false' rather than undefined 'defaultValueLiteral' for 'Property.isDerived' should be 'false' rather than undefined 'defaultValueLiteral' for 'Property.isReadOnly' should be 'false' rather than undefined 'Element.container()' should be defined 'Element.equals(object)' should be defined 'Element.get(property)' should be defined 'Element.getMetaClass()' should be defined 'Element.isSet(property)' should be defined 'Element.set(property,object)' should be defined 'Element.unset(property)' should be defined 'Extent.elements()' should be defined 'Extent.useContainment()' should be defined 'Factory.convertToString(dataType,object)' should be defined 'Factory.create(metaClass)' should be defined 'Factory.createFromString(dataType,string)' should be defined 'ReflectiveCollection.add(object)' should be defined 'ReflectiveCollection.addAll(objects)' should be defined 'ReflectiveCollection.clear()' should be defined 'ReflectiveCollection.remove(object)' should be defined 'ReflectiveCollection.size()' should be defined 'ReflectiveSequence.add(index,object)' should be defined 'ReflectiveSequence.get(index)' should be defined 'ReflectiveSequence.remove(index)' should be defined 'ReflectiveSequence.set(index,object)' should be defined 'Type.isInstance(object)' should be defined 'URIExtent.contextURI()' should be defined 'URIExtent.element(uri)' should be defined 'URIExtent.uri(element)' should be defined Unnavigable 'opposite' of 'Class.superClass' should be modelled Unnavigable 'opposite' of 'Element.ownedComment' should be modelled Unnavigable 'opposite' of 'Package.nestedPackage' should be modelled Unnavigable 'opposite' of 'Property.opposite' should be modelled 'uri' for 'EssentialOCL' should be defined 'name' for 'EssentialOCL' should be 'EssentialOCL' rather than 'essentialocl' 'name' for 'ExpressionInOcl.contextVariable' should be 'contextVariable' rather than 'context' 'name' for 'Variable.representedParameter' should be 'representedParameter' rather than 'bindParameter' 'NavigationCallExp' should be defined 'OpaqueExpression' should be undefined 'TypeType' should be defined 'CollectionKind::Bag' should be defined 'CollectionKind::Collection' should be defined 'CollectionKind::OrderedSet' should be defined 'CollectionKind::Sequence' should be defined 'CollectionKind::Set' should be defined 'eType' for 'IntegerLiteralExp.integerSymbol' should be 'Integer' rather than 'pathmap://models/emof/primitivetypes.emof#o2' 'eType' for 'RealLiteralExp.realSymbol' should be 'Real' rather than 'String' 'eType' for 'UnlimitedNaturalExp.symbol' should be 'UnlimitedNatural' rather than 'pathmap://models/emof/primitivetypes.emof#o4' 'eSuperTypes' for 'ExpressionInOcl' should be 'TypedElement' rather than 'OpaqueExpression' 'eSuperTypes' for 'PropertyCallExp' should be 'NavigationCallExp' 'eSuperTypes' for 'AnyType' should be 'Type' rather than 'Class','Type' 'upperBound' for 'ExpressionInOcl.parameterVariable' should be '-1' rather than '1' 'abstract' for 'CollectionType' should be 'false' rather than 'true' 'containment' for 'TupleLiteralPart.attribute' should be 'false' rather than 'true' 'transient' for 'CollectionLiteralPart.collectionLiteralExp' should be 'true' rather than 'false' 'transient' for 'TupleLiteralPart.tupleLiteralExp' should be 'true' rather than 'false' 'transient' for 'Variable.letExp' should be 'true' rather than 'false' 'lowerBound' for 'BooleanLiteralExp.booleanSymbol' should be '0' rather than '1' 'lowerBound' for 'CallExp.source' should be '0' rather than '1' 'lowerBound' for 'CollectionLiteralExp.kind' should be '0' rather than '1' 'lowerBound' for 'CollectionLiteralExp.part' should be '0' rather than '1' 'lowerBound' for 'EnumLiteralExp.referredEnumLiteral' should be '0' rather than '1' 'lowerBound' for 'ExpressionInOcl.contextVariable' should be '0' rather than '1' 'lowerBound' for 'ExpressionInOcl.parameterVariable' should be '0' rather than '1' 'lowerBound' for 'ExpressionInOcl.resultVariable' should be '0' rather than '1' 'lowerBound' for 'IntegerLiteralExp.integerSymbol' should be '0' rather than '1' 'lowerBound' for 'IterateExp.result' should be '0' rather than '1' 'lowerBound' for 'LoopExp.iterator' should be '0' rather than '1' 'lowerBound' for 'OperationCallExp.argument' should be '0' rather than '1' 'lowerBound' for 'OperationCallExp.referredOperation' should be '0' rather than '1' 'lowerBound' for 'PropertyCallExp.referredProperty' should be '0' rather than '1' 'lowerBound' for 'RealLiteralExp.realSymbol' should be '0' rather than '1' 'lowerBound' for 'StringLiteralExp.stringSymbol' should be '0' rather than '1' 'lowerBound' for 'TupleLiteralExp.part' should be '0' rather than '1' 'lowerBound' for 'TupleLiteralPart.attribute' should be '0' rather than '1' 'lowerBound' for 'TupleLiteralPart.tupleLiteralExp' should be '0' rather than '1' 'lowerBound' for 'TypeExp.referredType' should be '0' rather than '1' 'lowerBound' for 'UnlimitedNaturalExp.symbol' should be '0' rather than '1' 'lowerBound' for 'Variable.initExpression' should be '0' rather than '1' 'lowerBound' for 'Variable.letExp' should be '0' rather than '1' 'lowerBound' for 'VariableExp.referredVariable' should be '0' rather than '1' 'lowerBound' for 'Variable.representedParameter' should be '0' rather than '1' Unnavigable 'opposite' of 'CallExp.source' should be modelled Unnavigable 'opposite' of 'CollectionRange.first' should be modelled Unnavigable 'opposite' of 'CollectionRange.last' should be modelled Unnavigable 'opposite' of 'EnumLiteralExp.referredEnumLiteral' should be modelled Unnavigable 'opposite' of 'ExpressionInOcl.bodyExpression' should be modelled Unnavigable 'opposite' of 'ExpressionInOcl.contextVariable' should be modelled Unnavigable 'opposite' of 'ExpressionInOcl.parameterVariable' should be modelled Unnavigable 'opposite' of 'ExpressionInOcl.resultVariable' should be modelled Unnavigable 'opposite' of 'IfExp.condition' should be modelled Unnavigable 'opposite' of 'IfExp.elseExpression' should be modelled Unnavigable 'opposite' of 'IfExp.thenExpression' should be modelled Unnavigable 'opposite' of 'IterateExp.result' should be modelled Unnavigable 'opposite' of 'LoopExp.body' should be modelled Unnavigable 'opposite' of 'OperationCallExp.argument' should be modelled Unnavigable 'opposite' of 'OperationCallExp.referredOperation' should be modelled Unnavigable 'opposite' of 'PropertyCallExp.referredProperty' should be modelled Unnavigable 'opposite' of 'Variable.initExpression' should be modelled Unnavigable 'opposite' of 'VariableExp.referredVariable' should be modelled 'uri' for 'QVTBase' should be defined 'name' for 'QVTBase' should be 'QVTBase' rather than 'qvtbase' 'abstract' for 'Domain' should be 'true' rather than 'false' 'abstract' for 'Rule' should be 'true' rather than 'false' 'transient' for 'Domain.rule' should be 'true' rather than 'false' 'transient' for 'Predicate.pattern' should be 'true' rather than 'false' 'transient' for 'Rule.transformation' should be 'true' rather than 'false' 'transient' for 'TypedModel.transformation' should be 'true' rather than 'false' 'lowerBound' for 'Domain.isCheckable' should be '0' rather than '1' 'lowerBound' for 'Domain.isEnforceable' should be '0' rather than '1' 'lowerBound' for 'Function.queryExpression' should be '0' rather than '1' 'lowerBound' for 'Pattern.bindsTo' should be '0' rather than '1' 'lowerBound' for 'Pattern.predicate' should be '0' rather than '1' 'lowerBound' for 'Rule.domain' should be '0' rather than '1' 'lowerBound' for 'Rule.overrides' should be '0' rather than '1' 'lowerBound' for 'Rule.transformation' should be '0' rather than '1' 'lowerBound' for 'Transformation.extends' should be '0' rather than '1' 'lowerBound' for 'Transformation.modelParameter' should be '0' rather than '1' 'lowerBound' for 'Transformation.ownedTag' should be '0' rather than '1' 'lowerBound' for 'Transformation.rule' should be '0' rather than '1' 'lowerBound' for 'TypedModel.dependsOn' should be '0' rather than '1' Unnavigable 'opposite' of 'Rule.overrides' should be modelled Unnavigable 'opposite' of 'Transformation.extends' should be modelled Unnavigable 'opposite' of 'TypedModel.dependsOn' should be modelled 'uri' for 'QVTTemplate' should be defined 'name' for 'QVTTemplate' should be 'QVTTemplate' rather than 'qvttemplate' 'eType' for 'CollectionTemplateExp.rest' should be 'Variable' rather than 'OclExpression' 'transient' for 'PropertyTemplateItem.objContainer' should be 'true' rather than 'false' 'lowerBound' for 'CollectionTemplateExp.member' should be '0' rather than '1' 'lowerBound' for 'CollectionTemplateExp.rest' should be '0' rather than '1' 'lowerBound' for 'ObjectTemplateExp.part' should be '0' rather than '1' 'lowerBound' for 'TemplateExp.bindsTo' should be '0' rather than '1' 'lowerBound' for 'TemplateExp.where' should be '0' rather than '1' Unnavigable 'opposite' of 'CollectionTemplateExp.member' should be modelled Unnavigable 'opposite' of 'CollectionTemplateExp.rest' should be modelled Unnavigable 'opposite' of 'PropertyTemplateItem.referredProperty' should be modelled Unnavigable 'opposite' of 'PropertyTemplateItem.value' should be modelled Unnavigable 'opposite' of 'TemplateExp.where' should be modelled 'uri' for 'QVTRelation' should be defined 'name' for 'QVTRelation' should be 'QVTRelation' rather than 'qvtrelation' 'containment' for 'Relation.operationalImpl' should be 'true' rather than 'false' 'transient' for 'Key.transformation' should be 'true' rather than 'false' 'transient' for 'RelationImplementation.relation' should be 'true' rather than 'false' 'lowerBound' for 'DomainPattern.templateExpression' should be '0' rather than '1' 'lowerBound' for 'Key.transformation' should be '0' rather than '1' 'lowerBound' for 'Relation.isTopLevel' should be '0' rather than '1' 'lowerBound' for 'Relation.operationalImpl' should be '0' rather than '1' 'lowerBound' for 'Relation.variable' should be '0' rather than '1' 'lowerBound' for 'Relation.when' should be '0' rather than '1' 'lowerBound' for 'Relation.where' should be '0' rather than '1' 'lowerBound' for 'RelationCallExp.argument' should be '2' rather than '1' 'lowerBound' for 'RelationDomain.defaultAssignment' should be '0' rather than '1' 'lowerBound' for 'RelationImplementation.relation' should be '0' rather than '1' 'lowerBound' for 'RelationalTransformation.ownedKey' should be '0' rather than '1' Unnavigable 'opposite' of 'Relation.when' should be modelled Unnavigable 'opposite' of 'Relation.where' should be modelled Unnavigable 'opposite' of 'RelationDomain.defaultAssignment' should be modelled Unnavigable 'opposite' of 'RelationDomainAssignment.valueExp' should be modelled Unnavigable 'opposite' of 'RelationDomainAssignment.variable' should be modelled 'uri' for 'QVTCore' should be defined 'name' for 'QVTCore' should be 'QVTCore' rather than 'qvtcore' 'eSuperTypes' for 'Assignment' should be 'Element' rather than nothing 'eSuperTypes' for 'EnforcementOperation' should be 'Element' rather than nothing 'abstract' for 'Assignment' should be 'true' rather than 'false' 'containment' for 'EnforcementOperation.operationCallExp' should be 'true' rather than 'false' 'containment' for 'Mapping.local' should be 'true' rather than 'false' 'transient' for 'Assignment.bottomPattern' should be 'true' rather than 'false' 'transient' for 'BottomPattern.area' should be 'true' rather than 'false' 'transient' for 'GuardPattern.area' should be 'true' rather than 'false' 'transient' for 'EnforcementOperation.bottomPattern' should be 'true' rather than 'false' 'transient' for 'Mapping.context' should be 'true' rather than 'false' 'Assignment.slotExpression' should be undefined 'PropertyAssignment.slotExpression' should be defined 'CorePattern.variable' should be defined 'Mapping.refinement' should be defined 'Mapping.refinement' should be the 'opposite' of 'Mapping.specification' 'EnforcementMode::Creation' should be defined 'EnforcementMode::Deletion' should be defined 'lowerBound' for 'Assignment.isDefault' should be '0' rather than '1' 'lowerBound' for 'BottomPattern.assignment' should be '0' rather than '1' 'lowerBound' for 'BottomPattern.enforcementOperation' should be '0' rather than '1' 'lowerBound' for 'BottomPattern.realizedVariable' should be '0' rather than '1' 'lowerBound' for 'EnforcementOperation.bottomPattern' should be '0' rather than '1' 'lowerBound' for 'EnforcementOperation.enforcementMode' should be '0' rather than '1' 'lowerBound' for 'Mapping.context' should be '0' rather than '1' 'lowerBound' for 'Mapping.local' should be '0' rather than '1' 'lowerBound' for 'Mapping.specification' should be '0' rather than '1' Unnavigable 'opposite' of 'Assignment.value' should be modelled Unnavigable 'opposite' of 'PropertyAssignment.targetProperty' should be modelled Unnavigable 'opposite' of 'VariableAssignment.targetVariable' should be modelled 'uri' for 'ImperativeOCL' should be defined 'name' for 'ImperativeOCL' should be 'ImperativeOCL' rather than 'imperativeocl' 'name' for 'TryExp.exceptClause' should be 'exceptClause' rather than undefined 'containment' for 'UnpackExp.targetVariable' should be 'false' rather than 'true' 'lowerBound' for 'ReturnExp.value' should be '0' rather than '1' 'defaultValueLiteral' for 'AssertExp.severity' should be 'error' rather than undefined 'defaultValueLiteral' for 'VariableInitExp.withResult' should be 'false' rather than undefined 'eSuperTypes' for 'SwitchExp' should be 'ImperativeExpression' rather than 'CallExp','ImperativeExpression' 'SeverityKind::error' should be defined 'SeverityKind::fatal' should be defined 'SeverityKind::warning' should be defined 'lowerBound' for 'AssertExp.severity' should be '0' rather than '1' 'lowerBound' for 'AssignExp.defaultValue' should be '0' rather than '1' 'lowerBound' for 'AssignExp.isReset' should be '0' rather than '1' 'lowerBound' for 'AssertExp.log' should be '0' rather than '1' 'lowerBound' for 'AssignExp.value' should be '0' rather than '1' 'lowerBound' for 'BlockExp.body' should be '0' rather than '1' 'lowerBound' for 'CatchExp.body' should be '0' rather than '1' 'lowerBound' for 'CatchExp.exception' should be '0' rather than '1' 'lowerBound' for 'DictionaryType.keyType' should be '0' rather than '1' 'lowerBound' for 'DictLiteralExp.part' should be '0' rather than '1' 'lowerBound' for 'ImperativeIterateExp.target' should be '0' rather than '1' 'lowerBound' for 'ImperativeLoopExp.condition' should be '0' rather than '1' 'lowerBound' for 'InstantiationExp.argument' should be '0' rather than '1' 'lowerBound' for 'InstantiationExp.extent' should be '0' rather than '1' 'lowerBound' for 'LogExp.condition' should be '0' rather than '1' 'lowerBound' for 'OrderedTupleLiteralExp.part' should be '0' rather than '1' 'lowerBound' for 'OrderedTupleType.elementType' should be '0' rather than '1' 'lowerBound' for 'RaiseExp.argument' should be '0' rather than '1' 'lowerBound' for 'SwitchExp.alternativePart' should be '0' rather than '1' 'lowerBound' for 'SwitchExp.elsePart' should be '0' rather than '1' 'lowerBound' for 'TemplateParameterType.specification' should be '0' rather than '1' 'lowerBound' for 'TryExp.exceptClause' should be '0' rather than undefined 'lowerBound' for 'TryExp.tryBody' should be '0' rather than '1' 'lowerBound' for 'Typedef.condition' should be '0' rather than '1' 'lowerBound' for 'VariableInitExp.withResult' should be '0' rather than '1' Unnavigable 'opposite' of 'AltExp.body' should be modelled Unnavigable 'opposite' of 'AltExp.condition' should be modelled Unnavigable 'opposite' of 'AssertExp.assertion' should be modelled Unnavigable 'opposite' of 'AssignExp.defaultValue' should be modelled Unnavigable 'opposite' of 'AssignExp.left' should be modelled Unnavigable 'opposite' of 'AssignExp.value' should be modelled Unnavigable 'opposite' of 'BlockExp.body' should be modelled Unnavigable 'opposite' of 'CatchExp.exception' should be modelled Unnavigable 'opposite' of 'ComputeExp.body' should be modelled Unnavigable 'opposite' of 'ComputeExp.returnedElement' should be modelled Unnavigable 'opposite' of 'DictionaryType.keyType' should be modelled Unnavigable 'opposite' of 'DictLiteralExp.part' should be modelled Unnavigable 'opposite' of 'DictLiteralPart.key' should be modelled Unnavigable 'opposite' of 'DictLiteralPart.value' should be modelled Unnavigable 'opposite' of 'ImperativeIterateExp.target' should be modelled Unnavigable 'opposite' of 'ImperativeLoopExp.condition' should be modelled Unnavigable 'opposite' of 'InstantiationExp.argument' should be modelled Unnavigable 'opposite' of 'LogExp.condition' should be modelled Unnavigable 'opposite' of 'OrderedTupleLiteralExp.part' should be modelled Unnavigable 'opposite' of 'OrderedTupleLiteralPart.value' should be modelled Unnavigable 'opposite' of 'OrderedTupleType.elementType' should be modelled Unnavigable 'opposite' of 'RaiseExp.exception' should be modelled Unnavigable 'opposite' of 'SwitchExp.alternativePart' should be modelled Unnavigable 'opposite' of 'SwitchExp.elsePart' should be modelled Unnavigable 'opposite' of 'TryExp.exceptClause' should be modelled Unnavigable 'opposite' of 'TryExp.tryBody' should be modelled Unnavigable 'opposite' of 'UnlinkExp.item' should be modelled Unnavigable 'opposite' of 'UnlinkExp.target' should be modelled Unnavigable 'opposite' of 'VariableInitExp.referredVariable' should be modelled Unnavigable 'opposite' of 'WhileExp.body' should be modelled Unnavigable 'opposite' of 'WhileExp.condition' should be modelled 'uri' for 'QVTOperational' should be defined 'name' for 'QVTOperational' should be 'QVTOperational' rather than 'qvtoperational' 'name' for 'MappingParameter.referredDomain' should be 'referredDomain' rather than 'refinedDomain' 'eType' for 'Module.entry' should be 'EntryOperation' rather than 'Operation' 'eSuperTypes' for 'ImperativeCallExp' should be 'OperationCallExp','ImperativeExpression' rather than 'OperationCallExp' 'eSuperTypes' for 'MappingOperation' should be 'ImperativeOperation' rather than 'ImperativeOperation','Operation','NamedElement' 'eSuperTypes' for 'ModelType' should be 'Class' rather than 'Class','URIExtent' 'eSuperTypes' for 'ResolveExp' should be 'CallExp','ImperativeExpression' rather than 'CallExp' 'DirectionKind::in' should be defined 'DirectionKind::inout' should be defined 'DirectionKind::out' should be defined 'ImportKind::access' should be defined 'ImportKind::extension' should be defined 'defaultValueLiteral' for 'ImperativeCallExp.isVirtual' should be 'true' rather than undefined 'defaultValueLiteral' for 'ModelType.conformanceKind' should be 'effective' rather than undefined 'transient' for 'ModuleImport.module' should be 'true' rather than 'false' 'transient' for 'OperationBody.operation' should be 'true' rather than 'false' 'transient' for 'VarParameter.ctxOwner' should be 'true' rather than 'false' 'transient' for 'VarParameter.resOwner' should be 'true' rather than 'false' 'upperBound' for 'MappingOperation.when' should be '1' rather than '-1' 'upperBound' for 'MappingOperation.where' should be '1' rather than '-1' 'lowerBound' for 'ContextualProperty.initExpression' should be '0' rather than '1' 'lowerBound' for 'ContextualProperty.overridden' should be '0' rather than '1' 'lowerBound' for 'Helper.isQuery' should be '0' rather than '1' 'lowerBound' for 'ImperativeCallExp.isVirtual' should be '0' rather than '1' 'lowerBound' for 'ImperativeOperation.body' should be '0' rather than '1' 'lowerBound' for 'ImperativeOperation.context' should be '0' rather than '1' 'lowerBound' for 'ImperativeOperation.isBlackbox' should be '0' rather than '1' 'lowerBound' for 'ImperativeOperation.overridden' should be '0' rather than '1' 'lowerBound' for 'ImperativeOperation.result' should be '0' rather than '1' 'lowerBound' for 'MappingBody.endSection' should be '0' rather than '1' 'lowerBound' for 'MappingBody.initSection' should be '0' rather than '1' 'lowerBound' for 'MappingCallExp.isStrict' should be '0' rather than '1' 'lowerBound' for 'MappingOperation.disjunct' should be '0' rather than '1' 'lowerBound' for 'MappingParameter.extent' should be '0' rather than '1' 'lowerBound' for 'MappingOperation.inherited' should be '0' rather than '1' 'lowerBound' for 'MappingOperation.merged' should be '0' rather than '1' 'lowerBound' for 'MappingOperation.refinedRelation' should be '0' rather than '1' 'lowerBound' for 'MappingOperation.when' should be '0' rather than '1' 'lowerBound' for 'MappingOperation.where' should be '0' rather than '1' 'lowerBound' for 'MappingParameter.referredDomain' should be '0' rather than '1' 'lowerBound' for 'ModelType.additionalCondition' should be '0' rather than '1' 'lowerBound' for 'ModelType.conformanceKind' should be '0' rather than '1' 'lowerBound' for 'ModuleImport.binding' should be '0' rather than '1' 'lowerBound' for 'ModuleImport.kind' should be '0' rather than '1' 'lowerBound' for 'ModuleImport.module' should be '0' rather than '1' 'lowerBound' for 'Module.configProperty' should be '0' rather than '1' 'lowerBound' for 'Module.entry' should be '0' rather than '1' 'lowerBound' for 'Module.isBlackbox' should be '0' rather than '1' 'lowerBound' for 'Module.moduleImport' should be '0' rather than '1' 'lowerBound' for 'Module.ownedTag' should be '0' rather than '1' 'lowerBound' for 'Module.ownedVariable' should be '0' rather than '1' 'lowerBound' for 'Module.usedModelType' should be '0' rather than '1' 'lowerBound' for 'OperationBody.content' should be '0' rather than '1' 'lowerBound' for 'OperationBody.operation' should be '0' rather than '1' 'lowerBound' for 'OperationBody.variable' should be '0' rather than '1' 'lowerBound' for 'OperationalTransformation.intermediateClass' should be '0' rather than '1' 'lowerBound' for 'OperationalTransformation.intermediateProperty' should be '0' rather than '1' 'lowerBound' for 'OperationalTransformation.modelParameter' should be '0' rather than '1' 'lowerBound' for 'OperationalTransformation.refined' should be '0' rather than '1' 'lowerBound' for 'OperationalTransformation.relation' should be '0' rather than '1' 'lowerBound' for 'ResolveExp.condition' should be '0' rather than '1' 'lowerBound' for 'ResolveExp.isDeferred' should be '0' rather than '1' 'lowerBound' for 'ResolveExp.isInverse' should be '0' rather than '1' 'lowerBound' for 'ResolveExp.one' should be '0' rather than '1' 'lowerBound' for 'ResolveExp.target' should be '0' rather than '1' 'lowerBound' for 'ResolveInExp.inMapping' should be '0' rather than '1' 'lowerBound' for 'VarParameter.ctxOwner' should be '0' rather than '1' 'lowerBound' for 'VarParameter.kind' should be '0' rather than '1' 'lowerBound' for 'VarParameter.resOwner' should be '0' rather than '1' Unnavigable 'opposite' of 'ContextualProperty.initExpression' should be modelled Unnavigable 'opposite' of 'ContextualProperty.overridden' should be modelled Unnavigable 'opposite' of 'ImperativeOperation.overridden' should be modelled Unnavigable 'opposite' of 'MappingBody.endSection' should be modelled Unnavigable 'opposite' of 'MappingBody.initSection' should be modelled Unnavigable 'opposite' of 'MappingOperation.disjunct' should be modelled Unnavigable 'opposite' of 'MappingOperation.inherited' should be modelled Unnavigable 'opposite' of 'MappingOperation.merged' should be modelled Unnavigable 'opposite' of 'MappingOperation.refinedRelation' should be modelled Unnavigable 'opposite' of 'MappingOperation.when' should be modelled Unnavigable 'opposite' of 'MappingOperation.where' should be modelled Unnavigable 'opposite' of 'MappingParameter.referredDomain' should be modelled Unnavigable 'opposite' of 'ModelType.additionalCondition' should be modelled Unnavigable 'opposite' of 'ModuleImport.importedModule' should be modelled Unnavigable 'opposite' of 'Module.entry' should be modelled Unnavigable 'opposite' of 'Module.ownedTag' should be modelled Unnavigable 'opposite' of 'Module.ownedVariable' should be modelled Unnavigable 'opposite' of 'ObjectExp.referredObject' should be modelled Unnavigable 'opposite' of 'OperationBody.content' should be modelled Unnavigable 'opposite' of 'OperationBody.variable' should be modelled Unnavigable 'opposite' of 'OperationalTransformation.intermediateClass' should be modelled Unnavigable 'opposite' of 'OperationalTransformation.intermediateProperty' should be modelled Unnavigable 'opposite' of 'OperationalTransformation.modelParameter' should be modelled Unnavigable 'opposite' of 'OperationalTransformation.refined' should be modelled Unnavigable 'opposite' of 'OperationalTransformation.relation' should be modelled Unnavigable 'opposite' of 'ResolveInExp.inMapping' should be modelled EMOF.xml EssentialOCL.xml ImperativeOCL.xml QVT.xml QVTBase.xml QVTCore.xml QVTOperational.xml QVTRelation.xml QVTTemplate.xml