<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!-- This file was autogenerated on Wed Jun 11 08:39:20 BST 2008 by the org.eclipse.qvt.declarative.test.emof.qvtrelation.QVTRelationConsistencyTest.testQVTRelationConsistency() JUnit test -->
<html>
<head>
<title>QVTRelation Model Compliance</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h1>QVTRelation 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 QVTRelation models.
<p>
The EMOF-based <tt>QVTRelation</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>QVTRelation</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>QVTRelation</tt> Model resolves the following errors
and anomalies in the OMG QVT Rose Model.
<p>
<br><tt>nsURI</tt> for <tt>QVTRelation</tt> is <tt>http://schema.omg.org/spec/QVT/1.0/qvtrelation.xml</tt> rather than <tt>http:///qvtrelation.ecore</tt>
<br><tt>nsPrefix</tt> for <tt>QVTRelation</tt> is <tt>qvtr</tt> rather than <tt>qvtrelation</tt>
<br><tt>name</tt> for <tt>QVTRelation</tt> is <tt>QVTRelation</tt> rather than <tt>qvtrelation</tt>
<br><tt>lowerBound</tt> for <tt>RelationCallExp.argument</tt> is <tt>2</tt> rather than <tt>0</tt>
<br><tt>lowerBound</tt> for <tt>RelationCallExp.referredRelation</tt> is <tt>1</tt> rather than <tt>0</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>QVTRelation</tt> Model resolves the following errors and anomalies in the corresponding OMG Ecore Model.
<p>
<br><tt>nsURI</tt> for <tt>QVTRelation</tt> is <tt>http://schema.omg.org/spec/QVT/1.0/qvtrelation.xml</tt> rather than <tt>http://www.schema.omg.org/spec/QVT/1.0/qvtrelation</tt>
<br><tt>nsPrefix</tt> for <tt>QVTRelation</tt> is <tt>qvtr</tt> rather than <tt>qvtrelation</tt>
<br><tt>name</tt> for <tt>QVTRelation</tt> is <tt>QVTRelation</tt> rather than <tt>qvtrelation</tt>
<br><tt>lowerBound</tt> for <tt>RelationCallExp.argument</tt> is <tt>2</tt> rather than <tt>0</tt>
<br><tt>lowerBound</tt> for <tt>RelationCallExp.referredRelation</tt> is <tt>1</tt> rather than <tt>0</tt>
<br><tt>containment</tt> for <tt>Relation.operationalImpl</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>transient</tt> for <tt>RelationImplementation.relation</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>ordered</tt> for <tt>Key.part</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>ordered</tt> for <tt>Relation.operationalImpl</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>ordered</tt> for <tt>Relation.variable</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>ordered</tt> for <tt>RelationDomain.defaultAssignment</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>ordered</tt> for <tt>RelationalTransformation.ownedKey</tt> is <tt>false</tt> rather than <tt>true</tt>
<br>Unnavigable <tt>opposite</tt> of <tt>Relation.when</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Relation.where</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RelationDomain.defaultAssignment</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RelationDomainAssignment.valueExp</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RelationDomainAssignment.variable</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>QVTRelation</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>QVTRelation</tt> is defined
<br><tt>name</tt> for <tt>QVTRelation</tt> is <tt>QVTRelation</tt> rather than <tt>qvtrelation</tt>
<br><tt>containment</tt> for <tt>Relation.operationalImpl</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>transient</tt> for <tt>Key.transformation</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>transient</tt> for <tt>RelationImplementation.relation</tt> is <tt>true</tt> rather than <tt>false</tt>
<br><tt>lowerBound</tt> for <tt>DomainPattern.templateExpression</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Key.transformation</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Relation.isTopLevel</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Relation.operationalImpl</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Relation.variable</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Relation.when</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Relation.where</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>RelationCallExp.argument</tt> is <tt>2</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>RelationDomain.defaultAssignment</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>RelationDomain.pattern</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>RelationImplementation.relation</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>RelationalTransformation.ownedKey</tt> is <tt>0</tt> rather than <tt>1</tt>
<br>Unnavigable <tt>opposite</tt> of <tt>Relation.when</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>Relation.where</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RelationDomain.defaultAssignment</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RelationDomainAssignment.valueExp</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RelationDomainAssignment.variable</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>QVTRelation</tt> Model exhibits the following differences with respect to the Eclipse QVT Rose Model.
<p>
<br><tt>nsPrefix</tt> for <tt>QVTRelation</tt> is <tt>qvtr</tt> rather than <tt>qvtrelation</tt>
<h2>Ecore-based Model Compliance with respect to the EMOF-based Model</h2>
The Ecore-based <tt>QVTRelation</tt> model exhibits the following differences with respect to its EMOF-based counterpart.
<p>
<br><tt>nsURI</tt> for <tt>QVTRelation</tt> is <tt>http://www.eclipse.org/qvt/1.0/QVTRelation</tt> rather than <tt>http://schema.omg.org/spec/QVT/1.0/qvtrelation.xml</tt>
<br><tt>nsPrefix</tt> for <tt>QVTRelation</tt> is <tt>eqvtr</tt> rather than <tt>qvtr</tt>
<br><tt>RelationalTransformation.getRelation(name)</tt> is defined
<br><tt>Relation.getRelationalTransformation()</tt> is defined
</body>
</html>
