//MOF1.4/XMI1.1/Model 1.4/Model.xml
//Object Management Group, Inc.
//
//Copyright 1997-1999 DSTC (Cooperative Research Centre for Enterprise //Distributed Systems Technology)
//Copyright 1997-1999 Electronic Data Systems
//Copyright 1997-1999 IBM Corporation
//Copyright 1997-1999 International Computers Limited
//Copyright 1997-1999 Objectivity, Inc. 
//Copyright 2000-2001 Object Management Group, Inc.
//Copyright 1997-1999 Oracle Corporation
//Copyright 1997-1999 Platinum Technology, Inc.
//Copyright 1997-1999 Rational Software Corporation
//Copyright 1997-1999 System Software Association
//Copyright 1997-1999 Unisys Corporation
//
//The companies listed above have granted to the Object Management Group, Inc. 
//(OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and 
//distribute this document and to modify this document and distribute copies of 
//the modified version. Each of the copyright holders listed above has agreed 
//that no person shall be deemed to have infringed the copyright in the included 
//material of any such copyright holder by reason of having used the 
//specification set forth herein or having conformed any computer software to 
//the specification. 
//
//ISSUE REPORTING
//
//All OMG specifications are subject to continuous review and improvement. 
//As part of this process we encourage readers to report any ambiguities, //inconsistencies, or inaccuracies they may find by completing the Issue //Reporting Form listed on the main web page http://www.omg.org, under //Documents & Specifications, Report a Bug/Issue.
//
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE XMI SYSTEM "Model.dtd">
<XMI verified="false" xmi.version="1.1" xmlns:Model="omg.org.mof.Model">
  <XMI.header>
    <XMI.documentation>
      <XMI.contact>
	Questions and discussion: mof-rtf@omg.org;
	Raising issues: http://www.omg.org/library/issuerpt.html
	The OMG specification on which this is based: 
	   http://www.omg.org/cgi-bin/doc?ptc/2001-10-04
	The official/latest version of this file: 
	   omg.org/models/MOF1.4/XMI1.1/Model1.4/Model.xml
       </XMI.contact>
      <XMI.exporter>
	ModelXMIProducer (switches -E)
	Hand-edited to insert this documentation, fix the DOCTYPE 
        and xmlns, and insert cross-links to PrimitiveTypes.xml
      </XMI.exporter>
      <XMI.exporterVersion>
	Exporter generated using dMOF 1.1 'mof_1_3_transition' 
	(switches -g 1dot4)
      </XMI.exporterVersion>
      <XMI.longDescription>
	The MOF provides a set of modeling elements, including rules for 
	their use, with which to construct models.  Formally, the MOF is 
	defined in itself: in essence the MOF Model is its own metamodel.
	This file contains the MOF Model package expressed as 
        a MOF metamodel.
	This file is non-normative.
      </XMI.longDescription>
      <XMI.shortDescription>
	Definition of the Model package for MOF version 1.4, 
	generated according to XMI version 1.1.
      </XMI.shortDescription>
      <XMI.notice>
	The developers have granted to the OMG a nonexclusive, 
        royalty-free, paid-up, worldwide license to copy and distribute 
	this document and to modify this document and distribute copies 
	of the modified version.  For list of developers and full notice 
	see OMG document ptc/2001-10-04 
      </XMI.notice>
      <XMI.owner>
	Object Management Group, Inc.
      </XMI.owner>
    </XMI.documentation>
    <XMI.model xmi.name="Model" xmi.version="1.4"/>
    <XMI.metamodel xmi.name="Model" xmi.version="1.4"/>
  </XMI.header>
  <XMI.content>
    <Model:Package annotation="" isAbstract="false" isLeaf="false"
      isRoot="false" name="Model" visibility="public_vis" xmi.id="a9">
      <Model:ModelElement.constraints>
	<Model:Constraint xmi.idref="a10"/>
	<Model:Constraint xmi.idref="a11"/>
	<Model:Constraint xmi.idref="a12"/>
	<Model:Constraint xmi.idref="a13"/>
      </Model:ModelElement.constraints>
      <Model:Namespace.contents>
	<Model:Import annotation="" isClustered="false"
	  name="PrimitiveTypes" visibility="public_vis" xmi.id="a14">
	  <Model:Import.importedNamespace>
	    <Model:Namespace xmi.idref="a1"/>
	  </Model:Import.importedNamespace>
	</Model:Import>
	<Model:Tag annotation="" name="*tag_1"
	  tagId="org.omg.mof.idl_prefix" xmi.id="a15">
	  <Model:Tag.values>org.omg.mof</Model:Tag.values>
	  <Model:Tag.elements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Tag.elements>
	</Model:Tag>
	<Model:Tag annotation="" name="*tag_2"
	  tagId="org.omg.mof.idl_version" xmi.id="a16">
	  <Model:Tag.values>1.4</Model:Tag.values>
	  <Model:Tag.elements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Tag.elements>
	</Model:Tag>
	<Model:Tag annotation="" name="*tag_3"
	  tagId="javax.jmi.packagePrefix" xmi.id="a17">
	  <Model:Tag.values>javax.jmi</Model:Tag.values>
	  <Model:Tag.elements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Tag.elements>
	</Model:Tag>
	<Model:Tag annotation="" name="*tag_4"
	  tagId="org.omg.xmi.namespace" xmi.id="a18">
	  <Model:Tag.values>Model</Model:Tag.values>
	  <Model:Tag.elements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Tag.elements>
	</Model:Tag>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="ModelElement"
	  visibility="public_vis" xmi.id="a19">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a20"/>
	    <Model:Constraint xmi.idref="a21"/>
	    <Model:Constraint xmi.idref="a22"/>
	    <Model:Constraint xmi.idref="a23"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_5"
	      tagId="org.omg.mof.idl_version" xmi.id="a24">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a19"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="MustBeContainedUnlessPackage" xmi.id="a20">
	      <Model.Constraint.expression xml:space="preserve">context ModelElement
