<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_S5v-MErBEeuXmMxXDJeMJA" name="SDI" URI="">
  <ownedComment xmi:type="uml:Comment" xmi:id="_aaKzQFz3EeuhbZ2aKT7LXw">
    <body>Pre-requisite: User must be logged in</body>
  </ownedComment>
  <packageImport xmi:type="uml:PackageImport" xmi:id="_S9Nh4ErBEeuXmMxXDJeMJA">
    <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
  </packageImport>
  <packagedElement xmi:type="uml:Interaction" xmi:id="_xWplgErBEeuXmMxXDJeMJA" name="Interaction2"/>
  <packagedElement xmi:type="uml:StateMachine" xmi:id="_XB5C0ErCEeuXmMxXDJeMJA" name="StateMachine3">
    <region xmi:type="uml:Region" xmi:id="_YQp8AErCEeuXmMxXDJeMJA" name="Region1">
      <subvertex xmi:type="uml:Pseudostate" xmi:id="_ZR8Z4ErCEeuXmMxXDJeMJA" name="Initial1"/>
    </region>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_BB1ogFEDEeu_FLOHG8xOiA" name="User"/>
  <packagedElement xmi:type="uml:Actor" xmi:id="_CgqW8FEDEeu_FLOHG8xOiA" name="Server"/>
  <packagedElement xmi:type="uml:Actor" xmi:id="_Db-vsFEDEeu_FLOHG8xOiA" name="Admin"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_M1dAgFEDEeu_FLOHG8xOiA" name="Login"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_OEFW0FEDEeu_FLOHG8xOiA" name="Logout"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_TCE60FEDEeu_FLOHG8xOiA" name="Join chatroom"/>
  <packagedElement xmi:type="uml:Class" xmi:id="_XQ8H8FEDEeu_FLOHG8xOiA" name="User">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_og2rYFEVEeuE1ZThcLnWlQ" name="UserID" isStatic="true">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_edgFMFEXEeuE1ZThcLnWlQ" name="Name" visibility="public">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_tFzbAFHKEeuyzNSi8MGzrQ" name="Status">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_1uXYEGI4EeuaXbx1SB4VAQ" name="aUser" type="_XQ8H8FEDEeu_FLOHG8xOiA"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_fN5x8FEYEeuE1ZThcLnWlQ" name="ChangeName"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_qPafUF2UEeuaGLTSMcVHzg" name="SubscribeToRoom"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_tU30YF2UEeuaGLTSMcVHzg" name="UnSubscribeToRoom"/>
  </packagedElement>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_HOtlAFEEEeu_FLOHG8xOiA" name="Subscribe to chatroom"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_YDOrEFEEEeu_FLOHG8xOiA" name="Unsubscribe from chatroom"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_SI-y0FEHEeuyqdHN2G9NDg" name="Add moderator"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_UC3FkFEHEeuyqdHN2G9NDg" name="Remove moderator"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_ZFstUFEHEeuyqdHN2G9NDg" name="Send Message"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_t-PpgFEHEeuyqdHN2G9NDg" name="View chatroom"/>
  <packagedElement xmi:type="uml:Actor" xmi:id="_CQD84FEIEeuyqdHN2G9NDg" name="Moderator"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_DPOT0FEIEeuyqdHN2G9NDg" name="Remove message"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_ViNjAFEIEeuyqdHN2G9NDg" name="View Contacts"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_aL0LYFEIEeuyqdHN2G9NDg" name="Create chatroom"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_fdrtoFEIEeuyqdHN2G9NDg" name="Change password"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_nmAfoFEIEeuyqdHN2G9NDg" name="Delete chatroom"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_p0meIFEIEeuyqdHN2G9NDg" name="Change Profile picture"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_vfm5IFEIEeuyqdHN2G9NDg" name="Upload Image"/>
  <packagedElement xmi:type="uml:UseCase" xmi:id="_xvPZcFEIEeuyqdHN2G9NDg" name="Download Image"/>
  <packagedElement xmi:type="uml:Class" xmi:id="_nBp-8FEUEeuE1ZThcLnWlQ" name="Message" visibility="protected">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_gAKnQFEWEeuE1ZThcLnWlQ" name="MessageContent">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_R82BAFEXEeuE1ZThcLnWlQ" name="TimeStamp">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDate"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_Rmkh4FHOEeuyzNSi8MGzrQ" name="User" visibility="protected" type="_XQ8H8FEDEeu_FLOHG8xOiA"/>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_6wGzoGI4EeuaXbx1SB4VAQ" name="aMessage" type="_nBp-8FEUEeuE1ZThcLnWlQ"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="__pJKsFEXEeuE1ZThcLnWlQ" name="GetMessage"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_pllUQFEUEeuE1ZThcLnWlQ" name="Channel" visibility="protected">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_sqPQsFEXEeuE1ZThcLnWlQ" name="ChatRoomTitle">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_y4rOkF5tEeuoDf1G-rjmnQ" name="Description">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_6fg9cGI5EeuaXbx1SB4VAQ" name="aChannel" type="_pllUQFEUEeuE1ZThcLnWlQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_UB9lUFEVEeuE1ZThcLnWlQ" name="Media">
    <generalization xmi:type="uml:Generalization" xmi:id="_gwNP8FHNEeuyzNSi8MGzrQ" general="_nBp-8FEUEeuE1ZThcLnWlQ"/>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_fuRc8F5yEeuoDf1G-rjmnQ" name="MediaId">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
    </ownedAttribute>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_-wEDEFEWEeuE1ZThcLnWlQ" name="Download"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_BpfHQFEXEeuE1ZThcLnWlQ" name="Image">
    <generalization xmi:type="uml:Generalization" xmi:id="_Y1L6IFHNEeuyzNSi8MGzrQ" general="_UB9lUFEVEeuE1ZThcLnWlQ"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_KenU4FEXEeuE1ZThcLnWlQ" name="View"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_HmQIAF-6EeudaKQrmQOL2g" name="Get"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_Ec8GUFEXEeuE1ZThcLnWlQ" name="Video">
    <generalization xmi:type="uml:Generalization" xmi:id="_bQAWwFHNEeuyzNSi8MGzrQ" general="_UB9lUFEVEeuE1ZThcLnWlQ"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_FyMpEFEXEeuE1ZThcLnWlQ" name="Play"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_HxpYUFEXEeuE1ZThcLnWlQ" name="Stop"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_KySSAFHLEeuyzNSi8MGzrQ" name="Moderator" visibility="protected">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_rE19AF-5EeudaKQrmQOL2g" name="Moderator" type="_XQ8H8FEDEeu_FLOHG8xOiA">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_u2Xt4F-5EeudaKQrmQOL2g"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_u2bYQF-5EeudaKQrmQOL2g" value="*"/>
    </ownedAttribute>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_9ApwYFEVEeuE1ZThcLnWlQ" name="AddUser" visibility="protected"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_oEC68F-4EeudaKQrmQOL2g" name="RemoveUser"/>
    <nestedClassifier xmi:type="uml:PrimitiveType" xmi:id="_X6YIsF-4EeudaKQrmQOL2g" name=""/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_OWuCEFHLEeuyzNSi8MGzrQ" name="Admin" visibility="protected">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_UDBcoF-4EeudaKQrmQOL2g" name="Admin" type="_XQ8H8FEDEeu_FLOHG8xOiA"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_we7WIFHOEeuyzNSi8MGzrQ" name="AddModerator" visibility="private"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_BNSw4FHPEeuyzNSi8MGzrQ" name="RemoveModerator" visibility="private"/>
    <ownedOperation xmi:type="uml:Operation" xmi:id="_wyUMwF5yEeuoDf1G-rjmnQ" name="ChangeAdmin" visibility="private"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_qX3twFHNEeuyzNSi8MGzrQ" name="Sends" memberEnd="_qX3tw1HNEeuyzNSi8MGzrQ _qX4U0FHNEeuyzNSi8MGzrQ">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qX3twVHNEeuyzNSi8MGzrQ" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qX3twlHNEeuyzNSi8MGzrQ" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_qX3tw1HNEeuyzNSi8MGzrQ" name="message" type="_nBp-8FEUEeuE1ZThcLnWlQ" association="_qX3twFHNEeuyzNSi8MGzrQ">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sPldUFHNEeuyzNSi8MGzrQ"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sP0G0FHNEeuyzNSi8MGzrQ" value="*"/>
    </ownedEnd>
    <ownedEnd xmi:type="uml:Property" xmi:id="_qX4U0FHNEeuyzNSi8MGzrQ" name="user" type="_XQ8H8FEDEeu_FLOHG8xOiA" association="_qX3twFHNEeuyzNSi8MGzrQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Package" xmi:id="_MsJT8Fy-Eeu1RaWnon4lBg" name="Messaging Application">
    <packagedElement xmi:type="uml:UseCase" xmi:id="_RKw0UFy-Eeu1RaWnon4lBg" name="Input login credentials">
      <include xmi:type="uml:Include" xmi:id="_uLtlkFy_Eeu1RaWnon4lBg" addition="_eEUEMFy_Eeu1RaWnon4lBg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_eEUEMFy_Eeu1RaWnon4lBg" name="Authorise credentials">
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_nywqAFzAEeu1RaWnon4lBg" name="ExtensionPoint1"/>
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_oWfCIFzAEeu1RaWnon4lBg" name="ExtensionPoint2"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_geZEgFzAEeu1RaWnon4lBg" name="Valid Password">
      <extend xmi:type="uml:Extend" xmi:id="_nywC8FzAEeu1RaWnon4lBg" extendedCase="_eEUEMFy_Eeu1RaWnon4lBg" extensionLocation="_nywqAFzAEeu1RaWnon4lBg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_hP0hcFzAEeu1RaWnon4lBg" name="Invalid Password">
      <extend xmi:type="uml:Extend" xmi:id="_oWebEFzAEeu1RaWnon4lBg" extendedCase="_eEUEMFy_Eeu1RaWnon4lBg" extensionLocation="_oWfCIFzAEeu1RaWnon4lBg"/>
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_fd4iYFzDEeu1RaWnon4lBg" name="ExtensionPoint2"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_TI8LwF6AEeu8qc6zsVCMZQ" name="Login">
      <include xmi:type="uml:Include" xmi:id="_Zn-rwF6AEeu8qc6zsVCMZQ" addition="_RKw0UFy-Eeu1RaWnon4lBg"/>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_PcdfcFy-Eeu1RaWnon4lBg" name="Existing User"/>
  <packagedElement xmi:type="uml:Actor" xmi:id="_3DxLYFy_Eeu1RaWnon4lBg" name="User Credentials Database"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_7hes0Fy_Eeu1RaWnon4lBg"/>
  <packagedElement xmi:type="uml:Package" xmi:id="_ZRZAYFzCEeu1RaWnon4lBg" name="Logout">
    <packagedElement xmi:type="uml:UseCase" xmi:id="_gC_3EFzCEeu1RaWnon4lBg" name="Logout"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_eNKW0FzCEeu1RaWnon4lBg" name="User"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_rRmdgFzCEeu1RaWnon4lBg" memberEnd="_rRmdg1zCEeu1RaWnon4lBg _rRmdhFzCEeu1RaWnon4lBg">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rRmdgVzCEeu1RaWnon4lBg" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rRmdglzCEeu1RaWnon4lBg" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_rRmdg1zCEeu1RaWnon4lBg" name="logout" type="_gC_3EFzCEeu1RaWnon4lBg" association="_rRmdgFzCEeu1RaWnon4lBg"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_rRmdhFzCEeu1RaWnon4lBg" name="user" type="_eNKW0FzCEeu1RaWnon4lBg" association="_rRmdgFzCEeu1RaWnon4lBg"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="__TheQFzDEeu1RaWnon4lBg" memberEnd="__TiFUlzDEeu1RaWnon4lBg __TiFU1zDEeu1RaWnon4lBg">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="__TiFUFzDEeu1RaWnon4lBg" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="__TiFUVzDEeu1RaWnon4lBg" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="__TiFUlzDEeu1RaWnon4lBg" name="input login credentials" type="_TI8LwF6AEeu8qc6zsVCMZQ" association="__TheQFzDEeu1RaWnon4lBg"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="__TiFU1zDEeu1RaWnon4lBg" name="existing user" type="_PcdfcFy-Eeu1RaWnon4lBg" association="__TheQFzDEeu1RaWnon4lBg"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Package" xmi:id="_8ivjQFzEEeu1RaWnon4lBg" name="Messaging Application">
    <packagedElement xmi:type="uml:UseCase" xmi:id="_AZbg8FzFEeu1RaWnon4lBg" name="Send Message">
      <include xmi:type="uml:Include" xmi:id="_VpDgYFzFEeu1RaWnon4lBg" addition="_Bvn30FzFEeu1RaWnon4lBg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_Bvn30FzFEeu1RaWnon4lBg" name="Validate Connection">
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_XZ1hgVzFEeu1RaWnon4lBg" name="ExtensionPoint1"/>
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_X7dn4VzFEeu1RaWnon4lBg" name="ExtensionPoint2"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_DLMd8FzFEeu1RaWnon4lBg" name="User Offline">
      <extend xmi:type="uml:Extend" xmi:id="_X7dn4FzFEeu1RaWnon4lBg" extendedCase="_Bvn30FzFEeu1RaWnon4lBg" extensionLocation="_X7dn4VzFEeu1RaWnon4lBg"/>
      <include xmi:type="uml:Include" xmi:id="_kxUgAFzFEeu1RaWnon4lBg" addition="_eEL5oFzFEeu1RaWnon4lBg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_GJKq8FzFEeu1RaWnon4lBg" name="User Online">
      <extend xmi:type="uml:Extend" xmi:id="_XZ1hgFzFEeu1RaWnon4lBg" extendedCase="_Bvn30FzFEeu1RaWnon4lBg" extensionLocation="_XZ1hgVzFEeu1RaWnon4lBg"/>
      <include xmi:type="uml:Include" xmi:id="_amNW4FzFEeu1RaWnon4lBg" addition="_Hw6E0FzFEeu1RaWnon4lBg"/>
      <include xmi:type="uml:Include" xmi:id="_cJyCcFzFEeu1RaWnon4lBg" addition="_I-NlcFzFEeu1RaWnon4lBg"/>
      <include xmi:type="uml:Include" xmi:id="_qkFZwFzOEeu1RaWnon4lBg" addition="_gtRssFzOEeu1RaWnon4lBg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_Hw6E0FzFEeu1RaWnon4lBg" name="Update Chat"/>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_I-NlcFzFEeu1RaWnon4lBg" name="Notify Contact"/>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_eEL5oFzFEeu1RaWnon4lBg" name="Store Message">
      <include xmi:type="uml:Include" xmi:id="_5RCsgFzFEeu1RaWnon4lBg" addition="_Bvn30FzFEeu1RaWnon4lBg"/>
      <include xmi:type="uml:Include" xmi:id="_61EEAFzFEeu1RaWnon4lBg" addition="_tkMD0FzFEeu1RaWnon4lBg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_tkMD0FzFEeu1RaWnon4lBg" name="Update Database"/>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_gtRssFzOEeu1RaWnon4lBg" name="Update logs">
      <include xmi:type="uml:Include" xmi:id="_sB6psFzOEeu1RaWnon4lBg" addition="_tkMD0FzFEeu1RaWnon4lBg"/>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_-f8PwFzEEeu1RaWnon4lBg" name="User"/>
  <packagedElement xmi:type="uml:Actor" xmi:id="_Ksvj0FzFEeu1RaWnon4lBg" name="Chat Database"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_TeyBMFzFEeu1RaWnon4lBg" memberEnd="_TeyoQFzFEeu1RaWnon4lBg _TeyoQVzFEeu1RaWnon4lBg">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_TeyBMVzFEeu1RaWnon4lBg" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_TeyBMlzFEeu1RaWnon4lBg" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_TeyoQFzFEeu1RaWnon4lBg" name="send message" type="_AZbg8FzFEeu1RaWnon4lBg" association="_TeyBMFzFEeu1RaWnon4lBg"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_TeyoQVzFEeu1RaWnon4lBg" name="user" type="_-f8PwFzEEeu1RaWnon4lBg" association="_TeyBMFzFEeu1RaWnon4lBg"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_7q0AQFzFEeu1RaWnon4lBg" memberEnd="_7q0nUlzFEeu1RaWnon4lBg _7q0nU1zFEeu1RaWnon4lBg">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7q0nUFzFEeu1RaWnon4lBg" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7q0nUVzFEeu1RaWnon4lBg" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_7q0nUlzFEeu1RaWnon4lBg" name="update database" type="_tkMD0FzFEeu1RaWnon4lBg" association="_7q0AQFzFEeu1RaWnon4lBg"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_7q0nU1zFEeu1RaWnon4lBg" name="chat database" type="_Ksvj0FzFEeu1RaWnon4lBg" association="_7q0AQFzFEeu1RaWnon4lBg"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Activity" xmi:id="_ZJbysFzMEeu1RaWnon4lBg" name="Login" node="_d2n6kFzMEeu1RaWnon4lBg _5JiSIFzMEeu1RaWnon4lBg _Ep2ToFzNEeu1RaWnon4lBg _n1lBkFzNEeu1RaWnon4lBg">
    <edge xmi:type="uml:ControlFlow" xmi:id="_ZYYYMFzNEeu1RaWnon4lBg" target="_Ep2ToFzNEeu1RaWnon4lBg" source="_5JiSIFzMEeu1RaWnon4lBg"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_aKcuUFzNEeu1RaWnon4lBg" target="_5JiSIFzMEeu1RaWnon4lBg" source="_d2n6kFzMEeu1RaWnon4lBg"/>
    <node xmi:type="uml:InitialNode" xmi:id="_d2n6kFzMEeu1RaWnon4lBg" outgoing="_aKcuUFzNEeu1RaWnon4lBg"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_5JiSIFzMEeu1RaWnon4lBg" name="Input login credentials" incoming="_aKcuUFzNEeu1RaWnon4lBg" outgoing="_ZYYYMFzNEeu1RaWnon4lBg"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_Ep2ToFzNEeu1RaWnon4lBg" name="Authorise Credentials" incoming="_ZYYYMFzNEeu1RaWnon4lBg"/>
    <node xmi:type="uml:DecisionNode" xmi:id="_n1lBkFzNEeu1RaWnon4lBg" name="DecisionNode6"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Interaction" xmi:id="_wqB88FzREeuxoPJc13bXVw" name="Send Message">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_ul9VgGI5EeuaXbx1SB4VAQ" name="" type="_BpfHQFEXEeuE1ZThcLnWlQ"/>
    <lifeline xmi:type="uml:Lifeline" xmi:id="_3xzPcGI4EeuaXbx1SB4VAQ" name="Lifeline3" represents="_6wGzoGI4EeuaXbx1SB4VAQ" coveredBy="_QJnAcGI8EeuaXbx1SB4VAQ _jAF-QWI8EeuaXbx1SB4VAQ _dF4poGI8EeuaXbx1SB4VAQ _N49McWI8EeuaXbx1SB4VAQ _N48lYGI8EeuaXbx1SB4VAQ"/>
    <lifeline xmi:type="uml:Lifeline" xmi:id="_YGmhoGI7EeuaXbx1SB4VAQ" name="Lifeline5" represents="_rRmdhFzCEeu1RaWnon4lBg" coveredBy="_jAF-QGI8EeuaXbx1SB4VAQ _BKhyAGI8EeuaXbx1SB4VAQ _BKhK8GI8EeuaXbx1SB4VAQ _dF4poWI8EeuaXbx1SB4VAQ _BKhyAWI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_QJnAcGI8EeuaXbx1SB4VAQ" name="Message14SendEvent" covered="_3xzPcGI4EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_N48lYGI8EeuaXbx1SB4VAQ" name="BehaviorExecutionSpecification11" covered="_3xzPcGI4EeuaXbx1SB4VAQ" finish="_N49McWI8EeuaXbx1SB4VAQ" start="_QJnAcGI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_jAF-QGI8EeuaXbx1SB4VAQ" name="Message17SendEvent" covered="_YGmhoGI7EeuaXbx1SB4VAQ" message="_jAFXMGI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_jAF-QWI8EeuaXbx1SB4VAQ" name="Message17ReceiveEvent" covered="_3xzPcGI4EeuaXbx1SB4VAQ" message="_jAFXMGI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_dF4poGI8EeuaXbx1SB4VAQ" name="Message14SendEvent" covered="_3xzPcGI4EeuaXbx1SB4VAQ" message="_dF3bgGI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_BKhyAGI8EeuaXbx1SB4VAQ" name="BehaviorExecutionSpecification11Start" covered="_YGmhoGI7EeuaXbx1SB4VAQ" execution="_BKhK8GI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_dF4poWI8EeuaXbx1SB4VAQ" name="Message14ReceiveEvent" covered="_YGmhoGI7EeuaXbx1SB4VAQ" message="_dF3bgGI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_BKhyAWI8EeuaXbx1SB4VAQ" name="BehaviorExecutionSpecification11Finish" covered="_YGmhoGI7EeuaXbx1SB4VAQ" execution="_BKhK8GI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:ExecutionOccurrenceSpecification" xmi:id="_N49McWI8EeuaXbx1SB4VAQ" name="BehaviorExecutionSpecification11Finish" covered="_3xzPcGI4EeuaXbx1SB4VAQ" execution="_N48lYGI8EeuaXbx1SB4VAQ"/>
    <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_BKhK8GI8EeuaXbx1SB4VAQ" name="BehaviorExecutionSpecification11" covered="_YGmhoGI7EeuaXbx1SB4VAQ" finish="_BKhyAWI8EeuaXbx1SB4VAQ"/>
    <message xmi:type="uml:Message" xmi:id="_dF3bgGI8EeuaXbx1SB4VAQ" name="Message14" messageSort="asynchCall" receiveEvent="_dF4poWI8EeuaXbx1SB4VAQ" sendEvent="_dF4poGI8EeuaXbx1SB4VAQ" signature="__pJKsFEXEeuE1ZThcLnWlQ"/>
    <message xmi:type="uml:Message" xmi:id="_jAFXMGI8EeuaXbx1SB4VAQ" name="messageContents" messageSort="reply" receiveEvent="_jAF-QWI8EeuaXbx1SB4VAQ" sendEvent="_jAF-QGI8EeuaXbx1SB4VAQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Activity" xmi:id="_dqp-gFz1EeuhbZ2aKT7LXw" name="Messaging Application" node="_nced4Fz1EeuhbZ2aKT7LXw _qLJDkFz1EeuhbZ2aKT7LXw _yzI0IFz1EeuhbZ2aKT7LXw _47VhcFz1EeuhbZ2aKT7LXw _CjknAFz2EeuhbZ2aKT7LXw _MhY7AFz2EeuhbZ2aKT7LXw _XZVU8Fz2EeuhbZ2aKT7LXw _bIg8cFz2EeuhbZ2aKT7LXw _fMUJEFz2EeuhbZ2aKT7LXw _hOv64Fz2EeuhbZ2aKT7LXw _o-6rkFz2EeuhbZ2aKT7LXw _0vWMsFz2EeuhbZ2aKT7LXw">
    <edge xmi:type="uml:ControlFlow" xmi:id="_r5ElAFz1EeuhbZ2aKT7LXw" target="_qLJDkFz1EeuhbZ2aKT7LXw" source="_nced4Fz1EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_yzsNwFz1EeuhbZ2aKT7LXw" target="_yzI0IFz1EeuhbZ2aKT7LXw" source="_qLJDkFz1EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_47n1UFz1EeuhbZ2aKT7LXw" name="User is Offline" target="_47VhcFz1EeuhbZ2aKT7LXw" source="_yzI0IFz1EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_Cj6lQFz2EeuhbZ2aKT7LXw" name="User is Online" target="_CjknAFz2EeuhbZ2aKT7LXw" source="_yzI0IFz1EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_MhsdAFz2EeuhbZ2aKT7LXw" target="_MhY7AFz2EeuhbZ2aKT7LXw" source="_CjknAFz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_XZu9kFz2EeuhbZ2aKT7LXw" target="_XZVU8Fz2EeuhbZ2aKT7LXw" source="_MhY7AFz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_bI2ToFz2EeuhbZ2aKT7LXw" target="_bIg8cFz2EeuhbZ2aKT7LXw" source="_XZVU8Fz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_fMrVcFz2EeuhbZ2aKT7LXw" target="_fMUJEFz2EeuhbZ2aKT7LXw" source="_XZVU8Fz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_hPJjgFz2EeuhbZ2aKT7LXw" target="_hOv64Fz2EeuhbZ2aKT7LXw" source="_XZVU8Fz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_o_cQAFz2EeuhbZ2aKT7LXw" target="_o-6rkFz2EeuhbZ2aKT7LXw" source="_fMUJEFz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_tLQwMFz2EeuhbZ2aKT7LXw" target="_o-6rkFz2EeuhbZ2aKT7LXw" source="_bIg8cFz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_vT53sFz2EeuhbZ2aKT7LXw" target="_o-6rkFz2EeuhbZ2aKT7LXw" source="_hOv64Fz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_20VjQFz2EeuhbZ2aKT7LXw" target="_0vWMsFz2EeuhbZ2aKT7LXw" source="_o-6rkFz2EeuhbZ2aKT7LXw"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_AO4yIFz3EeuhbZ2aKT7LXw" name="Loop back to check status until User is Online" target="_yzI0IFz1EeuhbZ2aKT7LXw" source="_47VhcFz1EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:InitialNode" xmi:id="_nced4Fz1EeuhbZ2aKT7LXw" outgoing="_r5ElAFz1EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_qLJDkFz1EeuhbZ2aKT7LXw" name="Send a message through the chat" incoming="_r5ElAFz1EeuhbZ2aKT7LXw" outgoing="_yzsNwFz1EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:DecisionNode" xmi:id="_yzI0IFz1EeuhbZ2aKT7LXw" name="Check user connection" incoming="_yzsNwFz1EeuhbZ2aKT7LXw _AO4yIFz3EeuhbZ2aKT7LXw" outgoing="_47n1UFz1EeuhbZ2aKT7LXw _Cj6lQFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_47VhcFz1EeuhbZ2aKT7LXw" name="Store message in Database" incoming="_47n1UFz1EeuhbZ2aKT7LXw" outgoing="_AO4yIFz3EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_CjknAFz2EeuhbZ2aKT7LXw" name="Retrieve any stored messages" incoming="_Cj6lQFz2EeuhbZ2aKT7LXw" outgoing="_MhsdAFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_MhY7AFz2EeuhbZ2aKT7LXw" name="Create queue of messages to be sent" incoming="_MhsdAFz2EeuhbZ2aKT7LXw" outgoing="_XZu9kFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:ForkNode" xmi:id="_XZVU8Fz2EeuhbZ2aKT7LXw" incoming="_XZu9kFz2EeuhbZ2aKT7LXw" outgoing="_bI2ToFz2EeuhbZ2aKT7LXw _fMrVcFz2EeuhbZ2aKT7LXw _hPJjgFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_bIg8cFz2EeuhbZ2aKT7LXw" name="Notify the receiver" incoming="_bI2ToFz2EeuhbZ2aKT7LXw" outgoing="_tLQwMFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_fMUJEFz2EeuhbZ2aKT7LXw" name="Update the chat log file" incoming="_fMrVcFz2EeuhbZ2aKT7LXw" outgoing="_o_cQAFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_hOv64Fz2EeuhbZ2aKT7LXw" name="Update the chat" incoming="_hPJjgFz2EeuhbZ2aKT7LXw" outgoing="_vT53sFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:JoinNode" xmi:id="_o-6rkFz2EeuhbZ2aKT7LXw" name="" incoming="_o_cQAFz2EeuhbZ2aKT7LXw _tLQwMFz2EeuhbZ2aKT7LXw _vT53sFz2EeuhbZ2aKT7LXw" outgoing="_20VjQFz2EeuhbZ2aKT7LXw"/>
    <node xmi:type="uml:ActivityFinalNode" xmi:id="_0vWMsFz2EeuhbZ2aKT7LXw" incoming="_20VjQFz2EeuhbZ2aKT7LXw"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Activity" xmi:id="_BByOkF5_Eeu8qc6zsVCMZQ" name="Messaging Application" node="_GhJaQF5_Eeu8qc6zsVCMZQ _IbxT4F5_Eeu8qc6zsVCMZQ _QvQ0EF5_Eeu8qc6zsVCMZQ _YUYyYF5_Eeu8qc6zsVCMZQ _euoR8F5_Eeu8qc6zsVCMZQ _xVb1AF5_Eeu8qc6zsVCMZQ">
    <edge xmi:type="uml:ControlFlow" xmi:id="_IcBykF5_Eeu8qc6zsVCMZQ" target="_IbxT4F5_Eeu8qc6zsVCMZQ" source="_GhJaQF5_Eeu8qc6zsVCMZQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_QvjvAF5_Eeu8qc6zsVCMZQ" target="_QvQ0EF5_Eeu8qc6zsVCMZQ" source="_IbxT4F5_Eeu8qc6zsVCMZQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_YUrGQF5_Eeu8qc6zsVCMZQ" name="Credentials match" target="_YUYyYF5_Eeu8qc6zsVCMZQ" source="_QvQ0EF5_Eeu8qc6zsVCMZQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_eu5-wF5_Eeu8qc6zsVCMZQ" name="Credentials do not match" target="_euoR8F5_Eeu8qc6zsVCMZQ" source="_QvQ0EF5_Eeu8qc6zsVCMZQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_xVvXAF5_Eeu8qc6zsVCMZQ" target="_xVb1AF5_Eeu8qc6zsVCMZQ" source="_euoR8F5_Eeu8qc6zsVCMZQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_zx86wF5_Eeu8qc6zsVCMZQ" target="_IbxT4F5_Eeu8qc6zsVCMZQ" source="_xVb1AF5_Eeu8qc6zsVCMZQ"/>
    <node xmi:type="uml:InitialNode" xmi:id="_GhJaQF5_Eeu8qc6zsVCMZQ" outgoing="_IcBykF5_Eeu8qc6zsVCMZQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_IbxT4F5_Eeu8qc6zsVCMZQ" name="Input username and password" incoming="_IcBykF5_Eeu8qc6zsVCMZQ _zx86wF5_Eeu8qc6zsVCMZQ" outgoing="_QvjvAF5_Eeu8qc6zsVCMZQ"/>
    <node xmi:type="uml:DecisionNode" xmi:id="_QvQ0EF5_Eeu8qc6zsVCMZQ" name="Check credentials combination against database" incoming="_QvjvAF5_Eeu8qc6zsVCMZQ" outgoing="_YUrGQF5_Eeu8qc6zsVCMZQ _eu5-wF5_Eeu8qc6zsVCMZQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_YUYyYF5_Eeu8qc6zsVCMZQ" name="Log in user to their own space" incoming="_YUrGQF5_Eeu8qc6zsVCMZQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_euoR8F5_Eeu8qc6zsVCMZQ" name="Notify user of incorrect credentials" incoming="_eu5-wF5_Eeu8qc6zsVCMZQ" outgoing="_xVvXAF5_Eeu8qc6zsVCMZQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_xVb1AF5_Eeu8qc6zsVCMZQ" name="Ask user to re-enter credentials" incoming="_xVvXAF5_Eeu8qc6zsVCMZQ" outgoing="_zx86wF5_Eeu8qc6zsVCMZQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Class" xmi:id="_4DPp8F-1EeuUJ8v5v-2WTw" name="Room">
    <ownedAttribute xmi:type="uml:Property" xmi:id="_3Z58kF-2EeuUJ8v5v-2WTw" name="Name">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_VPpLU1-5EeudaKQrmQOL2g" name="channel" type="_pllUQFEUEeuE1ZThcLnWlQ" aggregation="composite" association="_VPpLUF-5EeudaKQrmQOL2g">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_VPpLVV-5EeudaKQrmQOL2g" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_f6JUQF-7EeudaKQrmQOL2g" name="Members" visibility="protected" type="_XQ8H8FEDEeu_FLOHG8xOiA">
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_q_QAcF-7EeudaKQrmQOL2g" value="*"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_5N9h4F-7EeudaKQrmQOL2g" name="Description">
      <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
    </ownedAttribute>
    <ownedAttribute xmi:type="uml:Property" xmi:id="_FqKQ8GI6EeuaXbx1SB4VAQ" name="aRoom" type="_4DPp8F-1EeuUJ8v5v-2WTw"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_GhDscF-4EeudaKQrmQOL2g" name="Moderates" memberEnd="_GhETgl-4EeudaKQrmQOL2g _GhETg1-4EeudaKQrmQOL2g">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GhETgF-4EeudaKQrmQOL2g" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GhETgV-4EeudaKQrmQOL2g" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_GhETgl-4EeudaKQrmQOL2g" name="moderator" type="_KySSAFHLEeuyzNSi8MGzrQ" association="_GhDscF-4EeudaKQrmQOL2g">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_HvzXgF-4EeudaKQrmQOL2g"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Hv2a0F-4EeudaKQrmQOL2g" value="*"/>
    </ownedEnd>
    <ownedEnd xmi:type="uml:Property" xmi:id="_GhETg1-4EeudaKQrmQOL2g" name="room" type="_4DPp8F-1EeuUJ8v5v-2WTw" association="_GhDscF-4EeudaKQrmQOL2g"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_JjF6EF-4EeudaKQrmQOL2g" name="Administers" memberEnd="_JjGhIl-4EeudaKQrmQOL2g _JjGhI1-4EeudaKQrmQOL2g">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_JjGhIF-4EeudaKQrmQOL2g" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_JjGhIV-4EeudaKQrmQOL2g" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_JjGhIl-4EeudaKQrmQOL2g" name="admin" type="_OWuCEFHLEeuyzNSi8MGzrQ" association="_JjF6EF-4EeudaKQrmQOL2g"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_JjGhI1-4EeudaKQrmQOL2g" name="room" type="_4DPp8F-1EeuUJ8v5v-2WTw" association="_JjF6EF-4EeudaKQrmQOL2g"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_2bik8F-4EeudaKQrmQOL2g" name="Has" memberEnd="_2bik81-4EeudaKQrmQOL2g _2bjMAF-4EeudaKQrmQOL2g">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_2bik8V-4EeudaKQrmQOL2g" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_2bik8l-4EeudaKQrmQOL2g" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_2bik81-4EeudaKQrmQOL2g" name="message" type="_nBp-8FEUEeuE1ZThcLnWlQ" association="_2bik8F-4EeudaKQrmQOL2g">
      <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3b09QF-4EeudaKQrmQOL2g"/>
      <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3b4AkF-4EeudaKQrmQOL2g" value="*"/>
    </ownedEnd>
    <ownedEnd xmi:type="uml:Property" xmi:id="_2bjMAF-4EeudaKQrmQOL2g" name="channel" type="_pllUQFEUEeuE1ZThcLnWlQ" association="_2bik8F-4EeudaKQrmQOL2g"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_VPpLUF-5EeudaKQrmQOL2g" memberEnd="_VPpLU1-5EeudaKQrmQOL2g _VPpyYF-5EeudaKQrmQOL2g">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VPpLUV-5EeudaKQrmQOL2g" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VPpLUl-5EeudaKQrmQOL2g" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_VPpyYF-5EeudaKQrmQOL2g" name="room" type="_4DPp8F-1EeuUJ8v5v-2WTw" association="_VPpLUF-5EeudaKQrmQOL2g"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_fESfwF-6EeudaKQrmQOL2g" name="Is a member of" memberEnd="_fETG0l-6EeudaKQrmQOL2g _fETG01-6EeudaKQrmQOL2g">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_fETG0F-6EeudaKQrmQOL2g" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_fETG0V-6EeudaKQrmQOL2g" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_fETG0l-6EeudaKQrmQOL2g" name="room" type="_4DPp8F-1EeuUJ8v5v-2WTw" association="_fESfwF-6EeudaKQrmQOL2g"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_fETG01-6EeudaKQrmQOL2g" name="user" type="_XQ8H8FEDEeu_FLOHG8xOiA" association="_fESfwF-6EeudaKQrmQOL2g"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Package" xmi:id="_VjDfcGI-EeuaXbx1SB4VAQ" name="Messaging Application">
    <packagedElement xmi:type="uml:UseCase" xmi:id="_EbwK0GI_EeuaXbx1SB4VAQ" name="Make Room">
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_22GYAGI_EeuaXbx1SB4VAQ" name="ExtensionPoint2"/>
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_3esCAGI_EeuaXbx1SB4VAQ" name="ExtensionPoint3"/>
      <include xmi:type="uml:Include" xmi:id="_vnGasGI_EeuaXbx1SB4VAQ" addition="_bj2HwGI_EeuaXbx1SB4VAQ"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_bj2HwGI_EeuaXbx1SB4VAQ" name="Update Database"/>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_xOlV4GI_EeuaXbx1SB4VAQ" name="Add User">
      <extend xmi:type="uml:Extend" xmi:id="_3era8GI_EeuaXbx1SB4VAQ" extendedCase="_EbwK0GI_EeuaXbx1SB4VAQ" extensionLocation="_3esCAGI_EeuaXbx1SB4VAQ"/>
      <extensionPoint xmi:type="uml:ExtensionPoint" xmi:id="_MGnvUGJAEeuaXbx1SB4VAQ" name="ExtensionPoint3"/>
      <include xmi:type="uml:Include" xmi:id="_8hd_YGI_EeuaXbx1SB4VAQ" addition="_bj2HwGI_EeuaXbx1SB4VAQ"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_zai3IGI_EeuaXbx1SB4VAQ" name="Create Channel">
      <extend xmi:type="uml:Extend" xmi:id="_22FJ4GI_EeuaXbx1SB4VAQ" extendedCase="_EbwK0GI_EeuaXbx1SB4VAQ" extensionLocation="_22GYAGI_EeuaXbx1SB4VAQ"/>
      <include xmi:type="uml:Include" xmi:id="_4vaqEGI_EeuaXbx1SB4VAQ" addition="_bj2HwGI_EeuaXbx1SB4VAQ"/>
    </packagedElement>
    <packagedElement xmi:type="uml:UseCase" xmi:id="_JQw8gGJAEeuaXbx1SB4VAQ" name="Make Moderator">
      <extend xmi:type="uml:Extend" xmi:id="_MGnIQGJAEeuaXbx1SB4VAQ" extendedCase="_xOlV4GI_EeuaXbx1SB4VAQ" extensionLocation="_MGnvUGJAEeuaXbx1SB4VAQ"/>
    </packagedElement>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_ZKpRMGI-EeuaXbx1SB4VAQ" name="Admin">
    <generalization xmi:type="uml:Generalization" xmi:id="_H1q3gGJAEeuaXbx1SB4VAQ" general="_Dbbg0GJAEeuaXbx1SB4VAQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_dGk7QGI-EeuaXbx1SB4VAQ" name="Database"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_K302YGI_EeuaXbx1SB4VAQ" memberEnd="_K32rkGI_EeuaXbx1SB4VAQ _K32rkWI_EeuaXbx1SB4VAQ">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_K31dcGI_EeuaXbx1SB4VAQ" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_K31dcWI_EeuaXbx1SB4VAQ" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_K32rkGI_EeuaXbx1SB4VAQ" name="make room" type="_EbwK0GI_EeuaXbx1SB4VAQ" association="_K302YGI_EeuaXbx1SB4VAQ"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_K32rkWI_EeuaXbx1SB4VAQ" name="admin" type="_ZKpRMGI-EeuaXbx1SB4VAQ" association="_K302YGI_EeuaXbx1SB4VAQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Association" xmi:id="_or6KMGI_EeuaXbx1SB4VAQ" memberEnd="_or6xQmI_EeuaXbx1SB4VAQ _or6xQ2I_EeuaXbx1SB4VAQ">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_or6xQGI_EeuaXbx1SB4VAQ" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_or6xQWI_EeuaXbx1SB4VAQ" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_or6xQmI_EeuaXbx1SB4VAQ" name="database" type="_dGk7QGI-EeuaXbx1SB4VAQ" association="_or6KMGI_EeuaXbx1SB4VAQ"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_or6xQ2I_EeuaXbx1SB4VAQ" name="update database" type="_bj2HwGI_EeuaXbx1SB4VAQ" association="_or6KMGI_EeuaXbx1SB4VAQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_-EjiwGI_EeuaXbx1SB4VAQ" name="User"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_BRCs4GJAEeuaXbx1SB4VAQ" memberEnd="_BRDT8mJAEeuaXbx1SB4VAQ _BRDT82JAEeuaXbx1SB4VAQ">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BRDT8GJAEeuaXbx1SB4VAQ" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BRDT8WJAEeuaXbx1SB4VAQ" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_BRDT8mJAEeuaXbx1SB4VAQ" name="user" type="_-EjiwGI_EeuaXbx1SB4VAQ" association="_BRCs4GJAEeuaXbx1SB4VAQ"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_BRDT82JAEeuaXbx1SB4VAQ" name="add user" type="_xOlV4GI_EeuaXbx1SB4VAQ" association="_BRCs4GJAEeuaXbx1SB4VAQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Actor" xmi:id="_Dbbg0GJAEeuaXbx1SB4VAQ" name="Moderator"/>
  <packagedElement xmi:type="uml:Association" xmi:id="_Mxc1AGJAEeuaXbx1SB4VAQ" memberEnd="_MxdcEmJAEeuaXbx1SB4VAQ _MxdcE2JAEeuaXbx1SB4VAQ">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_MxdcEGJAEeuaXbx1SB4VAQ" source="org.eclipse.papyrus">
      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_MxdcEWJAEeuaXbx1SB4VAQ" key="nature" value="UML_Nature"/>
    </eAnnotations>
    <ownedEnd xmi:type="uml:Property" xmi:id="_MxdcEmJAEeuaXbx1SB4VAQ" name="moderator" type="_Dbbg0GJAEeuaXbx1SB4VAQ" association="_Mxc1AGJAEeuaXbx1SB4VAQ"/>
    <ownedEnd xmi:type="uml:Property" xmi:id="_MxdcE2JAEeuaXbx1SB4VAQ" name="make moderator" type="_JQw8gGJAEeuaXbx1SB4VAQ" association="_Mxc1AGJAEeuaXbx1SB4VAQ"/>
  </packagedElement>
  <packagedElement xmi:type="uml:Activity" xmi:id="_dCR_MGJAEeuaXbx1SB4VAQ" name="Activity68" node="_kccDoGJAEeuaXbx1SB4VAQ _0mxkQGJAEeuaXbx1SB4VAQ _AOq_AGJCEeuaXbx1SB4VAQ _I5a2sGJEEeuaXbx1SB4VAQ _M4mCAGJEEeuaXbx1SB4VAQ _dDeVMGJEEeuaXbx1SB4VAQ _mgozMGJEEeuaXbx1SB4VAQ _dYbcEGJFEeuaXbx1SB4VAQ _01r7QGJGEeuaXbx1SB4VAQ _rcjhUGJJEeuaXbx1SB4VAQ _vzV7YGJJEeuaXbx1SB4VAQ">
    <edge xmi:type="uml:ControlFlow" xmi:id="_0m5gEGJAEeuaXbx1SB4VAQ" target="_0mxkQGJAEeuaXbx1SB4VAQ" source="_kccDoGJAEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_AO0wAGJCEeuaXbx1SB4VAQ" target="_AOq_AGJCEeuaXbx1SB4VAQ" source="_0mxkQGJAEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_M40EcGJEEeuaXbx1SB4VAQ" name="Yes" target="_M4mCAGJEEeuaXbx1SB4VAQ" source="_I5a2sGJEEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_dDuM0GJEEeuaXbx1SB4VAQ" target="_dDeVMGJEEeuaXbx1SB4VAQ" source="_M4mCAGJEEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_mg5R4GJEEeuaXbx1SB4VAQ" name="Yes" target="_mgozMGJEEeuaXbx1SB4VAQ" source="_dDeVMGJEEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_dYvlIGJFEeuaXbx1SB4VAQ" name="No" target="_dYbcEGJFEeuaXbx1SB4VAQ" source="_I5a2sGJEEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_02ArYGJGEeuaXbx1SB4VAQ" name="Yes" target="_01r7QGJGEeuaXbx1SB4VAQ" source="_dYbcEGJFEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_ZsnKQGJIEeuaXbx1SB4VAQ" target="_I5a2sGJEEeuaXbx1SB4VAQ" source="_mgozMGJEEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_gqW_gGJIEeuaXbx1SB4VAQ" name="No" target="_I5a2sGJEEeuaXbx1SB4VAQ" source="_dDeVMGJEEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_O_ZkMGJJEeuaXbx1SB4VAQ" target="_I5a2sGJEEeuaXbx1SB4VAQ" source="_AOq_AGJCEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_ltaNMGJJEeuaXbx1SB4VAQ" target="_dYbcEGJFEeuaXbx1SB4VAQ" source="_01r7QGJGEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_rc11MGJJEeuaXbx1SB4VAQ" name="No" target="_rcjhUGJJEeuaXbx1SB4VAQ" source="_dYbcEGJFEeuaXbx1SB4VAQ"/>
    <edge xmi:type="uml:ControlFlow" xmi:id="_vzsgsGJJEeuaXbx1SB4VAQ" target="_vzV7YGJJEeuaXbx1SB4VAQ" source="_rcjhUGJJEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:InitialNode" xmi:id="_kccDoGJAEeuaXbx1SB4VAQ" name="InitialNode1" outgoing="_0m5gEGJAEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_0mxkQGJAEeuaXbx1SB4VAQ" name="User makes new room" incoming="_0m5gEGJAEeuaXbx1SB4VAQ" outgoing="_AO0wAGJCEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_AOq_AGJCEeuaXbx1SB4VAQ" name="Make User Admin of Room" incoming="_AO0wAGJCEeuaXbx1SB4VAQ" outgoing="_O_ZkMGJJEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:DecisionNode" xmi:id="_I5a2sGJEEeuaXbx1SB4VAQ" name="Add user to room?" incoming="_ZsnKQGJIEeuaXbx1SB4VAQ _gqW_gGJIEeuaXbx1SB4VAQ _O_ZkMGJJEeuaXbx1SB4VAQ" outgoing="_M40EcGJEEeuaXbx1SB4VAQ _dYvlIGJFEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_M4mCAGJEEeuaXbx1SB4VAQ" name="User added to room" incoming="_M40EcGJEEeuaXbx1SB4VAQ" outgoing="_dDuM0GJEEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:DecisionNode" xmi:id="_dDeVMGJEEeuaXbx1SB4VAQ" name="Make user moderator?" incoming="_dDuM0GJEEeuaXbx1SB4VAQ" outgoing="_mg5R4GJEEeuaXbx1SB4VAQ _gqW_gGJIEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_mgozMGJEEeuaXbx1SB4VAQ" name="User made into moderator" incoming="_mg5R4GJEEeuaXbx1SB4VAQ" outgoing="_ZsnKQGJIEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:DecisionNode" xmi:id="_dYbcEGJFEeuaXbx1SB4VAQ" name="Add Channel?" incoming="_dYvlIGJFEeuaXbx1SB4VAQ _ltaNMGJJEeuaXbx1SB4VAQ" outgoing="_02ArYGJGEeuaXbx1SB4VAQ _rc11MGJJEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_01r7QGJGEeuaXbx1SB4VAQ" name="Add Channel to Room" incoming="_02ArYGJGEeuaXbx1SB4VAQ" outgoing="_ltaNMGJJEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:OpaqueAction" xmi:id="_rcjhUGJJEeuaXbx1SB4VAQ" name="Update Database" incoming="_rc11MGJJEeuaXbx1SB4VAQ" outgoing="_vzsgsGJJEeuaXbx1SB4VAQ"/>
    <node xmi:type="uml:ActivityFinalNode" xmi:id="_vzV7YGJJEeuaXbx1SB4VAQ" name="ActivityFinalNode23" incoming="_vzsgsGJJEeuaXbx1SB4VAQ"/>
  </packagedElement>
  <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_0GpdkF5tEeuoDf1G-rjmnQ">
    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0Gr50F5tEeuoDf1G-rjmnQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
      <references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_Kv8EIKFXEeS_KNX0nfvIVQ"/>
    </eAnnotations>
    <appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
  </profileApplication>
</uml:Model>
