<?xml version='1.0' encoding='UTF-8'?>
<uml:Package xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/3.0.0/UML" name='AddressBook'>
<packagedElement xmi:type='uml:Class' xmi:id='Addr' name='Addr' isAbstract='false' >
<generalization xmi:type='uml:Generalization' general='Target' />
<ownedAttribute xmi:type='uml:Property' xmi:id='email' name='email' isReadOnly='true'>
<type xmi:type="uml:PrimitiveType" href="Boolean"/>
<upperValue xmi:type='uml:LiteralUnlimitedNatural' value='1' />
<lowerValue xmi:type='uml:LiteralInteger' value='1' />
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type='uml:Class' xmi:id='Book' name='Book' isAbstract='false' >
<ownedAttribute xmi:type='uml:Property' xmi:id='names' name='names' isReadOnly='false'>
<type xmi:idref="Name"/>
<upperValue xmi:type='uml:LiteralUnlimitedNatural' value='-1' />
<lowerValue xmi:type='uml:LiteralInteger' value='1' />
</ownedAttribute>
<ownedAttribute xmi:type='uml:Property' xmi:id='addr' name='addr' isReadOnly='false'>
<type xmi:idref="Target"/>
<upperValue xmi:type='uml:LiteralUnlimitedNatural' value='-1' />
<lowerValue xmi:type='uml:LiteralInteger' value='0' />
<qualifier name='a' type='Name' />
</ownedAttribute>
<ownedOperation xmi:type='uml:Operation' name='lookup'>
<ownedParameter xmi:type='uml:Parameter' name='a' type='Name'/>
<ownedParameter xmi:type='uml:Parameter' type='Addr' direction='return'>
<upperValue xmi:type='uml:LiteralUnlimitedNatural' value='-1' />
<lowerValue xmi:type='uml:LiteralInteger' value='0' />
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:type='uml:Operation' name='add'>
<ownedParameter xmi:type='uml:Parameter' name='a' type='Name'/>
<ownedParameter xmi:type='uml:Parameter' name='b' type='Target'/>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type='uml:Class' xmi:id='Name' name='Name' isAbstract='false' >
<generalization xmi:type='uml:Generalization' general='Target' />
<ownedAttribute xmi:type='uml:Property' xmi:id='type' name='type' isReadOnly='true'>
<type xmi:idref="Type"/>
<upperValue xmi:type='uml:LiteralUnlimitedNatural' value='1' />
<lowerValue xmi:type='uml:LiteralInteger' value='1' />
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type='uml:Class' xmi:id='Target' name='Target' isAbstract='true' >
</packagedElement>
<packagedElement xmi:type='uml:Enumeration' xmi:id='Type' name='Type'>
<ownedLiteral xmi:type='uml:EnumerationLiteral' name='Alias'/>
<ownedLiteral xmi:type='uml:EnumerationLiteral' name='Group'/>
</packagedElement>
</uml:Package>