inv: 
not self.oclIsTypeOf(Package) implies 
  self.container -&gt; size = 1</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a19"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a21">
	      <Model.ModelElement.name xml:space="preserve">FrozenAttributesCannotBeChanged</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context ModelElement
inv: 
self.isFrozen() implies 
  let myTypes = 
    self.oclType() -&gt; allSupertypes() -&gt; includes(self.oclType()) in
  let myAttrs : Set(Attribute) = 
    self.RefBaseObject::refMetaObject() -&gt; asOclType(Class) -&gt; 
    findElementsByTypeExtended(Attribute) in
  myAttrs -&gt; forAll(a | 
    self.RefObject::refValue@pre(a) = self.RefObject::refValue(a))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a19"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="FrozenElementsCannotBeDeleted" xmi.id="a22">
	      <Model.Constraint.expression xml:space="preserve">context ModelElement
post: 
(self.isFrozen@pre() and 
 self.container@pre -&gt; notEmpty and
 self.container.isFrozen@pre()) implies
(self.container.Object::non_existent() or 
 not self.Object::non_existent())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a19"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a23">
	      <Model.ModelElement.name xml:space="preserve">FrozenDependenciesCannotBeChanged</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context ModelElement
post: 
self.isFrozen() implies 
  let myClasses = self.oclType() -&gt; allSupertypes() -&gt; 
    includes(self.oclType()) in
  let myRefs = Set(Reference) = 
    self.RefBaseObject::refMetaObject() -&gt; asOclType(Class) -&gt; 
    findElementsByTypeExtended(Reference) in
  let myDepRefs = myRefs -&gt; 
    select(r | Set{&quot;
		  &quot;
		  &quot;
      includes(r.name)) in
  myDepRefs -&gt; forAll(r | 
    self.RefObject::refValue@pre(r) = self.RefObject::refValue(r))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a19"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="name" scope="instance_level"
	      visibility="public_vis" xmi.id="a25">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_6"
	      tagId="org.omg.mof.idl_version" xmi.id="a26">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a25"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="false"
	      isDerived="true" name="qualifiedName"
	      scope="instance_level" visibility="public_vis" xmi.id="a27">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_7"
	      tagId="org.omg.mof.idl_version" xmi.id="a28">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a27"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="annotation"
	      scope="instance_level" visibility="public_vis" xmi.id="a29">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_8"
	      tagId="org.omg.mof.idl_version" xmi.id="a30">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a29"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Reference annotation="" isChangeable="false"
	      name="requiredElements" scope="instance_level"
	      visibility="public_vis" xmi.id="a31">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a32"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	    <Model:Constant annotation="" name="ContainerDep"
	      value="container" xmi.id="a33">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="ContentsDep"
	      value="contents" xmi.id="a34">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="SignatureDep"
	      value="signature" xmi.id="a35">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="ConstraintDep"
	      value="constraint" xmi.id="a36">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation=""
	      name="ConstrainedElementsDep"
	      value="constrained elements" xmi.id="a37">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="SpecializationDep"
	      value="specialization" xmi.id="a38">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="ImportDep"
	      value="import" xmi.id="a39">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="TypeDefinitionDep"
	      value="type definition" xmi.id="a40">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="ReferencedEndsDep"
	      value="referenced ends" xmi.id="a41">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="TaggedElementsDep"
	      value="tagged elements" xmi.id="a42">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="IndirectDep"
	      value="indirect" xmi.id="a43">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Constant annotation="" name="AllDep" value="all" xmi.id="a44">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Constant>
	    <Model:Operation annotation="" isQuery="false"
	      name="findRequiredElements" scope="instance_level"
	      visibility="public_vis" xmi.id="a45">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a46">
		  <Model:Parameter.multiplicity>
		    <XMI.field>0</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>true</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="kinds" xmi.id="a47">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>true</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="recursive" xmi.id="a48">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_9"
		  tagId="org.omg.mof.idl_version" xmi.id="a49">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a45"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="isRequiredBecause" scope="instance_level"
	      visibility="public_vis" xmi.id="a50">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a51">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="otherElement" xmi.id="a52">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="out_dir"
		  name="reason" xmi.id="a53">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_10"
		  tagId="org.omg.mof.idl_version" xmi.id="a54">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a50"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	    </Model:Operation>
	    <Model:Reference annotation="" isChangeable="true"
	      name="container" scope="instance_level"
	      visibility="public_vis" xmi.id="a55">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a56"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a57"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	    <Model:Reference annotation="" isChangeable="true"
	      name="constraints" scope="instance_level"
	      visibility="public_vis" xmi.id="a58">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a59"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a60"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	    <Model:Operation annotation="" isQuery="false"
	      name="isFrozen" scope="instance_level"
	      visibility="public_vis" xmi.id="a61">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a62">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="isVisible" scope="instance_level"
	      visibility="public_vis" xmi.id="a63">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a64">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="otherElement" xmi.id="a65">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	    </Model:Operation>
	  </Model:Namespace.contents>
	</Model:Class>
	<Model:EnumerationType annotation="" isAbstract="false"
	  isLeaf="true" isRoot="true" name="VisibilityKind"
	  visibility="public_vis" xmi.id="a66">
	  <Model:EnumerationType.labels>public_vis</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>protected_vis</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>private_vis</Model:EnumerationType.labels>
	</Model:EnumerationType>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Namespace"
	  visibility="public_vis" xmi.id="a56">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a67"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_11"
	      tagId="org.omg.mof.idl_version" xmi.id="a68">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a56"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ContentNamesMustNotCollide" xmi.id="a67">
	      <Model.Constraint.expression xml:space="preserve">context Namespace
inv: self.contents.forAll(e1, e2 | e1.name = e2.name implies r1 = r2)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a56"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Exception annotation="" name="NameNotFound"
	      scope="instance_level" visibility="public_vis" xmi.id="a69">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="out_dir"
		  name="name" xmi.id="a70">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_12"
		  tagId="org.omg.mof.idl_version" xmi.id="a71">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a69"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	    </Model:Exception>
	    <Model:Exception annotation="" name="NameNotResolved"
	      scope="instance_level" visibility="public_vis" xmi.id="a72">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="out_dir"
		  name="explanation" xmi.id="a73">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="out_dir"
		  name="restOfName" xmi.id="a74">
		  <Model:Parameter.multiplicity>
		    <XMI.field>0</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>true</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_13"
		  tagId="org.omg.mof.idl_version" xmi.id="a75">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a72"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	    </Model:Exception>
	    <Model:Reference annotation="" isChangeable="true"
	      name="contents" scope="instance_level"
	      visibility="public_vis" xmi.id="a76">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a77"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	    <Model:Operation annotation="" isQuery="false"
	      name="lookupElement" scope="instance_level"
	      visibility="public_vis" xmi.id="a78">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a79">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="name" xmi.id="a80">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_14"
		  tagId="org.omg.mof.idl_version" xmi.id="a81">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a78"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	      <Model:Operation.exceptions>
		<Model:Exception xmi.idref="a69"/>
	      </Model:Operation.exceptions>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="resolveQualifiedName" scope="instance_level"
	      visibility="public_vis" xmi.id="a82">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a83">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="qualifiedName" xmi.id="a84">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>true</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_15"
		  tagId="org.omg.mof.idl_version" xmi.id="a85">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a82"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	      <Model:Operation.exceptions>
		<Model:Exception xmi.idref="a72"/>
	      </Model:Operation.exceptions>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="findElementsByType" scope="instance_level"
	      visibility="public_vis" xmi.id="a86">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a87">
		  <Model:Parameter.multiplicity>
		    <XMI.field>0</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>true</XMI.field>
		    <XMI.field>true</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="ofType" xmi.id="a88">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a89"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="includeSubtypes" xmi.id="a90">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="nameIsValid" scope="instance_level"
	      visibility="public_vis" xmi.id="a91">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a92">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="proposedName" xmi.id="a93">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Tag annotation="" name="*tag_16"
		  tagId="org.omg.mof.idl_version" xmi.id="a94">
		  <Model:Tag.values>1.4</Model:Tag.values>
		  <Model:Tag.elements>
		    <Model:ModelElement xmi.idref="a91"/>
		  </Model:Tag.elements>
		</Model:Tag>
	      </Model:Namespace.contents>
	    </Model:Operation>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a19"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false"
	  name="GeneralizableElement" visibility="public_vis" xmi.id="a95">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a96"/>
	    <Model:Constraint xmi.idref="a97"/>
	    <Model:Constraint xmi.idref="a98"/>
	    <Model:Constraint xmi.idref="a99"/>
	    <Model:Constraint xmi.idref="a100"/>
	    <Model:Constraint xmi.idref="a101"/>
	    <Model:Constraint xmi.idref="a102"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_17"
	      tagId="org.omg.mof.idl_version" xmi.id="a103">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="SupertypeMustNotBeSelf" xmi.id="a96">
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv: self.allSupertypes() -&gt; forAll(s | s &lt;&gt; self)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="SupertypeKindMustBeSame" xmi.id="a97">
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv: self.supertypes -&gt; forAll(s | s.oclType() = self.oclType())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a98">
	      <Model.ModelElement.name xml:space="preserve">ContentsMustNotCollideWithSupertypes</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv:
let superContents = self.allSupertypes() -&gt; 
  collect(s | s.contents) in
self.contents -&gt; forAll(m1 | superContents -&gt; 
  forAll(m2 | m1.name = m2.name implies m1 = m2))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="DiamondRuleMustBeObeyed" xmi.id="a99">
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv:
let superNamespaces = 
  self.supertypes -&gt; collect(s | s.extendedNamespace) in
superNamespaces -&gt; asSet -&gt; isUnique(s | s.name)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="NoSupertypesAllowedForRoot" xmi.id="a100">
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv: self.isRoot implies self.supertypes -&gt; isEmpty</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="SupertypesMustBeVisible" xmi.id="a101">
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv: self.supertypes -&gt; forAll(s | self.isVisible(s))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="NoSubtypesAllowedForLeaf" xmi.id="a102">
	      <Model.Constraint.expression xml:space="preserve">context GeneralizableElement
inv: self.supertypes -&gt; forAll(s | not s.isLeaf)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a95"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isRoot" scope="instance_level"
	      visibility="public_vis" xmi.id="a104">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isLeaf" scope="instance_level"
	      visibility="public_vis" xmi.id="a105">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isAbstract"
	      scope="instance_level" visibility="public_vis" xmi.id="a106">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="visibility"
	      scope="instance_level" visibility="public_vis" xmi.id="a107">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a66"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Reference annotation="" isChangeable="true"
	      name="supertypes" scope="instance_level"
	      visibility="public_vis" xmi.id="a108">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a95"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a109"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	    <Model:Operation annotation="" isQuery="false"
	      name="allSupertypes" scope="instance_level"
	      visibility="public_vis" xmi.id="a110">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a111">
		  <Model:Parameter.multiplicity>
		    <XMI.field>0</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>true</XMI.field>
		    <XMI.field>true</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a95"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="lookupElementExtended" scope="instance_level"
	      visibility="public_vis" xmi.id="a112">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a113">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="name" xmi.id="a114">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	      <Model:Operation.exceptions>
		<Model:Exception xmi.idref="a69"/>
	      </Model:Operation.exceptions>
	    </Model:Operation>
	    <Model:Operation annotation="" isQuery="false"
	      name="findElementsByTypeExtended" scope="instance_level"
	      visibility="public_vis" xmi.id="a115">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a116">
		  <Model:Parameter.multiplicity>
		    <XMI.field>0</XMI.field>
		    <XMI.field>-1</XMI.field>
		    <XMI.field>true</XMI.field>
		    <XMI.field>true</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a19"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="ofType" xmi.id="a117">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a89"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
		<Model:Parameter annotation="" direction="in_dir"
		  name="includeSubtypes" xmi.id="a118">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	    </Model:Operation>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a56"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="TypedElement"
	  visibility="public_vis" xmi.id="a119">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a120"/>
	    <Model:Constraint xmi.idref="a121"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_18"
	      tagId="org.omg.mof.idl_version" xmi.id="a122">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a119"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationsCannotBeTypes" xmi.id="a120">
	      <Model.Constraint.expression xml:space="preserve">context TypedElement
inv: not self.type.oclIsKindOf(Association)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a119"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="TypeMustBeVisible" xmi.id="a121">
	      <Model.Constraint.expression xml:space="preserve">context TypedElement
inv: self.isVisible(self.type)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a119"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Reference annotation="" isChangeable="true"
	      name="type" scope="instance_level"
	      visibility="public_vis" xmi.id="a123">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a124"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a125"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a19"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Classifier"
	  visibility="public_vis" xmi.id="a124">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_19"
	      tagId="org.omg.mof.idl_version" xmi.id="a126">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a124"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a95"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Class"
	  visibility="public_vis" xmi.id="a89">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a127"/>
	    <Model:Constraint xmi.idref="a128"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_20"
	      tagId="org.omg.mof.idl_version" xmi.id="a129">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a89"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Tag annotation="" name="*tag_21"
	      tagId="javax.jmi.substituteName" xmi.id="a130">
	      <Model:Tag.values>MofClass</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a89"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ClassContainmentRules" xmi.id="a127">
	      <Model.Constraint.expression xml:space="preserve">context Class
inv: 
Set{Class, DataType, Attribute, Reference, Operation,
    Exception, Constant, Constraint, Tag} -&gt;
  includesAll(self.contentTypes())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a89"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a128">
	      <Model.ModelElement.name xml:space="preserve">AbstractClassesCannotBeSingleton</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context Class
inv: self.isAbstract implies not self.isSingleton</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a89"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isSingleton"
	      scope="instance_level" visibility="public_vis" xmi.id="a131">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a124"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Constant annotation="" name="Unbounded" value="-1" xmi.id="a132">
	  <Model:TypedElement.type>
	    <Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Integer"/>
	  </Model:TypedElement.type>
	</Model:Constant>
	<Model:StructureType annotation="" isAbstract="false"
	  isLeaf="true" isRoot="true" name="MultiplicityType"
	  visibility="public_vis" xmi.id="a133">
	  <Model:Namespace.contents>
	    <Model:StructureField annotation="" name="lower" xmi.id="a134">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Integer"/>
	      </Model:TypedElement.type>
	    </Model:StructureField>
	    <Model:StructureField annotation="" name="upper" xmi.id="a135">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Integer"/>
	      </Model:TypedElement.type>
	    </Model:StructureField>
	    <Model:StructureField annotation="" name="isOrdered" xmi.id="a136">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:StructureField>
	    <Model:StructureField annotation="" name="isUnique" xmi.id="a137">
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:StructureField>
	  </Model:Namespace.contents>
	</Model:StructureType>
	<Model:Constraint annotation="" evaluationPolicy="deferred"
	  language="OCL" xmi.id="a10">
	  <Model.ModelElement.name xml:space="preserve">LowerCannotBeNegativeOrUnbounded</Model.ModelElement.name>
	  <Model.Constraint.expression xml:space="preserve">context MultiplicityType
inv: self.lower &gt;= 0 and self.lower &lt;&gt; Unbounded</Model.Constraint.expression>
	  <Model:Constraint.constrainedElements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Constraint.constrainedElements>
	</Model:Constraint>
	<Model:Constraint annotation="" evaluationPolicy="deferred"
	  language="OCL" name="LowerCannotExceedUpper" xmi.id="a11">
	  <Model.Constraint.expression xml:space="preserve">context MultiplicityType
inv: self.lower &lt;= self.upper or self.upper = Unbounded</Model.Constraint.expression>
	  <Model:Constraint.constrainedElements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Constraint.constrainedElements>
	</Model:Constraint>
	<Model:Constraint annotation="" evaluationPolicy="deferred"
	  language="OCL" name="UpperMustBePositive" xmi.id="a12">
	  <Model.Constraint.expression xml:space="preserve">context MultiplicityType
inv: self.upper &gt;= 1 or self.upper = Unbounded</Model.Constraint.expression>
	  <Model:Constraint.constrainedElements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Constraint.constrainedElements>
	</Model:Constraint>
	<Model:Constraint annotation="" evaluationPolicy="deferred"
	  language="OCL" name="MustBeUnorderedNonunique" xmi.id="a13">
	  <Model.Constraint.expression xml:space="preserve">context MultiplicityType
inv: 
self.upper = 1 implies (not self.isOrdered and not self.isUnique)</Model.Constraint.expression>
	  <Model:Constraint.constrainedElements>
	    <Model:ModelElement xmi.idref="a9"/>
	  </Model:Constraint.constrainedElements>
	</Model:Constraint>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="DataType"
	  visibility="public_vis" xmi.id="a138">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a139"/>
	    <Model:Constraint xmi.idref="a140"/>
	    <Model:Constraint xmi.idref="a141"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_22"
	      tagId="org.omg.mof.idl_version" xmi.id="a142">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a138"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="DataTypeContainmentRules" xmi.id="a139">
	      <Model.Constraint.expression xml:space="preserve">context DataType
inv: 
if self.oclIsOfType(StructureType)
then
  Set{TypeAlias, Constraint, Tag, StructureField} -&gt;
    includesAll(self.contentTypes())
else
  Set{TypeAlias, Constraint, Tag} -&gt; 
    includesAll(self.contentTypes())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a138"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="DataTypesHaveNoSupertypes" xmi.id="a140">
	      <Model.Constraint.expression xml:space="preserve">context DataType
inv: self.supertypes -&gt; isEmpty</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a138"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="DataTypesCannotBeAbstract" xmi.id="a141">
	      <Model.Constraint.expression xml:space="preserve">context DataType
inv: not self.isAbstract</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a138"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a124"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="PrimitiveType"
	  visibility="public_vis" xmi.id="a143">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_23"
	      tagId="org.omg.mof.idl_version" xmi.id="a144">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a143"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a138"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="EnumerationType"
	  visibility="public_vis" xmi.id="a145">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_24"
	      tagId="org.omg.mof.idl_version" xmi.id="a146">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a145"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="labels" scope="instance_level"
	      visibility="public_vis" xmi.id="a147">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a138"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="CollectionType"
	  visibility="public_vis" xmi.id="a148">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_25"
	      tagId="org.omg.mof.idl_version" xmi.id="a149">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a148"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="multiplicity"
	      scope="instance_level" visibility="public_vis" xmi.id="a150">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a133"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a138"/>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="StructureType"
	  visibility="public_vis" xmi.id="a151">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a152"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_26"
	      tagId="org.omg.mof.idl_version" xmi.id="a153">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a151"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="MustHaveFields" xmi.id="a152">
	      <Model.Constraint.expression xml:space="preserve">context StructureType
inv: self.contents -&gt; exists(c | c.oclIsOfType(StructureField))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a151"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a138"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="StructureField"
	  visibility="public_vis" xmi.id="a154">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a155"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_27"
	      tagId="org.omg.mof.idl_version" xmi.id="a156">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a154"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="StructureFieldContainmentRules" xmi.id="a155">
	      <Model.Constraint.expression xml:space="preserve">context StructureField
inv: Set{Constraint, Tag}) -&gt; includesAll(self.contentTypes)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a154"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="AliasType"
	  visibility="public_vis" xmi.id="a157">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_28"
	      tagId="org.omg.mof.idl_version" xmi.id="a158">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a157"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a138"/>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:EnumerationType annotation="" isAbstract="false"
	  isLeaf="true" isRoot="true" name="ScopeKind"
	  visibility="public_vis" xmi.id="a159">
	  <Model:EnumerationType.labels>instance_level</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>classifier_level</Model:EnumerationType.labels>
	</Model:EnumerationType>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Feature"
	  visibility="public_vis" xmi.id="a160">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_29"
	      tagId="org.omg.mof.idl_version" xmi.id="a161">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a160"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="scope" scope="instance_level"
	      visibility="public_vis" xmi.id="a162">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a159"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="visibility"
	      scope="instance_level" visibility="public_vis" xmi.id="a163">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a66"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a19"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="StructuralFeature"
	  visibility="public_vis" xmi.id="a164">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_30"
	      tagId="org.omg.mof.idl_version" xmi.id="a165">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a164"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="multiplicity"
	      scope="instance_level" visibility="public_vis" xmi.id="a166">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a133"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isChangeable"
	      scope="instance_level" visibility="public_vis" xmi.id="a167">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a160"/>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Attribute"
	  visibility="public_vis" xmi.id="a168">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_31"
	      tagId="org.omg.mof.idl_version" xmi.id="a169">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a168"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Tag annotation="" name="*tag_32" xmi.id="a170">
	      <Model.Tag.tagId xml:space="preserve">org.omg.mof.idl_substitute_name</Model.Tag.tagId>
	      <Model:Tag.values>MofAttribute</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a168"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isDerived"
	      scope="instance_level" visibility="public_vis" xmi.id="a171">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a164"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Reference"
	  visibility="public_vis" xmi.id="a172">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a173"/>
	    <Model:Constraint xmi.idref="a174"/>
	    <Model:Constraint xmi.idref="a175"/>
	    <Model:Constraint xmi.idref="a176"/>
	    <Model:Constraint xmi.idref="a177"/>
	    <Model:Constraint xmi.idref="a178"/>
	    <Model:Constraint xmi.idref="a179"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_33"
	      tagId="org.omg.mof.idl_version" xmi.id="a180">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a173">
	      <Model.ModelElement.name xml:space="preserve">ReferenceMultiplicityMustMatchEnd</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv: self.multiplicity = self.referencedEnd.multiplicity</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ReferenceMustBeInstanceScoped" xmi.id="a174">
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv: self.scope = #instance_level</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a175">
	      <Model.ModelElement.name xml:space="preserve">ChangeableReferenceMustHaveChangeableEnd</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv: self.isChangeable = self.referencedEnd.isChangeable</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ReferenceTypeMustMatchEndType" xmi.id="a176">
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv: self.type = self.referencedEnd.type</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ReferencedEndMustBeNavigable" xmi.id="a177">
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv: self.referencedEnd.isNavigable</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ContainerMustMatchExposedType" xmi.id="a178">
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv:
self.container.allSupertypes() -&gt; including(self) -&gt;
  includes(self.referencedEnd.otherEnd.type)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ReferencedEndMustBeVisible" xmi.id="a179">
	      <Model.Constraint.expression xml:space="preserve">context Reference
