<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!-- This file was autogenerated on Fri Jun 06 17:49:52 BST 2008 by the org.eclipse.gmt.umlx.eqvto.tests.QVTOperationalConsistencyTest.testQVTOperationalConsistency() JUnit test -->
<html>
<head>
<title>QVTOperational Model Compliance</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h1>QVTOperational Model Compliance</h1>
<p>
This document describes clarifications and fixes to
<ul>
	<li><a href="http://www.omg.org/docs/formal/06-01-01.pdf">OMG MOF 2.0 specification (06-01-01)</a></li>
	<li><a href="http://www.omg.org/docs/formal/06-05-01.pdf">OMG OCL 2.0 specification (06-05-01)</a></li>
	<li><a href="http://www.omg.org/docs/formal/08-04-03.pdf">OMG QVT 1.0 specification (08-04-03)</a></li>
</ul>
realised by the Ecore-based and EMOF-based QVTOperational models.
<p>
The EMOF-based <tt>QVTOperational</tt> 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.
<p>
The Ecore-based <tt>QVTOperational</tt> model is intended to provide identical behaviour subject to the replacement of
<ul>
	<li>the <tt>EMOF</tt> package by Ecore (from Eclipse EMF)</li>
	<li>the <tt>EssentialOCL</tt> package by the Ecore OCL package (from  Eclipse MDT).</li>
