<?xml version = '1.0' encoding = 'ISO-8859-1' ?>
<Metamodel>
  <Package name = 'Contact'>
    <Class name = 'Contact' isAbstract = 'false' supertypes = ''>
      <Attribute name = 'nom' lower = '1' upper = '1' isOrdered = 'false' isUnique = 'false' type = 'PrimitiveTypes::String'/>
      <Attribute name = 'prenom' lower = '1' upper = '1' isOrdered = 'false' isUnique = 'false' type = 'PrimitiveTypes::String'/>
      <Reference name = 'num_fixes' lower = '0' upper = '-1' isOrdered = 'true' isContainer = 'true' type = 'Contact::Num_fixe' opposite = 'Contact::Num_fixe::contact_fixe'/>
      <Reference name = 'num_portables' lower = '0' upper = '-1' isOrdered = 'true' isContainer = 'true' type = 'Contact::Num_portable' opposite = 'Contact::Num_portable::contact_portable'/>
    </Class>
    <Class name = 'Num_fixe' isAbstract = 'false' supertypes = ''>
      <Attribute name = 'numero' lower = '1' upper = '1' isOrdered = 'false' isUnique = 'false' type = 'PrimitiveTypes::String'/>
      <Reference name = 'contact_fixe' lower = '1' upper = '1' isOrdered = 'false' isContainer = 'false' type = 'Contact::Contact' opposite = 'Contact::Contact::num_fixes'/>
    </Class>
    <Class name = 'Num_portable' isAbstract = 'false' supertypes = ''>
      <Attribute name = 'numero' lower = '1' upper = '1' isOrdered = 'false' isUnique = 'false' type = 'PrimitiveTypes::String'/>
      <Reference name = 'contact_portable' lower = '1' upper = '1' isOrdered = 'false' isContainer = 'false' type = 'Contact::Contact' opposite = 'Contact::Contact::num_portables'/>
    </Class>
  </Package>
  <Package name = 'PrimitiveTypes'>
    <DataType name = 'Integer'/>
    <DataType name = 'String'/>
    <DataType name = 'Boolean'/>
  </Package>
</Metamodel>