inv: self.isVisible(self.referencedEnd)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a172"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Reference annotation="" isChangeable="true"
	      name="exposedEnd" scope="instance_level"
	      visibility="public_vis" xmi.id="a181">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a182"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a183"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	    <Model:Reference annotation="" isChangeable="true"
	      name="referencedEnd" scope="instance_level"
	      visibility="public_vis" xmi.id="a184">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a182"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a185"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a164"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="true" isLeaf="false"
	  isRoot="false" isSingleton="false" name="BehavioralFeature"
	  visibility="public_vis" xmi.id="a186">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_34"
	      tagId="org.omg.mof.idl_version" xmi.id="a187">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a186"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a160"/>
	    <Model:GeneralizableElement xmi.idref="a56"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Operation"
	  visibility="public_vis" xmi.id="a188">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a189"/>
	    <Model:Constraint xmi.idref="a190"/>
	    <Model:Constraint xmi.idref="a191"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_35"
	      tagId="org.omg.mof.idl_version" xmi.id="a192">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a188"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="OperationContainmentRules" xmi.id="a189">
	      <Model.Constraint.expression xml:space="preserve">context Operation
inv: 
Set{Parameter, Constraint, Tag} -&gt; includesAll(self.contentTypes())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a188"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="OperationsHaveAtMostOneReturn" xmi.id="a190">
	      <Model.Constraint.expression xml:space="preserve">context Operation