</ul>
The Ecore-based model should be used within tools, where the power of Ecore and its associated tooling is important.
<h2>EMOF-based Model Compliance with respect to the OMG QVT Rose Model</h2>
The OMG QVT Rose Model is the source of all diagrams in the QVT specification
and the notional source of all other generated models.
<p>
The Eclipse <tt>QVTOperational</tt> Model resolves the following errors
and anomalies in the OMG QVT Rose Model.
<p>
<br><tt>nsPrefix</tt> for <tt>QVTOperational</tt> is <tt>qvto</tt> rather than <tt>qvtoperational</tt>
<br><tt>nsURI</tt> for <tt>QVTOperational</tt> is <tt>http://schema.omg.org/spec/QVT/1.0/qvtoperational.xml</tt> rather than <tt>http:///qvtoperational.ecore</tt>
<br><tt>name</tt> for <tt>QVTOperational</tt> is <tt>QVTOperational</tt> rather than <tt>qvtoperational</tt>
<br><tt>name</tt> for <tt>MappingParameter.referredDomain</tt> is <tt>referredDomain</tt> rather than <tt>refinedDomain</tt>
<br><tt>eSuperTypes</tt> for <tt>ImperativeCallExp</tt> is <tt>OperationCallExp</tt>,<tt>ImperativeExpression</tt> rather than <tt>OperationCallExp</tt>
<br><tt>eSuperTypes</tt> for <tt>MappingOperation</tt> is <tt>ImperativeOperation</tt> rather than <tt>ImperativeOperation</tt>,<tt>Operation</tt>,<tt>NamedElement</tt>
<br><tt>eSuperTypes</tt> for <tt>ModelType</tt> is <tt>Class</tt> rather than <tt>Class</tt>,<tt>URIExtent</tt>
<br><tt>eSuperTypes</tt> for <tt>ResolveExp</tt> is <tt>CallExp</tt>,<tt>ImperativeExpression</tt> rather than <tt>CallExp</tt>
<br><tt>eType</tt> for <tt>Module.entry</tt> is <tt>EntryOperation</tt> rather than <tt>Operation</tt>
<br><tt>lowerBound</tt> for <tt>ModelType.metamodel</tt> is <tt>1</tt> rather than <tt>0</tt>
<br><tt>defaultValueLiteral</tt> for <tt>ImperativeCallExp.isVirtual</tt> is <tt>true</tt> rather than undefined
<br><tt>defaultValueLiteral</tt> for <tt>ModelType.conformanceKind</tt> is <tt>effective</tt> rather than undefined
<br><tt>ordered</tt> for <tt>OperationBody.content</tt> is <tt>true</tt> rather than <tt>false</tt>
<h2>EMOF-based Model Compliance with respect to the OMG Ecore Model</h2>
The OMG Ecore Models are notionally generated from the OMG QVT Rose Model.
<p>
The Eclipse <tt>QVTOperational</tt> Model resolves the following errors and anomalies in the corresponding OMG Ecore Model.
<p>
<br><tt>nsURI</tt> for <tt>QVTOperational</tt> is <tt>http://schema.omg.org/spec/QVT/1.0/qvtoperational.xml</tt> rather than <tt>http://www.schema.omg.org/spec/QVT/1.0/qvtoperational</tt>
<br><tt>nsPrefix</tt> for <tt>QVTOperational</tt> is <tt>qvto</tt> rather than <tt>qvtoperational</tt>
<br><tt>name</tt> for <tt>QVTOperational</tt> is <tt>QVTOperational</tt> rather than <tt>qvtoperational</tt>
<br><tt>name</tt> for <tt>MappingParameter.referredDomain</tt> is <tt>referredDomain</tt> rather than <tt>refinedDomain</tt>
<br><tt>eType</tt> for <tt>Module.entry</tt> is <tt>EntryOperation</tt> rather than <tt>Operation</tt>
<br><tt>eSuperTypes</tt> for <tt>ImperativeCallExp</tt> is <tt>OperationCallExp</tt>,<tt>ImperativeExpression</tt> rather than <tt>OperationCallExp</tt>
<br><tt>eSuperTypes</tt> for <tt>MappingOperation</tt> is <tt>ImperativeOperation</tt> rather than <tt>ImperativeOperation</tt>,<tt>Operation</tt>,<tt>NamedElement</tt>
<br><tt>eSuperTypes</tt> for <tt>ModelType</tt> is <tt>Class</tt> rather than <tt>Class</tt>,<tt>URIExtent</tt>
<br><tt>eSuperTypes</tt> for <tt>ResolveExp</tt> is <tt>CallExp</tt>,<tt>ImperativeExpression</tt> rather than <tt>CallExp</tt>
<br><tt>upperBound</tt> for <tt>MappingOperation.when</tt> is <tt>1</tt> rather than <tt>-1</tt>
<br><tt>upperBound</tt> for <tt>MappingOperation.where</tt> is <tt>1</tt> rather than <tt>-1</tt>
<br><tt>lowerBound</tt> for <tt>ModelType.metamodel</tt> is <tt>1</tt> rather than <tt>0</tt>
<br><tt>defaultValueLiteral</tt> for <tt>ImperativeCallExp.isVirtual</tt> is <tt>true</tt> rather than undefined
<br><tt>defaultValueLiteral</tt> for <tt>ModelType.conformanceKind</tt> is <tt>effective</tt> rather than undefined
<br><tt>ordered</tt> for <tt>Module.ownedVariable</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>ordered</tt> for <tt>OperationBody.variable</tt> is <tt>false</tt> rather than <tt>true</tt>
<br>Unnavigable <tt>opposite</tt> of <tt>ContextualProperty.initExpression</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ContextualProperty.overridden</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ImperativeOperation.overridden</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingBody.endSection</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingBody.initSection</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.disjunct</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.inherited</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.merged</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.refinedRelation</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.when</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.where</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingParameter.referredDomain</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ModelType.additionalCondition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ModuleImport.importedModule</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Module.entry</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Module.ownedTag</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Module.ownedVariable</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ObjectExp.referredObject</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationBody.content</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationBody.variable</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.intermediateClass</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.intermediateProperty</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.modelParameter</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.refined</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.relation</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ResolveInExp.inMapping</tt> is modelled
<h2>EMOF-based Model Compliance with respect to the OMG EMOF Model</h2>
The OMG EMOF Model is notionally generated from the OMG QVT Rose Model.
<p>
The Eclipse <tt>QVTOperational</tt> Model resolves the following errors and anomalies in the corresponding OMG EMOF Model.
<p>
<br>The model namespace is <tt>http://schema.omg.org/spec/MOF/2.0/emof.xml</tt> rather than <tt>http://www.schema.omg.org/spec/MOF/2.0/emof.xml</tt>
<br><tt>xmi:type</tt> of <tt>Boolean</tt> is <tt>emof:PrimitiveType</tt> rather than <tt>emof:Class</tt>
<br><tt>xmi:type</tt> of <tt>Integer</tt> is <tt>emof:PrimitiveType</tt> rather than <tt>emof:Class</tt>
<br><tt>xmi:type</tt> of <tt>String</tt> is <tt>emof:PrimitiveType</tt> rather than <tt>emof:Class</tt>
<br><tt>xmi:type</tt> of <tt>UnlimitedNatural</tt> is <tt>emof:PrimitiveType</tt> rather than <tt>emof:Class</tt>
<br><tt>package</tt> of <tt>Boolean</tt> is <tt>emof</tt> rather than <tt>primitivetypes</tt>
<br><tt>package</tt> of <tt>Integer</tt> is <tt>emof</tt> rather than <tt>primitivetypes</tt>
<br><tt>package</tt> of <tt>String</tt> is <tt>emof</tt> rather than <tt>primitivetypes</tt>
<br><tt>package</tt> of <tt>UnlimitedNatural</tt> is <tt>emof</tt> rather than <tt>primitivetypes</tt>
<p>
<br><tt>uri</tt> for <tt>QVTOperational</tt> is defined
<br><tt>name</tt> for <tt>QVTOperational</tt> is <tt>QVTOperational</tt> rather than <tt>qvtoperational</tt>
<br><tt>name</tt> for <tt>MappingParameter.referredDomain</tt> is <tt>referredDomain</tt> rather than <tt>refinedDomain</tt>
<br><tt>eType</tt> for <tt>Module.entry</tt> is <tt>EntryOperation</tt> rather than <tt>Operation</tt>
<br><tt>eSuperTypes</tt> for <tt>ImperativeCallExp</tt> is <tt>OperationCallExp</tt>,<tt>ImperativeExpression</tt> rather than <tt>OperationCallExp</tt>
<br><tt>eSuperTypes</tt> for <tt>MappingOperation</tt> is <tt>ImperativeOperation</tt> rather than <tt>ImperativeOperation</tt>,<tt>Operation</tt>,<tt>NamedElement</tt>
<br><tt>eSuperTypes</tt> for <tt>ModelType</tt> is <tt>Class</tt> rather than <tt>Class</tt>,<tt>URIExtent</tt>
<br><tt>eSuperTypes</tt> for <tt>ResolveExp</tt> is <tt>CallExp</tt>,<tt>ImperativeExpression</tt> rather than <tt>CallExp</tt>
<br><tt>DirectionKind::in</tt> is defined
<br><tt>DirectionKind::inout</tt> is defined
<br><tt>DirectionKind::out</tt> is defined
<br><tt>ImportKind::access</tt> is defined
<br><tt>ImportKind::extension</tt> is defined
<br><tt>defaultValueLiteral</tt> for <tt>ImperativeCallExp.isVirtual</tt> is <tt>true</tt> rather than undefined
<br><tt>defaultValueLiteral</tt> for <tt>ModelType.conformanceKind</tt> is <tt>effective</tt> rather than undefined
<br><tt>transient</tt> for <tt>ModuleImport.module</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>transient</tt> for <tt>OperationBody.operation</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>transient</tt> for <tt>VarParameter.ctxOwner</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>transient</tt> for <tt>VarParameter.resOwner</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>upperBound</tt> for <tt>MappingOperation.when</tt> is <tt>1</tt> rather than <tt>-1</tt>
<br><tt>upperBound</tt> for <tt>MappingOperation.where</tt> is <tt>1</tt> rather than <tt>-1</tt>
<br><tt>lowerBound</tt> for <tt>ContextualProperty.initExpression</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ContextualProperty.overridden</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Helper.isQuery</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeCallExp.isVirtual</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeOperation.body</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeOperation.context</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeOperation.isBlackbox</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeOperation.overridden</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeOperation.result</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingBody.endSection</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingBody.initSection</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingCallExp.isStrict</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingOperation.disjunct</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingParameter.extent</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingOperation.inherited</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingOperation.merged</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingOperation.refinedRelation</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingOperation.when</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingOperation.where</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>MappingParameter.referredDomain</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ModelType.additionalCondition</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ModelType.conformanceKind</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ModuleImport.binding</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ModuleImport.kind</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ModuleImport.module</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.configProperty</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.entry</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.isBlackbox</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.moduleImport</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.ownedTag</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.ownedVariable</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Module.usedModelType</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationBody.content</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationBody.operation</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationBody.variable</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationalTransformation.intermediateClass</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationalTransformation.intermediateProperty</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationalTransformation.modelParameter</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationalTransformation.refined</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OperationalTransformation.relation</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ResolveExp.condition</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ResolveExp.isDeferred</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ResolveExp.isInverse</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ResolveExp.one</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ResolveExp.target</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ResolveInExp.inMapping</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>VarParameter.ctxOwner</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>VarParameter.kind</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>VarParameter.resOwner</tt> is <tt>0</tt> rather than <tt>1</tt>
<br>Unnavigable <tt>opposite</tt> of <tt>ContextualProperty.initExpression</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ContextualProperty.overridden</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ImperativeOperation.overridden</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingBody.endSection</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingBody.initSection</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.disjunct</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.inherited</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.merged</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.refinedRelation</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.when</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingOperation.where</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>MappingParameter.referredDomain</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ModelType.additionalCondition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ModuleImport.importedModule</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Module.entry</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Module.ownedTag</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Module.ownedVariable</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ObjectExp.referredObject</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationBody.content</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationBody.variable</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.intermediateClass</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.intermediateProperty</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.modelParameter</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.refined</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OperationalTransformation.relation</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ResolveInExp.inMapping</tt> is modelled
<h2>EMOF-based Model Compliance with respect to the Eclipse QVT Rose Model</h2>
The Eclipse QVT Rose Model provides the definition for all models; it resolves numerous errors in the OMG QVT Rose Model.
<p>
The EMOF-based <tt>QVTOperational</tt> Model exhibits the following differences with respect to the Eclipse QVT Rose Model.
<p>
<br><tt>nsPrefix</tt> for <tt>QVTOperational</tt> is <tt>qvto</tt> rather than <tt>qvtoperational</tt>
<h2>Ecore-based Model Compliance with respect to the EMOF-based Model</h2>
The Ecore-based <tt>QVTOperational</tt> model exhibits the following differences with respect to its EMOF-based counterpart.
<p>
<br><tt>nsURI</tt> for <tt>QVTOperational</tt> is <tt>http://www.eclipse.org/qvt/1.0/QVTOperational</tt> rather than <tt>http://schema.omg.org/spec/QVT/1.0/qvtoperational.xml</tt>
<br><tt>nsPrefix</tt> for <tt>QVTOperational</tt> is <tt>eqvto</tt> rather than <tt>qvto</tt>
<br><tt>eType</tt> for <tt>Module.ownedTag</tt> is <tt>EAnnotation</tt> rather than <tt>Tag</tt>
</body>
</html>
