This document describes clarifications and fixes to
The EMOF-based QVTBase model is intended to exactly comply with the spirit of the latest QVT specification; the model therefore corrects numerous problems in the official QVT 1.0 models. The EMOF-based model should be used for modelling, where accuracy is important.
The Ecore-based QVTBase model is intended to provide identical behaviour subject to the replacement of
The Eclipse QVTBase Model resolves the following errors and anomalies in the OMG QVT Rose Model.
nsPrefix for QVTBase is qvtb rather than qvtbase
nsURI for QVTBase is http://schema.omg.org/spec/QVT/1.0/qvtbase.xml rather than http:///qvtbase.ecore
name for QVTBase is QVTBase rather than qvtbase
lowerBound for Domain.typedModel is 1 rather than 0
lowerBound for Rule.transformation is 0 rather than 1
ordered for Transformation.modelParameter is false rather than true
The Eclipse QVTBase Model resolves the following errors and anomalies in the corresponding OMG Ecore Model.
nsPrefix for QVTBase is qvtb rather than qvtbase
nsURI for QVTBase is http://schema.omg.org/spec/QVT/1.0/qvtbase.xml rather than http://www.schema.omg.org/spec/QVT/1.0/qvtbase
name for QVTBase is QVTBase rather than qvtbase
abstract for Domain is true rather than false
abstract for Rule is true rather than false
lowerBound for Domain.typedModel is 1 rather than 0
lowerBound for Rule.transformation is 0 rather than 1
ordered for Pattern.bindsTo is false rather than true
ordered for Pattern.predicate is false rather than true
ordered for Rule.domain is false rather than true
ordered for Transformation.modelParameter is false rather than true
ordered for Transformation.ownedTag is false rather than true
ordered for Transformation.rule is false rather than true
ordered for TypedModel.dependsOn is false rather than true
ordered for TypedModel.usedPackage is false rather than true
Unnavigable opposite of Rule.overrides is modelled
Unnavigable opposite of Transformation.extends is modelled
Unnavigable opposite of TypedModel.dependsOn is modelled
The Eclipse QVTBase Model resolves the following errors and anomalies in the corresponding OMG EMOF Model.
The model namespace is 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 is emof:PrimitiveType rather than emof:Class
xmi:type of Integer is emof:PrimitiveType rather than emof:Class
xmi:type of String is emof:PrimitiveType rather than emof:Class
xmi:type of UnlimitedNatural is emof:PrimitiveType rather than emof:Class
package of Boolean is emof rather than primitivetypes
package of Integer is emof rather than primitivetypes
package of String is emof rather than primitivetypes
package of UnlimitedNatural is emof rather than primitivetypes
uri for QVTBase is defined
name for QVTBase is QVTBase rather than qvtbase
abstract for Domain is true rather than false
abstract for Rule is true rather than false
transient for Domain.rule is true rather than false
transient for Predicate.pattern is true rather than false
transient for Rule.transformation is true rather than false
transient for TypedModel.transformation is true rather than false
lowerBound for Domain.isCheckable is 0 rather than 1
lowerBound for Domain.isEnforceable is 0 rather than 1
lowerBound for Function.queryExpression is 0 rather than 1
lowerBound for Pattern.bindsTo is 0 rather than 1
lowerBound for Pattern.predicate is 0 rather than 1
lowerBound for Rule.domain is 0 rather than 1
lowerBound for Rule.overrides is 0 rather than 1
lowerBound for Rule.transformation is 0 rather than 1
lowerBound for Transformation.extends is 0 rather than 1
lowerBound for Transformation.modelParameter is 0 rather than 1
lowerBound for Transformation.ownedTag is 0 rather than 1
lowerBound for Transformation.rule is 0 rather than 1
lowerBound for TypedModel.dependsOn is 0 rather than 1
Unnavigable opposite of Rule.overrides is modelled
Unnavigable opposite of Transformation.extends is modelled
Unnavigable opposite of TypedModel.dependsOn is modelled
The EMOF-based QVTBase Model exhibits the following differences with respect to the Eclipse QVT Rose Model.
nsPrefix for QVTBase is qvtb rather than qvtbase
nsPrefix for QVTBase is eqvtb rather than qvtb
nsURI for QVTBase is http://www.eclipse.org/qvt/1.0/QVTBase rather than http://schema.omg.org/spec/QVT/1.0/qvtbase.xml
eType for Transformation.ownedTag is EAnnotation rather than Tag
Transformation.getFunction(name) is defined
Transformation.getModelParameter(name) is defined