inv:
self.contents -&gt; 
  select(c | c.oclIsTypeOf(Parameter)) -&gt;
    select(p : Parameter | p.direction = #return_dir) -&gt; size &lt; 2</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a188"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a191">
	      <Model.ModelElement.name xml:space="preserve">OperationExceptionsMustBeVisible</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context Operation
inv: self.exceptions -&gt; forAll(e | self.isVisible(e))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a188"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isQuery" scope="instance_level"
	      visibility="public_vis" xmi.id="a193">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Reference annotation="" isChangeable="true"
	      name="exceptions" scope="instance_level"
	      visibility="public_vis" xmi.id="a194">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a195"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a196"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a186"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Exception"
	  visibility="public_vis" xmi.id="a195">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a197"/>
	    <Model:Constraint xmi.idref="a198"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_36"
	      tagId="org.omg.mof.idl_version" xmi.id="a199">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a195"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Tag annotation="" name="*tag_37" xmi.id="a200">
	      <Model.Tag.tagId xml:space="preserve">org.omg.mof.idl_substitute_name</Model.Tag.tagId>
	      <Model:Tag.values>MofException</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a195"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Tag annotation="" name="*tag_38"
	      tagId="javax.jmi.substituteName" xmi.id="a201">
	      <Model:Tag.values>MofException</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a195"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ExceptionContainmentRules" xmi.id="a197">
	      <Model.Constraint.expression xml:space="preserve">context Exception
inv: Set{Parameter, Tag}) -&gt; includesAll(self.contentTypes())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a195"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a198">
	      <Model.ModelElement.name xml:space="preserve">ExceptionsHaveOnlyOutParameters</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context Exception
