<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<!-- <!DOCTYPE XMI SYSTEM 'Model.dtd' > -->
<XMI xmi.version = '1.1' xmlns:Model='org.omg.mof/Model/1.3' timestamp = 'Wed Nov 28 09:21:32 2001' >
 <XMI.header>
  <XMI.documentation>
   <XMI.exporter>Unisys.JCR.1</XMI.exporter>
   <XMI.exporterVersion>1.3.1</XMI.exporterVersion>
  </XMI.documentation>
  <XMI.metamodel xmi.name = 'org.omg.mof.Model' xmi.version = '1.3'/>
 </XMI.header>
<XMI.content>
<!-- ==================== CCMMetamodel    [Package] ==================== -->
<Model:Package xmi.id = 'a3BC2C3F30052' 
  name = 'CCMMetamodel' annotation = '' 
  isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' >
  <Model:Namespace.contents>
    <Model:Package xmi.id = 'a36AE1F250000' 
      name = 'BaseIDL' annotation = '' 
      isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' >
      <Model:Namespace.contents>
        <!-- ==================== .ParameterDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C3CB0222' 
          name = 'ParameterDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9' >
          <Model:Namespace.contents>
            <!-- ==================== .ParameterDef.identifier    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D69D0177' 
              name = 'identifier' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .ParameterDef.direction    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D6A50251' 
              name = 'direction' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a3BC2CCE800EF' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ConstantDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C5FC00AB' 
          name = 'ConstantDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9 a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[1] a ConstantDef must be defined in a Container



**Constraints in OCL **

