<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!-- This file was autogenerated on Fri Jun 06 17:51:11 BST 2008 by the org.eclipse.gmt.umlx.eqvto.tests.ImperativeOCLConsistencyTest.testImperativeOCLConsistency() JUnit test -->
<html>
<head>
<title>ImperativeOCL Model Compliance</title>
<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
</head>
<body lang="EN-US">
<h1>ImperativeOCL 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 ImperativeOCL models.
<p>
The EMOF-based <tt>ImperativeOCL</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>ImperativeOCL</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>ImperativeOCL</tt> Model resolves the following errors
and anomalies in the OMG QVT Rose Model.
<p>
<br><tt>nsURI</tt> for <tt>ImperativeOCL</tt> is <tt>http://schema.omg.org/spec/QVT/1.0/imperativeocl.xml</tt> rather than <tt>http:///imperativeocl.ecore</tt>
<br><tt>nsPrefix</tt> for <tt>ImperativeOCL</tt> is <tt>impocl</tt> rather than <tt>imperativeocl</tt>
<br><tt>name</tt> for <tt>ImperativeOCL</tt> is <tt>ImperativeOCL</tt> rather than <tt>imperativeocl</tt>
<br><tt>name</tt> for <tt>TryExp.exceptClause</tt> is <tt>exceptClause</tt> rather than undefined
<br><tt>containment</tt> for <tt>UnpackExp.targetVariable</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>lowerBound</tt> for <tt>ReturnExp.value</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>defaultValueLiteral</tt> for <tt>AssertExp.severity</tt> is <tt>error</tt> rather than undefined
<br><tt>defaultValueLiteral</tt> for <tt>VariableInitExp.withResult</tt> is <tt>false</tt> rather than undefined
<br><tt>eSuperTypes</tt> for <tt>SwitchExp</tt> should not include <tt>CallExp</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>ImperativeOCL</tt> Model resolves the following errors and anomalies in the corresponding OMG Ecore Model.
<p>
<br><tt>nsURI</tt> for <tt>ImperativeOCL</tt> is <tt>http://schema.omg.org/spec/QVT/1.0/imperativeocl.xml</tt> rather than <tt>http://www.schema.omg.org/spec/QVT/1.0/imperativeocl</tt>
<br><tt>nsPrefix</tt> for <tt>ImperativeOCL</tt> is <tt>impocl</tt> rather than <tt>imperativeocl</tt>
<br><tt>name</tt> for <tt>ImperativeOCL</tt> is <tt>ImperativeOCL</tt> rather than <tt>imperativeocl</tt>
<br><tt>name</tt> for <tt>TryExp.exceptClause</tt> is <tt>exceptClause</tt> rather than undefined
<br><tt>containment</tt> for <tt>UnpackExp.targetVariable</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>ordered</tt> for <tt>DictLiteralExp.part</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>lowerBound</tt> for <tt>ReturnExp.value</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>defaultValueLiteral</tt> for <tt>AssertExp.severity</tt> is <tt>error</tt> rather than undefined
<br><tt>defaultValueLiteral</tt> for <tt>VariableInitExp.withResult</tt> is <tt>false</tt> rather than undefined
<br><tt>eSuperTypes</tt> for <tt>SwitchExp</tt> is <tt>ImperativeExpression</tt> rather than <tt>CallExp</tt>,<tt>ImperativeExpression</tt>
<br>Unnavigable <tt>opposite</tt> of <tt>AltExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AltExp.condition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssertExp.assertion</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssignExp.defaultValue</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssignExp.left</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssignExp.value</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>BlockExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>CatchExp.exception</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ComputeExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ComputeExp.returnedElement</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictionaryType.keyType</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictLiteralExp.part</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictLiteralPart.key</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictLiteralPart.value</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ImperativeIterateExp.target</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ImperativeLoopExp.condition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>InstantiationExp.argument</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>LogExp.condition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OrderedTupleLiteralExp.part</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OrderedTupleLiteralPart.value</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OrderedTupleType.elementType</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RaiseExp.exception</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>SwitchExp.alternativePart</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>SwitchExp.elsePart</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>TryExp.exceptClause</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>TryExp.tryBody</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>UnlinkExp.item</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>UnlinkExp.target</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>VariableInitExp.referredVariable</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>WhileExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>WhileExp.condition</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>ImperativeOCL</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>ImperativeOCL</tt> is defined
<br><tt>name</tt> for <tt>ImperativeOCL</tt> is <tt>ImperativeOCL</tt> rather than <tt>imperativeocl</tt>
<br><tt>name</tt> for <tt>TryExp.exceptClause</tt> is <tt>exceptClause</tt> rather than undefined
<br><tt>containment</tt> for <tt>UnpackExp.targetVariable</tt> is <tt>false</tt> rather than <tt>true</tt>
<br><tt>lowerBound</tt> for <tt>ReturnExp.value</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>defaultValueLiteral</tt> for <tt>AssertExp.severity</tt> is <tt>error</tt> rather than undefined
<br><tt>defaultValueLiteral</tt> for <tt>VariableInitExp.withResult</tt> is <tt>false</tt> rather than undefined
<br><tt>eSuperTypes</tt> for <tt>SwitchExp</tt> is <tt>ImperativeExpression</tt> rather than <tt>CallExp</tt>,<tt>ImperativeExpression</tt>
<br><tt>SeverityKind::error</tt> is defined
<br><tt>SeverityKind::fatal</tt> is defined
<br><tt>SeverityKind::warning</tt> is defined
<br><tt>lowerBound</tt> for <tt>AssertExp.severity</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>AssignExp.defaultValue</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>AssignExp.isReset</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>AssertExp.log</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>AssignExp.value</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>BlockExp.body</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>CatchExp.body</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>CatchExp.exception</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>DictionaryType.keyType</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>DictLiteralExp.part</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeIterateExp.target</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>ImperativeLoopExp.condition</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>InstantiationExp.argument</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>InstantiationExp.extent</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>LogExp.condition</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OrderedTupleLiteralExp.part</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>OrderedTupleType.elementType</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>RaiseExp.argument</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>SwitchExp.alternativePart</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>SwitchExp.elsePart</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>TemplateParameterType.specification</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>TryExp.exceptClause</tt> is <tt>0</tt> rather than undefined
<br><tt>lowerBound</tt> for <tt>TryExp.tryBody</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>Typedef.condition</tt> is <tt>0</tt> rather than <tt>1</tt>
<br><tt>lowerBound</tt> for <tt>VariableInitExp.withResult</tt> is <tt>0</tt> rather than <tt>1</tt>
<br>Unnavigable <tt>opposite</tt> of <tt>AltExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AltExp.condition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssertExp.assertion</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssignExp.defaultValue</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssignExp.left</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>AssignExp.value</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>BlockExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>CatchExp.exception</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ComputeExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ComputeExp.returnedElement</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictionaryType.keyType</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictLiteralExp.part</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictLiteralPart.key</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>DictLiteralPart.value</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ImperativeIterateExp.target</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>ImperativeLoopExp.condition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>InstantiationExp.argument</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>LogExp.condition</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OrderedTupleLiteralExp.part</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OrderedTupleLiteralPart.value</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>OrderedTupleType.elementType</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>RaiseExp.exception</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>SwitchExp.alternativePart</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>SwitchExp.elsePart</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>TryExp.exceptClause</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>TryExp.tryBody</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>UnlinkExp.item</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>UnlinkExp.target</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>VariableInitExp.referredVariable</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>WhileExp.body</tt> is modelled
<br>Unnavigable <tt>opposite</tt> of <tt>WhileExp.condition</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>ImperativeOCL</tt> Model exhibits the following differences with respect to the Eclipse QVT Rose Model.
<p>
<br><tt>nsPrefix</tt> for <tt>ImperativeOCL</tt> is <tt>impocl</tt> rather than <tt>imperativeocl</tt>
<h2>Ecore-based Model Compliance with respect to the EMOF-based Model</h2>
The Ecore-based <tt>ImperativeOCL</tt> model exhibits the following differences with respect to its EMOF-based counterpart.
<p>
<br><tt>nsURI</tt> for <tt>ImperativeOCL</tt> is <tt>http://www.eclipse.org/qvt/1.0/ImperativeOCL</tt> rather than <tt>http://schema.omg.org/spec/QVT/1.0/imperativeocl.xml</tt>
<br><tt>nsPrefix</tt> for <tt>ImperativeOCL</tt> is <tt>eimpocl</tt> rather than <tt>impocl</tt>
</body>
</html>