inv:
self.contents -&gt; 
  select(c | c.oclIsTypeOf(Parameter)) -&gt;
    forAll(p : Parameter | p.direction = #out_dir)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a195"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a186"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Association"
	  visibility="public_vis" xmi.id="a202">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a203"/>
	    <Model:Constraint xmi.idref="a204"/>
	    <Model:Constraint xmi.idref="a205"/>
	    <Model:Constraint xmi.idref="a206"/>
	    <Model:Constraint xmi.idref="a207"/>
	    <Model:Constraint xmi.idref="a208"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_39"
	      tagId="org.omg.mof.idl_version" xmi.id="a209">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationContainmentRules" xmi.id="a203">
	      <Model.Constraint.expression xml:space="preserve">context Association
inv: 
Set{AssociationEnd, Constraint, Tag} -&gt;
  includesAll(self.contentTypes())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationsHaveNoSupertypes" xmi.id="a204">
	      <Model.Constraint.expression xml:space="preserve">context Association
inv: self.supertypes -&gt; isEmpty</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationMustBeRootAndLeaf" xmi.id="a205">
	      <Model.Constraint.expression xml:space="preserve">context Association
inv: self.isRoot and self.isLeaf</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationsCannotBeAbstract" xmi.id="a206">
	      <Model.Constraint.expression xml:space="preserve">context Association
inv: not self.isAbstract</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationsMustBePublic" xmi.id="a207">
	      <Model.Constraint.expression xml:space="preserve">context Association
inv: self.visibility = #public_vis</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="AssociationsMustBeBinary" xmi.id="a208">
	      <Model.Constraint.expression xml:space="preserve">context Association
inv: self.contents -&gt; 
select(c | c.oclIsTypeOf(AssociationEnd)) -&gt; size = 2</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a202"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isDerived"
	      scope="instance_level" visibility="public_vis" xmi.id="a210">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a124"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:EnumerationType annotation="" isAbstract="false"
	  isLeaf="true" isRoot="true" name="AggregationKind"
	  visibility="public_vis" xmi.id="a211">
	  <Model:EnumerationType.labels>none</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>shared</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>composite</Model:EnumerationType.labels>
	</Model:EnumerationType>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="AssociationEnd"
	  visibility="public_vis" xmi.id="a182">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a212"/>
	    <Model:Constraint xmi.idref="a213"/>
	    <Model:Constraint xmi.idref="a214"/>
	    <Model:Constraint xmi.idref="a215"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_40"
	      tagId="org.omg.mof.idl_version" xmi.id="a216">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a182"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="EndTypeMustBeClass" xmi.id="a212">
	      <Model.Constraint.expression xml:space="preserve">context AssociationEnd
inv: self.type.oclIsTypeOf(Class)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a182"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="EndsMustBeUnique" xmi.id="a213">
	      <Model.Constraint.expression xml:space="preserve">context AssociationEnd
inv: 
(self.multiplicity.upper &gt; 1 or 
 self.multiplicity.upper = UNBOUNDED) implies
  self.multiplicity.isUnique</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a182"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="CannotHaveTwoOrderedEnds" xmi.id="a214">
	      <Model.Constraint.expression xml:space="preserve">context AssociationEnd
inv:
self.multiplicity.isOrdered implies 
  not self.otherEnd.multiplicity.isOrdered</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a182"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="CannotHaveTwoAggregateEnds" xmi.id="a215">
	      <Model.Constraint.expression xml:space="preserve">context AssociationEnd
inv: 
self.aggregation &lt;&gt; #none implies self.otherEnd = #none</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a182"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isNavigable"
	      scope="instance_level" visibility="public_vis" xmi.id="a217">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="aggregation"
	      scope="instance_level" visibility="public_vis" xmi.id="a218">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a211"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="multiplicity"
	      scope="instance_level" visibility="public_vis" xmi.id="a219">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a133"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isChangeable"
	      scope="instance_level" visibility="public_vis" xmi.id="a220">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Operation annotation="" isQuery="false"
	      name="otherEnd" scope="instance_level"
	      visibility="public_vis" xmi.id="a221">
	      <Model:Namespace.contents>
		<Model:Parameter annotation="" direction="return_dir"
		  name="**result**" xmi.id="a222">
		  <Model:Parameter.multiplicity>
		    <XMI.field>1</XMI.field>
		    <XMI.field>1</XMI.field>
		    <XMI.field>false</XMI.field>
		    <XMI.field>false</XMI.field>
		  </Model:Parameter.multiplicity>
		  <Model:TypedElement.type>
		    <Model:Classifier xmi.idref="a182"/>
		  </Model:TypedElement.type>
		</Model:Parameter>
	      </Model:Namespace.contents>
	    </Model:Operation>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Package"
	  visibility="public_vis" xmi.id="a223">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a224"/>
	    <Model:Constraint xmi.idref="a225"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_41"
	      tagId="org.omg.mof.idl_version" xmi.id="a226">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a223"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Tag annotation="" name="*tag_42"
	      tagId="javax.jmi.substituteName" xmi.id="a227">
	      <Model:Tag.values>MofPackage</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a223"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="PackageContainmentRules" xmi.id="a224">
	      <Model.Constraint.expression xml:space="preserve">context Package
inv:
Set{Package, Class, DataType, Association, Exception, 
    Constant, Constraint, Import, Tag}) -&gt;
  includesAll(self.contentTypes)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a223"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="PackagesCannotBeAbstract" xmi.id="a225">
	      <Model.Constraint.expression xml:space="preserve">context Package
