Issue 12519: Errors and anomalies in QVT 1.0 07-07-08 ZIP qvt_metamodel.emof.xml (qvt-rtf) Source: Model Driven Solutions (Dr. Edward Willink, ed(at)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 July 15, 2014: closed issue Discussion: QVT 1.1 issued revised files based on Eclipse QVT contributions. Issue 12518: QVT 1.2 is providing non-normative UML files. Disposition: Closed, No Change 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 Date: Fri, 12 Dec 2008 06:29:43 +0000 From: Ed Willink User-Agent: Thunderbird 2.0.0.18 (Windows/20081105) To: qvt-rtf@omg.org, Quentin Glineur Subject: Re: Issue 12518, 12519, 12522 QVTBase::Transformation.modelParameter ordering ambiguity resolution. X-Plusnet-Relay: 6ceef13d8e0acdb906da18ff1cc1dd01 Hi The diagram/text conflict for QVTBase::Transformation.modelParameter ordering needs to be resolved as ordered rather than not ordered as previously suggested. An ordered behaviour is required to make the argument list of a QVTRelation::RelationCallExp well-defined. Updated files will be made available shortly in the Eclipse QVT Declarative CVS. Login: anonymous@dev.eclipse.org CVS Root: /cvsroot/modeling CVS Path: org.eclipse.m2m/org.eclipse.qvt.declarative/plugins/org.eclipse.qvt/ Files: QVTBase.cat, ecore/QVTBase.ecore, emof/QVTBase.xml Regards QVTTemplate.xml