[1] { definedIn.notEmpty  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <!-- ==================== .ConstantDef.constValue    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D6F800CB' 
              name = 'constValue' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE25700128' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .Typed    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C60203B9' 
          name = 'Typed' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36ACD26101C5' 
              name = 'idlType' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36ACC81F003E' 
              referencedEnd = 'a36ACD26101C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ModuleDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C60C02FD' 
          name = 'ModuleDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19D032C' >
          <Model:ModelElement.annotation>**Constraints in English**

[7] if ModuleDef is defined in a Container, this Container must be another ModuleDef  



**Constraints in OCL **

[7] { definedIn.notEmpty implies  (definedIn.oclIsKindOf (ModuleDef) and definedIn &lt;&gt; self)  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <!-- ==================== .ModuleDef.prefix    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36AE2FED0119' 
              name = 'prefix' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .TypedefDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4CBE00232' 
          name = 'TypedefDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36ACC81F003E a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[2] a TypedefDef must be defined in a Container



**Constraints in OCL **

[2] { definedIn.notEmpty  }</Model:ModelElement.annotation>
        </Model:Class>
        <!-- ==================== .InterfaceDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4CBE501E4' 
          name = 'InterfaceDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36ACC81F003E a36A4C19D032C' >
          <Model:ModelElement.annotation>**Constraints in English**

[8] an InterfaceDef must be defined within a ModuleDef



[10] Abstract ValueDefs may only derive from other abstract ValueDefs

[11] base (if any) refers to a concrete ValueDef

[12] abstractBase refers only to abstract ValueDefs



**Constraints in OCL **

[8] { definedIn.oclIsKindOf (ModuleDef)  }

[10]{  isAbstract implies base-&gt;isEmpty }

[11]{ base-&gt;notEmpty implies not base.isAbstract }

[12]{ abstractBase-&gt;forAll(isAbstract) }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36ACCDEB01B5' 
              name = 'base' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBE501E4' 
              referencedEnd = 'a36ACCDEB01B5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .InterfaceDef.isAbstract    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B9A5E90328' 
              name = 'isAbstract' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .InterfaceDef.isLocal    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a37A2205A00CB' 
              name = 'isLocal' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .Field    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4D44B006D' 
          name = 'Field' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9' >
          <Model:Namespace.contents>
            <!-- ==================== .Field.identifier    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D68803D8' 
              name = 'identifier' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .StructDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4D7F90399' 
          name = 'StructDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE00232' >
          <Model:Namespace.contents>
            <!-- ==================== .StructDef.members    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36AE20BE0203' 
              name = 'members' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36A4D44B006D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .UnionDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4D82201C5' 
          name = 'UnionDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE00232' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36ACD1F2002E' 
              name = 'discriminatorType' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36ACC81F003E' 
              referencedEnd = 'a36ACD1F2002E' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .UnionDef.unionMembers    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36AE20730232' 
              name = 'unionMembers' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36ACD1390290' >
              <Model:ModelElement.annotation>ordered

unique



</Model:ModelElement.annotation>
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .EnumDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4D82F02AF' 
          name = 'EnumDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE00232' >
          <Model:Namespace.contents>
            <!-- ==================== .EnumDef.members    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D84C0232' 
              name = 'members' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:ModelElement.annotation>ordered

unique</Model:ModelElement.annotation>
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .AliasDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4D94200CB' 
          name = 'AliasDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE00232 a36A4C60203B9' />
        <!-- ==================== .IDLType    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACC81F003E' 
          name = 'IDLType' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' >
          <Model:Namespace.contents>
            <!-- ==================== .IDLType.typeCode    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACC836007D' 
              name = 'typeCode' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'false' 
              isDerived = 'true' 
              type = 'a36AE25110222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .StringDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACC96A0280' 
          name = 'StringDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36ACC81F003E' >
          <Model:Namespace.contents>
            <!-- ==================== .StringDef.bound    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACC988009C' 
              name = 'bound' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE2631030D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .WstringDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACC9C7009C' 
          name = 'WstringDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36ACC81F003E' >
          <Model:Namespace.contents>
            <!-- ==================== .WstringDef.bound    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACC9DE0261' 
              name = 'bound' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE2631030D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .FixedDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACCA4A001F' 
          name = 'FixedDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36ACC81F003E' >
          <Model:Namespace.contents>
            <!-- ==================== .FixedDef.digits    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACCA5F03B9' 
              name = 'digits' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC79B0357' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .FixedDef.scale    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACCA74033C' 
              name = 'scale' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE264B0196' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .SequenceDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACCAA10280' 
          name = 'SequenceDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9 a36ACC81F003E' >
          <Model:Namespace.contents>
            <!-- ==================== .SequenceDef.bound    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACCAC00177' 
              name = 'bound' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE2631030D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ArrayDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACCACD035B' 
          name = 'ArrayDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9 a36ACC81F003E' >
          <Model:Namespace.contents>
            <!-- ==================== .ArrayDef.bound    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACCADA02DE' 
              name = 'bound' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE2631030D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .PrimitiveDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACCCA003C8' 
          name = 'PrimitiveDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'true' 
          supertypes = 'a36ACC81F003E' >
          <Model:Namespace.contents>
            <!-- ==================== .PrimitiveDef.kind    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACCCD7036B' 
              name = 'kind' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a3BC2CB6D000E' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .UnionField    [Class] ==================== -->
        <Model:Class xmi.id = 'a36ACD1390290' 
          name = 'UnionField' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9' >
          <Model:Namespace.contents>
            <!-- ==================== .UnionField.identifier    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACD169004E' 
              name = 'identifier' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .UnionField.label    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACD172029F' 
              name = 'label' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE25700128' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .Container    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C19D032C' 
          name = 'Container' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[14] Contained elements have unique names within their Container



**Constraints in OCL **

[14] { contents-&gt;forAll (c0, c1 | c0 &lt;&gt; c1 implies c0.identifier &lt;&gt; c1.identifier)  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36A4D3E300CC' 
              name = 'contents' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4C19500AB' 
              referencedEnd = 'a36A4D3E300CC' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .Container.lookupName    [Operation] ==================== -->
            <Model:Operation xmi.id = 'a36AE29450261' 
              name = 'lookupName' annotation = 'returns Contained [0..*]' 
              scope = 'instance_level' visibility = 'public_vis' 
              isQuery = 'false' >
              <Model:Namespace.contents>
                <Model:Parameter xmi.id = 'XX.1' 
                  name = '*return' annotation = '' 
                  direction = 'return_dir' 
                  type = 'a36A4C19500AB' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.2' 
                  name = 'searchName' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a36BCC78D03C5' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.3' 
                  name = 'levelsToSearch' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a36AE470500FA' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.4' 
                  name = 'limitToType' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a3BC2CD3F0163' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.5' 
                  name = 'excludeInherited' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a36AE261A0222' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
              </Model:Namespace.contents>
            </Model:Operation>
            <!-- ==================== .Container.lookup    [Operation] ==================== -->
            <Model:Operation xmi.id = 'a36B0C2D20148' 
              name = 'lookup' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isQuery = 'false' >
              <Model:Namespace.contents>
                <Model:Parameter xmi.id = 'XX.6' 
                  name = '*return' annotation = '' 
                  direction = 'return_dir' 
                  type = 'a36A4C19500AB' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.7' 
                  name = 'searchName' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a36BCC78D03C5' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
              </Model:Namespace.contents>
            </Model:Operation>
            <!-- ==================== .Container.getFilteredContents    [Operation] ==================== -->
            <Model:Operation xmi.id = 'a36B0C48B005D' 
              name = 'getFilteredContents' annotation = 'returns Contained [0..*]' 
              scope = 'instance_level' visibility = 'public_vis' 
              isQuery = 'false' >
              <Model:Namespace.contents>
                <Model:Parameter xmi.id = 'XX.8' 
                  name = '*return' annotation = '' 
                  direction = 'return_dir' 
                  type = 'a36A4C19500AB' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.9' 
                  name = 'limitToType' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a3BC2CD3F0163' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
                <Model:Parameter xmi.id = 'XX.10' 
                  name = 'includeInherited' annotation = '' 
                  direction = 'in_dir' 
                  type = 'a36AE261A0222' >
                  <Model:Parameter.multiplicity>
                    <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
                  </Model:Parameter.multiplicity>
                </Model:Parameter>
              </Model:Namespace.contents>
            </Model:Operation>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .TypeCode    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36AE25110222' 
          name = 'TypeCode' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcString xmi.tcLength = '0'/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .any    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36AE25700128' 
          name = 'any' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcAny/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .boolean    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36AE261A0222' 
          name = 'boolean' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcBoolean/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .unsigned long    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36AE2631030D' 
          name = 'unsigned long' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcUlong/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .short    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36AE264B0196' 
          name = 'short' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcShort/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .long    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36AE470500FA' 
          name = 'long' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcLong/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .ValueMemberDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B99E11033F' 
          name = 'ValueMemberDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9 a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[5] a ValueMemberDef must be defined within a ValueDef



**Constraints in OCL **

[5] { definedIn.oclIsTypeof  (ValueDef)  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <!-- ==================== .ValueMemberDef.isPublicMember    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B9A1740269' 
              name = 'isPublicMember' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:ModelElement.annotation>//in the CORBA 2.3 IR is 

short access 

//and may assume the values

const short PRIVATE_MEMBER = 0

const short PUBLIC_MEMBER = 1</Model:ModelElement.annotation>
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ValueDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B9A34C0163' 
          name = 'ValueDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19D032C a36ACC81F003E' >
          <Model:ModelElement.annotation>**Constraints in English**

[9] a ValueDef must  be defined within a ModuleDef



**Constraints in OCL **

[9] { definedIn.oclIsKindOf (ModuleDef)  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B9A4C20392' 
              name = 'interfaceDef' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBE501E4' 
              referencedEnd = 'a36B9A4C20392' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B9AB3D03C9' 
              name = 'base' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B9A34C0163' 
              referencedEnd = 'a36B9AB3D03C9' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B9AEF6033E' 
              name = 'abstractBase' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B9A34C0163' 
              referencedEnd = 'a36B9AEF6033E' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .ValueDef.isAbstract    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B9A36903E6' 
              name = 'isAbstract' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .ValueDef.isCustom    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B9A3BC024B' 
              name = 'isCustom' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .ValueDef.isTruncatable    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B9A3CC03B6' 
              name = 'isTruncatable' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ValueBoxDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B9A84F01E0' 
          name = 'ValueBoxDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE00232' />
        <!-- ==================== .string    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36BCC78D03C5' 
          name = 'string' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcString xmi.tcLength = '0'/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .unsigned short    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a36BCC79B0357' 
          name = 'unsigned short' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcUshort/>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .OperationDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C61B02DE' 
          name = 'OperationDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9 a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[4] an OperationDef must be defined within an InterfaceDef or within a ValueDef



**Constraints in OCL **

[4] { definedIn.oclIsKindOf (InterfaceDef) or  definedIn.oclIsKindOf (ValueDef)  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B733740128' 
              name = 'exceptionDef' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBD701C5' 
              referencedEnd = 'a36B733740128' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .OperationDef.isOneway    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D4380213' 
              name = 'isOneway' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .OperationDef.parameters    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36AE23A20196' 
              name = 'parameters' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36A4C3CB0222' >
              <Model:ModelElement.annotation>ordered

unique</Model:ModelElement.annotation>
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .OperationDef.contexts    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B736070148' 
              name = 'contexts' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ExceptionDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4CBD701C5' 
          name = 'ExceptionDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[6] an ExceptionDef must be defined in a Container



**Constraints in OCL **

[6] { definedIn.notEmpty  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <!-- ==================== .ExceptionDef.typeCode    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACCB8D032C' 
              name = 'typeCode' annotation = 'readonly' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'false' 
              isDerived = 'false' 
              type = 'a36AE25110222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .ExceptionDef.members    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36AE209E005D' 
              name = 'members' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36A4D44B006D' >
              <Model:ModelElement.annotation>ordered

unique</Model:ModelElement.annotation>
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'true' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .Contained    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C19500AB' 
          name = 'Contained' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36A4D3E300CB' 
              name = 'definedIn' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4C19D032C' 
              referencedEnd = 'a36A4D3E300CB' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .Contained.identifier    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D49B0261' 
              name = 'identifier' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .Contained.repositoryId    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D61F009C' 
              name = 'repositoryId' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .Contained.version    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D63C036B' 
              name = 'version' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
            <!-- ==================== .Contained.absoluteName    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36ACC26001F4' 
              name = 'absoluteName' annotation = 'readonly' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'false' 
              isDerived = 'true' 
              type = 'a36BCC78D03C5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .AttributeDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36A4C5F60119' 
          name = 'AttributeDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C60203B9 a36A4C19500AB' >
          <Model:ModelElement.annotation>**Constraints in English**

[3] an AttributeDef can must be defined within an InterfaceDef or within a ValueDef



**Constraints in OCL **

[3] { definedIn.oclIsKindOf (InterfaceDef) or  definedIn.oclIsKindOf (ValueDef)  }</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B999DD01E3' 
              name = 'setException' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBD701C5' 
              referencedEnd = 'a36B999DD01E3' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B9988F00F2' 
              name = 'getException' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBD701C5' 
              referencedEnd = 'a36B9988F00F2' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .AttributeDef.isReadonly    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36A4D419007D' 
              name = 'isReadonly' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .PrimitiveKind    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a3BC2CB6D000E' 
          name = 'PrimitiveKind' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcEnum xmi.tcName = 'PrimitiveKind'>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_NULL'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' PK_VOID'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_SHORT'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' PK_LONG'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' PK_USHORT'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_ULONG'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_FLOAT'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_DOUBLE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_BOOLEAN'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_CHAR'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_OCTET'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_ANY'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_LONGDOUBLE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' PK_WSTRING'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_TYPECODE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_WCHAR'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_PRINCIPAL'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_STRING'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_ULONGLONG'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PK_OBJREF'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' PK_LONGLONG'/>
              </XMI.CorbaTcEnum>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .ParameterMode    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a3BC2CCE800EF' 
          name = 'ParameterMode' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcEnum xmi.tcName = 'ParameterMode'>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PARAM_IN'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' PARAM_OUT'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PARAM_INOUT'/>
              </XMI.CorbaTcEnum>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .DefinitionKind    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a3BC2CD3F0163' 
          name = 'DefinitionKind' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcEnum xmi.tcName = 'DefinitionKind'>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_NONE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_ALL'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_ATTRIBUTE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_CONSTANT'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_EXCEPTION'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_INTERFACE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_MODULE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_OPERATION'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_TYPEDEF'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_ALIAS'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_STRUCT'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_UNION'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = ' DK_FIXED'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_ENUM'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_PRIMITIVE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_STRING'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_SEQUENCE'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_WSTRING'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_ARRAY'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'DK_REPOSITORY'/>
              </XMI.CorbaTcEnum>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .InterfaceDerivedFrom    [Association] ==================== -->
        <Model:Association xmi.id = 'a36ACCDE7001F' 
          name = 'InterfaceDerivedFrom' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36ACCDEB01B5' 
              name = 'base' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36ACCDEB01B6' 
              name = 'derived' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .DiscriminatedBy    [Association] ==================== -->
        <Model:Association xmi.id = 'a36ACD1F00119' 
          name = 'DiscriminatedBy' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36ACD1F2002E' 
              name = 'discriminatorType' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36ACC81F003E' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36ACD1F2004E' 
              name = 'unionDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4D82201C5' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .TypedBy    [Association] ==================== -->
        <Model:Association xmi.id = 'a36ACD26001B5' 
          name = 'TypedBy' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36ACD26101C5' 
              name = 'idlType' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36ACC81F003E' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36ACD26101F4' 
              name = 'typed' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4C60203B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Supports    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B9A4C1037C' 
          name = 'Supports' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B9A4C20392' 
              name = 'interfaceDef' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B9A4C203B0' 
              name = 'valueDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B9A34C0163' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .ValueDerivedFrom    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B9AB39023D' 
          name = 'ValueDerivedFrom' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B9AB3D03C9' 
              name = 'base' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B9A34C0163' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B9AB3D03D3' 
              name = 'derived' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B9A34C0163' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .AbstractDerivedFrom    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B9AEF20360' 
          name = 'AbstractDerivedFrom' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B9AEF60334' 
              name = 'abstractDerived' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B9A34C0163' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B9AEF6033E' 
              name = 'abstractBase' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B9A34C0163' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .SetRaises    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B999D500DD' 
          name = 'SetRaises' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B999DD01E3' 
              name = 'setException' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBD701C5' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B999DD020B' 
              name = 'setAttribute' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4C5F60119' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .CanRaise    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B7337002BF' 
          name = 'CanRaise' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B733740128' 
              name = 'exceptionDef' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBD701C5' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B733740157' 
              name = 'operationDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4C61B02DE' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .GetRaises    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B9988E0105' 
          name = 'GetRaises' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B9988F00F2' 
              name = 'getException' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBD701C5' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B9988F0110' 
              name = 'getAttribute' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4C5F60119' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Contains    [Association] ==================== -->
        <Model:Association xmi.id = 'a36A4D3E10157' 
          name = 'Contains' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36A4D3E300CB' 
              name = 'definedIn' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a36A4C19D032C' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36A4D3E300CC' 
              name = 'contents' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4C19500AB' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
      </Model:Namespace.contents>
    </Model:Package>
    <Model:Package xmi.id = 'a3B24B77E01E5' 
      name = 'CIF' annotation = '' 
      isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' >
      <Model:Namespace.contents>
        <!-- ==================== .ArtifactDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a3B24B831005C' 
          name = 'ArtifactDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB' />
        <!-- ==================== .SegmentDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a3B24BA2602BF' 
          name = 'SegmentDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra3B24BA5501EB' 
              name = 'artifact' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a3B24B831005C' 
              referencedEnd = 'a3B24BA5501EB' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra3B966E16029F' 
              name = 'features' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a3B96693C019E' 
              referencedEnd = 'a3B966E16029F' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra3BBC344101D4' 
              name = 'policies' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a3BBC33CB0184' 
              referencedEnd = 'a3BBC344101D4' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .SegmentDef.isSerialized    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a3B9E646602C7' 
              name = 'isSerialized' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ComponentImplDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a3B966CAD0047' 
          name = 'ComponentImplDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19D032C' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra3B966CFD0395' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a3B966CFD0395' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra3B966DEA0269' 
              name = 'segments' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a3B24BA2602BF' 
              referencedEnd = 'a3B966DEA0269' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .ComponentImplDef.category    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a3B9E60F0006A' 
              name = 'category' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a3B9E60B1034E' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ComponentCategory    [DataType] ==================== -->
        <Model:DataType xmi.id = 'a3B9E60B1034E' 
          name = 'ComponentCategory' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' >
          <Model:DataType.typeCode>
            <XMI.CorbaTypeCode>
              <XMI.CorbaTcEnum xmi.tcName = 'ComponentCategory'>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'PROCESS'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'SESSION'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'ENTITY'/>
              <XMI.CorbaTcEnumLabel xmi.tcName = 'SERVICE'/>
              </XMI.CorbaTcEnum>
            </XMI.CorbaTypeCode>
          </Model:DataType.typeCode>
        </Model:DataType>
        <!-- ==================== .Policy    [Class] ==================== -->
        <Model:Class xmi.id = 'a3BBC33CB0184' 
          name = 'Policy' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' />
        <!-- ==================== .HomeImplDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a3BBC36290294' 
          name = 'HomeImplDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19D032C' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra3BBC364C0262' 
              name = 'home' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366EC5CE034B' 
              referencedEnd = 'a3BBC364C0262' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra3BBC36A202A2' 
              name = 'component_impl' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a3B966CAD0047' 
              referencedEnd = 'a3BBC36A202A2' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .A_artifact_segmentDef    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B24BA540063' 
          name = 'A_artifact_segmentDef' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B24BA5501EB' 
              name = 'artifact' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B24B831005C' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B24BA5501ED' 
              name = 'segmentDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B24BA2602BF' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .implements    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B966CFC02DF' 
          name = 'implements' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B966CFD0395' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B966CFD03B3' 
              name = 'componentImplDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B966CAD0047' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .segments    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B966DE90019' 
          name = 'segments' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B966DEA0269' 
              name = 'segments' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B24BA2602BF' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B966DEA0273' 
              name = 'componentImplDef' annotation = '' 
              isNavigable = 'false' aggregation = 'composite' isChangeable = 'true' 
              type = 'a3B966CAD0047' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .implemented_by    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B966E150333' 
          name = 'implemented_by' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B966E16029F' 
              name = 'features' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B96693C019E' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B966E1602A9' 
              name = 'segmentDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B24BA2602BF' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .policies    [Association] ==================== -->
        <Model:Association xmi.id = 'a3BBC34400272' 
          name = 'policies' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3BBC344101D4' 
              name = 'policies' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a3BBC33CB0184' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3BBC344101DE' 
              name = 'segmentDef' annotation = '' 
              isNavigable = 'false' aggregation = 'shared' isChangeable = 'true' 
              type = 'a3B24BA2602BF' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .implements    [Association] ==================== -->
        <Model:Association xmi.id = 'a3BBC364B0170' 
          name = 'implements' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3BBC364C0262' 
              name = 'home' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EC5CE034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3BBC364C0280' 
              name = 'homeImplDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a3BBC36290294' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .manages    [Association] ==================== -->
        <Model:Association xmi.id = 'a3BBC36A003CB' 
          name = 'manages' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3BBC36A202A2' 
              name = 'component_impl' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B966CAD0047' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3BBC36A202B6' 
              name = 'home_impl' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a3BBC36290294' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
      </Model:Namespace.contents>
    </Model:Package>
    <Model:Package xmi.id = 'a36713CFF01F4' 
      name = 'ComponentIDL' annotation = '' 
      isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' >
      <Model:Namespace.contents>
        <!-- ==================== .ComponentDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a366DAD2D03B9' 
          name = 'ComponentDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE501E4 a3B96693C019E' >
          <Model:ModelElement.annotation>**Constraints in English**



[23] A ComponentDef C may be dervied from at most one base. 



[24] Furthermore, that one base must be a ComponentDef

  

[25] A ComponentDef may not define operations



**Constraints in OCL**



[23] {base-&gt;size &lt;= 1}



[24] {base-&gt;notEmpty implies (base-&gt;forAll (oclType = ComponentDef) }



[25] {contents-&gt;forAll (oclType &lt;&gt; OperationDef)}

</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B644BC00F5' 
              name = 'facet' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366EAE8C0271' 
              referencedEnd = 'a36B644BC00F5' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B64A3B00BD' 
              name = 'emits' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B649CA024B' 
              referencedEnd = 'a36B64A3B00BD' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B64A3F0181' 
              name = 'consumes' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B649D30244' 
              referencedEnd = 'a36B64A3F0181' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B739AD03E0' 
              name = 'receptacle' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B7394E025D' 
              referencedEnd = 'a36B739AD03E0' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B78EAA0240' 
              name = 'supports' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBE501E4' 
              referencedEnd = 'a36B78EAA0240' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36D5731A0394' 
              name = 'publishes' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36D572FC03A5' 
              referencedEnd = 'a36D5731A0394' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ProvidesDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a366EAE8C0271' 
          name = 'ProvidesDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB a3B96693C019E' >
          <Model:ModelElement.annotation>**Constraints in English**

[1] A ProvidesDef can be defined only within a ComponentDef



**Constraints in OCL **

[1] {definedIn.oclType = ComponentDef}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B64295002B' 
              name = 'provides' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBE501E4' 
              referencedEnd = 'a36B64295002B' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B644BC00EB' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a36B644BC00EB' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .HomeDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a366EC5CE034B' 
          name = 'HomeDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4CBE501E4' >
          <Model:ModelElement.annotation>**Constraints in English**



[26] A HomeDef may be dervied from at most one base. 



[27] Furthermore, that one base must be a HomeDef

  

**Constraints in OCL**



[26] {base-&gt;size &lt;= 1}



[27] {base-&gt;notEmpty implies  (base-&gt;forAll (oclType = HomeDef)}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B645CD0243' 
              name = 'finder' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B645A401E9' 
              referencedEnd = 'a36B645CD0243' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B779B3033D' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a36B779B3033D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra366EC9C9031C' 
              name = 'factory' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366EC991034B' 
              referencedEnd = 'a366EC9C9031C' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra3B9F7D3402E3' 
              name = 'primary_key' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36B9A34C0163' 
              referencedEnd = 'a3B9F7D3402E3' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra3B9FAF0C0157' 
              name = 'supports' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBE501E4' 
              referencedEnd = 'a3B9FAF0C0157' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .FactoryDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a366EC991034B' 
          name = 'FactoryDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C61B02DE' >
          <Model:ModelElement.annotation>**Constraints in English**

[6] A FactoryDef can be defined only within a HomeDef

[21] The return type must be the same as the type of the component that  the FactoryDef's home manages.



**Constraints in OCL **

[6] {definedIn.oclType = HomeDef}

[21] {type = home.manages.type}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra366EC9C9030D' 
              name = 'home' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366EC5CE034B' 
              referencedEnd = 'a366EC9C9030D' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .FinderDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B645A401E9' 
          name = 'FinderDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C61B02DE' >
          <Model:ModelElement.annotation>**Constraints in English**

[7] A FinderDef can be defined only within a HomeDef

[22] The return type must be the same as the type of the component that the FinderDef's home manages.



**Constraints in OCL **

[7] {definedIn.oclType = HomeDef}

[22] {type = home.manages.type}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B645CD0242' 
              name = 'home' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366EC5CE034B' 
              referencedEnd = 'a36B645CD0242' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .EmitsDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B649CA024B' 
          name = 'EmitsDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a378823BA0115 a3B96693C019E' >
          <Model:ModelElement.annotation>**Constraints in English**

[3] An EmitsDef can be defined only within a ComponentDef



[17]] The ValueDef specified as the event must descend directly or indirectly from Components::EventBase



**Constraints in OCL **

[3] {definedIn.oclType = ComponentDef}

[17] {event.descendsFrom("Components::EventBase")}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B64A3B00B3' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a36B64A3B00B3' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .ConsumesDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B649D30244' 
          name = 'ConsumesDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a378823BA0115 a3B96693C019E' >
          <Model:ModelElement.annotation>**Constraints in English**

[4] A ConsumesDef can be defined only within a ComponentDef

[19] The ValueDef specified as the event must descend directly or indirectly from Components::EventBase



**Constraints in OCL **

[4] {definedIn.oclType = ComponentDef}

[19] {event.descendsFrom("Components::EventBase")}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B64A3F0177' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a36B64A3F0177' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .UsesDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36B7394E025D' 
          name = 'UsesDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB a3B96693C019E' >
          <Model:ModelElement.annotation>**Constraints in English**

[2] A UsesDef can be defined only within a ComponentDef



**Constraints in OCL **

[2] {definedIn.oclType = ComponentDef}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36B739AD03D6' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a36B739AD03D6' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <Model:Reference xmi.id = 'ra36B739F20317' 
              name = 'uses' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a36A4CBE501E4' 
              referencedEnd = 'a36B739F20317' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
            <!-- ==================== .UsesDef.multiple    [Attribute] ==================== -->
            <Model:Attribute xmi.id = 'a36B776250244' 
              name = 'multiple' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              isDerived = 'false' 
              type = 'a36AE261A0222' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Attribute>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .PublishesDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a36D572FC03A5' 
          name = 'PublishesDef' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a378823BA0115 a3B96693C019E' >
          <Model:ModelElement.annotation>**Constraints in English**

[5] A PublsihesDef can be defined only within a ComponentDef

[18] The ValueDef specified as the event must descend directly or indirectly from Components::EventBase





**Constraints in OCL **

[5] {definedIn.oclType = ComponentDef}

[18] [{event.descendsFrom("Components::EventBase")}</Model:ModelElement.annotation>
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra36D5731A038A' 
              name = 'component' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a366DAD2D03B9' 
              referencedEnd = 'a36D5731A038A' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .EventPortDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a378823BA0115' 
          name = 'EventPortDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36A4C19500AB a3B96693C019E' >
          <Model:Namespace.contents>
            <Model:Reference xmi.id = 'ra3B9666180262' 
              name = 'type' annotation = '' 
              scope = 'instance_level' visibility = 'public_vis' 
              isChangeable = 'true' 
              type = 'a3B9666040226' 
              referencedEnd = 'a3B9666180262' >
              <Model:StructuralFeature.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:StructuralFeature.multiplicity>
            </Model:Reference>
          </Model:Namespace.contents>
        </Model:Class>
        <!-- ==================== .EventDef    [Class] ==================== -->
        <Model:Class xmi.id = 'a3B9666040226' 
          name = 'EventDef' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'false' visibility = 'public_vis' 
          isSingleton = 'false' 
          supertypes = 'a36B9A34C0163' />
        <!-- ==================== .ComponentFeature    [Class] ==================== -->
        <Model:Class xmi.id = 'a3B96693C019E' 
          name = 'ComponentFeature' annotation = '' 
          isRoot = 'false' isLeaf = 'false' isAbstract = 'true' visibility = 'public_vis' 
          isSingleton = 'false' />
        <!-- ==================== .Provides_Interface    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B6429400C0' 
          name = 'Provides_Interface' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B64295002B' 
              name = 'provides' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B642950035' 
              name = 'providesDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EAE8C0271' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Facet    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B644BA012F' 
          name = 'Component_Facet' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B644BC00EB' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B644BC00F5' 
              name = 'facet' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EAE8C0271' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Home_Finder    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B645CC016F' 
          name = 'Home_Finder' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B645CD0242' 
              name = 'home' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366EC5CE034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B645CD0243' 
              name = 'finder' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B645A401E9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Emits    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B64A3A0224' 
          name = 'Component_Emits' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B64A3B00B3' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B64A3B00BD' 
              name = 'emits' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B649CA024B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Consumes    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B64A3E008F' 
          name = 'Component_Consumes' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B64A3F0177' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B64A3F0181' 
              name = 'consumes' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B649D30244' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Receptacle    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B739AC010D' 
          name = 'Component_Receptacle' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B739AD03D6' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B739AD03E0' 
              name = 'receptacle' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B7394E025D' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Uses_Interface    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B739F000ED' 
          name = 'Uses_Interface' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B739F20317' 
              name = 'uses' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B739F20321' 
              name = 'usesDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B7394E025D' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Home    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B779B2001B' 
          name = 'Component_Home' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B779B3033D' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B779B30347' 
              name = 'home' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EC5CE034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Supports    [Association] ==================== -->
        <Model:Association xmi.id = 'a36B78E9E0012' 
          name = 'Component_Supports' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36B78EAA0240' 
              name = 'supports' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36B78EAA024A' 
              name = 'components' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Home_Factory    [Association] ==================== -->
        <Model:Association xmi.id = 'a366EC9C9005D' 
          name = 'Home_Factory' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a366EC9C9030D' 
              name = 'home' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366EC5CE034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a366EC9C9031C' 
              name = 'factory' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EC991034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Component_Publishes    [Association] ==================== -->
        <Model:Association xmi.id = 'a36D57318037D' 
          name = 'Component_Publishes' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'true' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a36D5731A038A' 
              name = 'component' annotation = '' 
              isNavigable = 'true' aggregation = 'composite' isChangeable = 'true' 
              type = 'a366DAD2D03B9' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a36D5731A0394' 
              name = 'publishes' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36D572FC03A5' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .Event_Type    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B9666180261' 
          name = 'Event_Type' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B9666180262' 
              name = 'type' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a3B9666040226' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '1' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B9666180263' 
              name = 'event' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a378823BA0115' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .A_primary_key_home    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B9F7D320069' 
          name = 'A_primary_key_home' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B9F7D3402E3' 
              name = 'primary_key' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36B9A34C0163' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '1' is_ordered = 'false' is_unique = 'false' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B9F7D340301' 
              name = 'home' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EC5CE034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
        <!-- ==================== .A_supports_homeDef    [Association] ==================== -->
        <Model:Association xmi.id = 'a3B9FAF0A01B8' 
          name = 'A_supports_homeDef' annotation = '' 
          isRoot = 'true' isLeaf = 'true' isAbstract = 'false' visibility = 'public_vis' 
          isDerived = 'false' >
          <Model:Namespace.contents>
            <Model:AssociationEnd xmi.id = 'a3B9FAF0C0157' 
              name = 'supports' annotation = '' 
              isNavigable = 'true' aggregation = 'none' isChangeable = 'true' 
              type = 'a36A4CBE501E4' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
            <Model:AssociationEnd xmi.id = 'a3B9FAF0C0175' 
              name = 'homeDef' annotation = '' 
              isNavigable = 'false' aggregation = 'none' isChangeable = 'true' 
              type = 'a366EC5CE034B' >
              <Model:AssociationEnd.multiplicity>
                <Model:MultiplicityType lower = '0' upper = '-1' is_ordered = 'false' is_unique = 'true' />
              </Model:AssociationEnd.multiplicity>
            </Model:AssociationEnd>
          </Model:Namespace.contents>
        </Model:Association>
      </Model:Namespace.contents>
    </Model:Package>
  </Model:Namespace.contents>
</Model:Package>
</XMI.content>
</XMI>