inv: not self.isAbstract</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a223"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a95"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Import"
	  visibility="public_vis" xmi.id="a228">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a229"/>
	    <Model:Constraint xmi.idref="a230"/>
	    <Model:Constraint xmi.idref="a231"/>
	    <Model:Constraint xmi.idref="a232"/>
	    <Model:Constraint xmi.idref="a233"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_43"
	      tagId="org.omg.mof.idl_version" xmi.id="a234">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a228"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ImportedNamespaceMustBeVisible" xmi.id="a229">
	      <Model.Constraint.expression xml:space="preserve">context Import
inv: self.container.isVisible(self.importedNamespace)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a228"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL" xmi.id="a230">
	      <Model.ModelElement.name xml:space="preserve">CanOnlyImportPackagesAndClasses</Model.ModelElement.name>
	      <Model.Constraint.expression xml:space="preserve">context Import
inv:
self.imported.oclIsTypeOf(Class) or
self.imported.oclIsTypeOf(Package)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a228"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="CannotImportSelf" xmi.id="a231">
	      <Model.Constraint.expression xml:space="preserve">context Import
inv: self.container &lt;&gt; self.imported</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a228"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="CannotImportNestedComponents" xmi.id="a232">
	      <Model.Constraint.expression xml:space="preserve">context Import
