This document describes clarifications and fixes to
The EMOF-based QVTTemplate 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 QVTTemplate model is intended to provide identical behaviour subject to the replacement of
The Eclipse QVTTemplate Model resolves the following errors and anomalies in the OMG QVT Rose Model.
nsURI for QVTTemplate is http://schema.omg.org/spec/QVT/1.0/qvttemplate.xml rather than http:///qvttemplate.ecore
nsPrefix for QVTTemplate is qvtt rather than qvttemplate
name for QVTTemplate is QVTTemplate rather than qvttemplate
lowerBound for CollectionTemplateExp.member is 0 rather than 1
lowerBound for CollectionTemplateExp.rest is 0 rather than 1
lowerBound for CollectionTemplateExp.referredCollectionType is 1 rather than 0
PropertyTemplateItem.isOpposite is defined
The Eclipse QVTTemplate Model resolves the following errors and anomalies in the corresponding OMG Ecore Model.
nsURI for QVTTemplate is http://schema.omg.org/spec/QVT/1.0/qvttemplate.xml rather than http://www.schema.omg.org/spec/QVT/1.0/qvtrelation
nsPrefix for QVTTemplate is qvtt rather than qvttemplate
name for QVTTemplate is QVTTemplate rather than qvttemplate
eType for CollectionTemplateExp.rest is Variable rather than OclExpression
CollectionTemplateExp.kind is undefined
lowerBound for CollectionTemplateExp.member is 0 rather than 1
lowerBound for CollectionTemplateExp.rest is 0 rather than 1
lowerBound for CollectionTemplateExp.referredCollectionType is 1 rather than 0
ordered for CollectionTemplateExp.member is false rather than true
ordered for ObjectTemplateExp.part is false rather than true
Unnavigable opposite of CollectionTemplateExp.member is modelled
Unnavigable opposite of CollectionTemplateExp.rest is modelled
Unnavigable opposite of PropertyTemplateItem.referredProperty is modelled
Unnavigable opposite of PropertyTemplateItem.value is modelled
Unnavigable opposite of TemplateExp.where is modelled
PropertyTemplateItem.isOpposite is defined
The Eclipse QVTTemplate 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 QVTTemplate is defined
name for QVTTemplate is QVTTemplate rather than qvttemplate
eType for CollectionTemplateExp.rest is Variable rather than OclExpression
transient for PropertyTemplateItem.objContainer is true rather than false
lowerBound for CollectionTemplateExp.member is 0 rather than 1
lowerBound for CollectionTemplateExp.rest is 0 rather than 1
lowerBound for ObjectTemplateExp.part is 0 rather than 1
lowerBound for TemplateExp.bindsTo is 0 rather than 1
lowerBound for TemplateExp.where is 0 rather than 1
Unnavigable opposite of CollectionTemplateExp.member is modelled
Unnavigable opposite of CollectionTemplateExp.rest is modelled
Unnavigable opposite of PropertyTemplateItem.referredProperty is modelled
Unnavigable opposite of PropertyTemplateItem.value is modelled
Unnavigable opposite of TemplateExp.where is modelled
PropertyTemplateItem.isOpposite is defined
The EMOF-based QVTTemplate Model exhibits the following differences with respect to the Eclipse QVT Rose Model.
nsPrefix for QVTTemplate is qvtt rather than qvttemplate
nsURI for QVTTemplate is http://www.eclipse.org/qvt/1.0/QVTTemplate rather than http://schema.omg.org/spec/QVT/1.0/qvttemplate.xml
nsPrefix for QVTTemplate is eqvtt rather than qvtt