inv: not self.container.allContents() -&gt; includes(self.imported)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a228"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="NestedPackagesCannotImport" xmi.id="a233">
	      <Model.Constraint.expression xml:space="preserve">context Import
inv:
self.container -&gt; notEmpty implies
  self.container -&gt; asSequence -&gt; first -&gt; container -&gt; isEmpty</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a228"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="visibility"
	      scope="instance_level" visibility="public_vis" xmi.id="a235">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a66"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="isClustered"
	      scope="instance_level" visibility="public_vis" xmi.id="a236">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#Boolean"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Reference annotation="" isChangeable="true"
	      name="importedNamespace" scope="instance_level"
	      visibility="public_vis" xmi.id="a237">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a56"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a238"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a19"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:EnumerationType annotation="" isAbstract="false"
	  isLeaf="true" isRoot="true" name="DirectionKind"
	  visibility="public_vis" xmi.id="a239">
	  <Model:EnumerationType.labels>in_dir</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>out_dir</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>inout_dir</Model:EnumerationType.labels>
	  <Model:EnumerationType.labels>return_dir</Model:EnumerationType.labels>
	</Model:EnumerationType>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Parameter"
	  visibility="public_vis" xmi.id="a240">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_44"
	      tagId="org.omg.mof.idl_version" xmi.id="a241">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a240"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="direction"
	      scope="instance_level" visibility="public_vis" xmi.id="a242">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a239"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="multiplicity"
	      scope="instance_level" visibility="public_vis" xmi.id="a243">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a133"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Constraint"
	  visibility="public_vis" xmi.id="a59">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a244"/>
	    <Model:Constraint xmi.idref="a245"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_45"
	      tagId="org.omg.mof.idl_version" xmi.id="a246">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a59"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="CannotConstrainThisElement" xmi.id="a244">
	      <Model.Constraint.expression xml:space="preserve">context Constraint
inv:
self.constrainedElements -&gt; 
  forAll(c | not Set{Constraint, Tag, Imports, Constant} -&gt; 
		  includes(c.oclType())</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a59"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ConstraintsLimitedToContainer" xmi.id="a245">
	      <Model.Constraint.expression xml:space="preserve">context Constraint
inv:
self.constrainedElements -&gt;
  forAll(c | self.container.extendedNamespace() -&gt; includes(c))</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a59"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="expression"
	      scope="instance_level" visibility="public_vis" xmi.id="a247">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_46"
	      tagId="org.omg.mof.idl_version" xmi.id="a248">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a247"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="language" scope="instance_level"
	      visibility="public_vis" xmi.id="a249">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_47"
	      tagId="org.omg.mof.idl_version" xmi.id="a250">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a249"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:EnumerationType annotation="" isAbstract="false"
	      isLeaf="true" isRoot="true" name="EvaluationKind"
	      visibility="public_vis" xmi.id="a251">
	      <Model:EnumerationType.labels>immediate</Model:EnumerationType.labels>
	      <Model:EnumerationType.labels>deferred</Model:EnumerationType.labels>
	    </Model:EnumerationType>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="evaluationPolicy"
	      scope="instance_level" visibility="public_vis" xmi.id="a252">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a251"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Reference annotation="" isChangeable="true"
	      name="constrainedElements" scope="instance_level"
	      visibility="public_vis" xmi.id="a253">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a254"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a19"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Constant"
	  visibility="public_vis" xmi.id="a255">
	  <Model:ModelElement.constraints>
	    <Model:Constraint xmi.idref="a256"/>
	    <Model:Constraint xmi.idref="a257"/>
	  </Model:ModelElement.constraints>
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_48"
	      tagId="org.omg.mof.idl_version" xmi.id="a258">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a255"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ConstantsValueMustMatchType" xmi.id="a256">
	      <Model.Constraint.expression xml:space="preserve">context Constant
inv: ...</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a255"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Constraint annotation=""
	      evaluationPolicy="deferred" language="OCL"
	      name="ConstantsTypeMustBePrimitive" xmi.id="a257">
	      <Model.Constraint.expression xml:space="preserve">context Constant
inv: self.type.oclIsOfType(PrimitiveType)</Model.Constraint.expression>
	      <Model:Constraint.constrainedElements>
		<Model:ModelElement xmi.idref="a255"/>
	      </Model:Constraint.constrainedElements>
	    </Model:Constraint>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="value" scope="instance_level"
	      visibility="public_vis" xmi.id="a259">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_49"
	      tagId="org.omg.mof.idl_version" xmi.id="a260">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a259"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a119"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Class annotation="" isAbstract="false" isLeaf="false"
	  isRoot="false" isSingleton="false" name="Tag"
	  visibility="public_vis" xmi.id="a261">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_50"
	      tagId="org.omg.mof.idl_version" xmi.id="a262">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a261"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="tagId" scope="instance_level"
	      visibility="public_vis" xmi.id="a263">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_51"
	      tagId="org.omg.mof.idl_version" xmi.id="a264">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a263"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Attribute annotation="" isChangeable="true"
	      isDerived="false" name="values" scope="instance_level"
	      visibility="public_vis" xmi.id="a265">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier href="http://www.omg.org/models/MOF1.4/XMI1.1/Model1.4/PrimitiveTypes.xml#String"/>
	      </Model:TypedElement.type>
	    </Model:Attribute>
	    <Model:Tag annotation="" name="*tag_52"
	      tagId="org.omg.mof.idl_version" xmi.id="a266">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a265"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:Reference annotation="" isChangeable="true"
	      name="elements" scope="instance_level"
	      visibility="public_vis" xmi.id="a267">
	      <Model:StructuralFeature.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:StructuralFeature.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	      <Model:Reference.referencedEnd>
		<Model:AssociationEnd xmi.idref="a268"/>
	      </Model:Reference.referencedEnd>
	    </Model:Reference>
	  </Model:Namespace.contents>
	  <Model:GeneralizableElement.supertypes>
	    <Model:GeneralizableElement xmi.idref="a19"/>
	  </Model:GeneralizableElement.supertypes>
	</Model:Class>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="AttachesTo" visibility="public_vis" xmi.id="a269">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_53"
	      tagId="org.omg.mof.idl_version" xmi.id="a270">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a269"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true"
	      name="modelElement" xmi.id="a268">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="tag" xmi.id="a271">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a261"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="true" isLeaf="true" isRoot="true"
	  name="DependsOn" visibility="public_vis" xmi.id="a272">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_54"
	      tagId="org.omg.mof.idl_version" xmi.id="a273">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a272"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="false" isNavigable="true" name="dependent" xmi.id="a274">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="false" isNavigable="true" name="provider" xmi.id="a32">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="Contains" visibility="public_vis" xmi.id="a275">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_55"
	      tagId="org.omg.mof.idl_version" xmi.id="a276">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a275"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="composite"
	      annotation="" isChangeable="true" isNavigable="true"
	      name="container" xmi.id="a57">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a56"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true"
	      name="containedElement" xmi.id="a77">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="Generalizes" visibility="public_vis" xmi.id="a277">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_56"
	      tagId="org.omg.mof.idl_version" xmi.id="a278">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a277"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="supertype" xmi.id="a109">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a95"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="subtype" xmi.id="a279">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a95"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true" name="Aliases"
	  visibility="public_vis" xmi.id="a280">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_57"
	      tagId="org.omg.mof.idl_version" xmi.id="a281">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a280"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="importer" xmi.id="a282">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a228"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="imported" xmi.id="a238">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a56"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="Constrains" visibility="public_vis" xmi.id="a283">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_58"
	      tagId="org.omg.mof.idl_version" xmi.id="a284">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a283"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="constraint" xmi.id="a60">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a59"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true"
	      name="constrainedElement" xmi.id="a254">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a19"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="CanRaise" visibility="public_vis" xmi.id="a285">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_59"
	      tagId="org.omg.mof.idl_version" xmi.id="a286">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a285"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="operation" xmi.id="a287">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a188"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="except" xmi.id="a196">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>true</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a195"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="true" isLeaf="true" isRoot="true" name="Exposes"
	  visibility="public_vis" xmi.id="a288">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_60"
	      tagId="org.omg.mof.idl_version" xmi.id="a289">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a288"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="referrer" xmi.id="a290">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a172"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="exposedEnd" xmi.id="a183">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a182"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="RefersTo" visibility="public_vis" xmi.id="a291">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_61"
	      tagId="org.omg.mof.idl_version" xmi.id="a292">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a291"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="referent" xmi.id="a293">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a172"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true"
	      name="referencedEnd" xmi.id="a185">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a182"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
	<Model:Association annotation="" isAbstract="false"
	  isDerived="false" isLeaf="true" isRoot="true"
	  name="IsOfType" visibility="public_vis" xmi.id="a294">
	  <Model:Namespace.contents>
	    <Model:Tag annotation="" name="*tag_62"
	      tagId="org.omg.mof.idl_version" xmi.id="a295">
	      <Model:Tag.values>1.4</Model:Tag.values>
	      <Model:Tag.elements>
		<Model:ModelElement xmi.idref="a294"/>
	      </Model:Tag.elements>
	    </Model:Tag>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true" name="type" xmi.id="a125">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>1</XMI.field>
		<XMI.field>1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>false</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a124"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	    <Model:AssociationEnd aggregation="none" annotation=""
	      isChangeable="true" isNavigable="true"
	      name="typedElements" xmi.id="a296">
	      <Model:AssociationEnd.multiplicity>
		<XMI.field>0</XMI.field>
		<XMI.field>-1</XMI.field>
		<XMI.field>false</XMI.field>
		<XMI.field>true</XMI.field>
	      </Model:AssociationEnd.multiplicity>
	      <Model:TypedElement.type>
		<Model:Classifier xmi.idref="a119"/>
	      </Model:TypedElement.type>
	    </Model:AssociationEnd>
	  </Model:Namespace.contents>
	</Model:Association>
      </Model:Namespace.contents>
    </Model:Package>
  </XMI.content>
</XMI>
