+<?xml version="1.0" encoding="UTF-8"?>
+<XMI xmlns:UML="org.omg/standards/UML" verified="false" timestamp="" xmi.version="1.2" >
+ <XMI.header>
+ <XMI.documentation>
+ <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter>
+ <XMI.exporterVersion>1.1.5</XMI.exporterVersion>
+ <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding>
+ </XMI.documentation>
+ <XMI.model xmi.name="cliente_servidor" href="/home/luca/facultad/75.42/2003-2/final/docs/cliente_servidor.xmi" />
+ <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
+ </XMI.header>
+ <XMI.content>
+ <docsettings viewid="1" documentation="" uniqueid="50" />
+ <umlobjects>
+ <UML:Interface stereotype="interface" package="Plaqui" xmi.id="2" abstract="1" documentation="Interfaz para usar con objetos que realizan una tarea.
+Generalmente las tareas son lanzadas en threads." name="Runnable" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="3" type="void" abstract="1" documentation="" name="run" static="0" scope="200" />
+ </UML:Interface>
+ <UML:Class stereotype="class" package="Plaqui" xmi.id="4" abstract="0" documentation="Servidor de plantas químicas.
+Maneja muchas conexiones, de control o de transmisión." name="Server" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="24" type="bool" abstract="0" documentation="Comienza la transimisión del estado de una planta." name="start_transmission" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value=""localhost"" type="std::string" abstract="0" documentation="Host al cual se quiere transmitir." name="host" static="0" scope="201" />
+ <UML:Parameter stereotype="" package="" xmi.id="2" value="7528" type="int" abstract="0" documentation="Puerto al cual transmitir." name="port" static="0" scope="201" />
+ </UML:Operation>
+ <UML:Operation stereotype="" package="" xmi.id="25" type="bool" abstract="0" documentation="Finaliza la transimisión del estado de una planta." name="stop_transmission" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value=""localhost"" type="std::string" abstract="0" documentation="Host al cual se quiere dejar de transmitir." name="host" static="0" scope="201" />
+ <UML:Parameter stereotype="" package="" xmi.id="2" value="7528" type="int" abstract="0" documentation="Puerto al cual se quiere dejar de transmitir." name="port" static="0" scope="201" />
+ </UML:Operation>
+ <UML:Operation stereotype="" package="" xmi.id="47" type="void" abstract="0" documentation="Constructor." name="Server" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="7522" type="int" abstract="0" documentation="Puerto en el cual escuchar." name="port" static="0" scope="201" />
+ </UML:Operation>
+ <UML:Attribute stereotype="" package="" xmi.id="23" value="" type="sockbuf" abstract="0" documentation="Socket para escuchar conexiones." name="socket" static="0" scope="201" />
+ <UML:Attribute stereotype="" package="" xmi.id="32" value="" type="std::list<ControlServer*>" abstract="0" documentation="Conexiones de control." name="controllers" static="0" scope="201" />
+ <UML:Attribute stereotype="" package="" xmi.id="33" value="" type="std::list<Transmitter*>" abstract="0" documentation="Transmisiones del estado de las plantas." name="transmissions" static="0" scope="201" />
+ </UML:Class>
+ <UML:Class stereotype="class" package="Plaqui" xmi.id="11" abstract="0" documentation="Conexión para enviar comandos de control a una planta." name="ControlClient" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="50" type="void" abstract="0" documentation="Constructor." name="ControlClient" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value=""localhost"" type="std::string" abstract="0" documentation="Host al cual conectarse para enviar comandos de control." name="host" static="0" scope="201" />
+ <UML:Parameter stereotype="" package="" xmi.id="2" value="7522" type="int" abstract="0" documentation="Puerto al cual conectarse." name="port" static="0" scope="201" />
+ </UML:Operation>
+ </UML:Class>
+ <UML:Class stereotype="class" package="Plaqui" xmi.id="12" abstract="0" documentation="Conexión para recibir el estado de una planta." name="Receiver" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="46" type="void" abstract="0" documentation="Constructor." name="Receiver" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="7528" type="int" abstract="0" documentation="Puerto por el cual recibir estado de la planta." name="port" static="0" scope="201" />
+ <UML:Parameter stereotype="" package="" xmi.id="2" value=""localhost"" type="std::string" abstract="0" documentation="Host del cual recibir el estado de la planta" name="host" static="0" scope="201" />
+ </UML:Operation>
+ </UML:Class>
+ <UML:Class stereotype="class" package="Plaqui" xmi.id="13" abstract="0" documentation="Conexión para transmitir el estado de una planta." name="Transmitter" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="40" type="void" abstract="0" documentation="Constructor." name="Transmitter" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="iosockstream" abstract="0" documentation="Socket al cual se va a transmitir." name="socket" static="0" scope="201" />
+ </UML:Operation>
+ </UML:Class>
+ <UML:Class stereotype="class" package="Plaqui" xmi.id="15" abstract="1" documentation="Conexión." name="Connection" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="48" type="void" abstract="0" documentation="Constructor." name="Connection" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="iosockstream" abstract="0" documentation="Socket a usar en la conexión." name="socket" static="0" scope="201" />
+ </UML:Operation>
+ <UML:Attribute stereotype="" package="" xmi.id="21" value="" type="iosockstream" abstract="0" documentation="" name="socket" static="0" scope="201" />
+ </UML:Class>
+ <UML:Class stereotype="class" package="Plaqui" xmi.id="43" abstract="0" documentation="Conexión para recibir comandos de control para una planta." name="ControlServer" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="45" type="void" abstract="0" documentation="" name="ControlServer" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Socket a usar para recibir comandos." name="socket" static="0" scope="201" />
+ </UML:Operation>
+ </UML:Class>
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="13" roleb="15" multia="" doca="" multib="" docb="" package="" xmi.id="26" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="12" roleb="15" multia="" doca="" multib="" docb="" package="" xmi.id="27" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="11" roleb="15" multia="" doca="" multib="" docb="" package="" xmi.id="29" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="511" rolea="15" roleb="2" multia="" doca="" multib="" docb="" package="" xmi.id="30" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="511" rolea="4" roleb="2" multia="" doca="" multib="" docb="" package="" xmi.id="31" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ <UML:Association nameb="" stereotype="" visibilitya="200" visibilityb="200" assoctype="500" rolea="43" roleb="15" multia="" doca="" multib="" docb="" package="" xmi.id="44" abstract="0" documentation="" name="" static="0" scope="200" changeabilitya="900" changeabilityb="900" namea="" />
+ </umlobjects>
+ <diagrams>
+ <diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="746" snapy="10" showatts="1" xmi.id="1" documentation="" type="402" showops="1" showpackage="1" name="Jerarquía" localid="30000" showstereotype="0" showscope="1" snapcsgrid="0" font="Helvetica,12,-1,5,48,0,0,0,0,0" linecolor="#ff0000" canvasheight="656" >
+ <widgets>
+ <UML:ClassWidget usesdiagramfillcolour="0" width="289" showattsigs="601" usesdiagramusefillcolour="0" x="420" linecolour="#ff0000" y="170" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="133" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="4" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,50,0,1,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="175" showattsigs="601" usesdiagramusefillcolour="0" x="230" linecolour="#ff0000" y="290" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="57" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="15" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,75,1,0,0,0,0" />
+ <interfacewidget usesdiagramfillcolour="0" width="143" usesdiagramusefillcolour="0" x="371" linecolour="#ff0000" y="16" drawascircle="0" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="57" usefillcolor="1" isinstance="0" xmi.id="2" showoperations="1" showpackage="1" showscope="1" font="Helvetica,12,-1,5,50,1,0,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="170" showattsigs="601" usesdiagramusefillcolour="0" x="517" linecolour="#ff0000" y="450" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="47" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="11" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,50,0,1,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="1" width="177" showattsigs="601" usesdiagramusefillcolour="1" x="327" linecolour="none" y="450" showopsigs="600" instancename="" usesdiagramlinecolour="1" fillcolour="none" height="37" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="39" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,75,0,0,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="137" showattsigs="601" usesdiagramusefillcolour="0" x="179" linecolour="#ff0000" y="450" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="47" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="12" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,50,0,1,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="157" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="449" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="47" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="13" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,50,0,1,0,0,0" />
+ <UML:ClassWidget usesdiagramfillcolour="0" width="177" showattsigs="601" usesdiagramusefillcolour="0" x="327" linecolour="#ff0000" y="450" showopsigs="600" instancename="" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="47" usefillcolor="1" showattributes="1" isinstance="0" xmi.id="43" showoperations="1" showpackage="1" showscope="1" showstereotype="0" font="Helvetica,12,-1,5,50,0,1,0,0,0" />
+ </widgets>
+ <messages/>
+ <associations>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="1" widgetbid="15" widgetaid="13" xmi.id="26" >
+ <linepath>
+ <startpoint startx="88" starty="449" />
+ <endpoint endx="265" endy="347" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="2" widgetbid="15" widgetaid="12" xmi.id="27" >
+ <linepath>
+ <startpoint startx="247" starty="450" />
+ <endpoint endx="300" endy="347" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="4" widgetbid="15" widgetaid="11" xmi.id="29" >
+ <linepath>
+ <startpoint startx="602" starty="450" />
+ <endpoint endx="370" endy="347" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="2" widgetaid="15" xmi.id="30" >
+ <linepath>
+ <startpoint startx="317" starty="290" />
+ <endpoint endx="418" endy="73" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="2" widgetaid="4" xmi.id="31" >
+ <linepath>
+ <startpoint startx="564" starty="170" />
+ <endpoint endx="466" endy="73" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="5" indexb="3" widgetbid="15" widgetaid="43" xmi.id="44" >
+ <linepath>
+ <startpoint startx="415" starty="450" />
+ <endpoint endx="335" endy="347" />
+ </linepath>
+ </UML:AssocWidget>
+ </associations>
+ </diagram>
+ </diagrams>
+ <listview>
+ <listitem open="1" type="800" id="-1" label="Views" >
+ <listitem open="1" type="801" id="-1" label="Logical View" >
+ <listitem open="0" type="807" id="1" label="Jerarquía" />
+ <listitem open="0" type="813" id="15" label="Connection" >
+ <listitem open="0" type="814" id="21" label="socket" />
+ <listitem open="0" type="815" id="48" label="Connection" />
+ </listitem>
+ <listitem open="0" type="813" id="11" label="ControlClient" >
+ <listitem open="0" type="815" id="50" label="ControlClient" />
+ </listitem>
+ <listitem open="0" type="813" id="43" label="ControlServer" >
+ <listitem open="0" type="815" id="45" label="ControlServer" />
+ </listitem>
+ <listitem open="0" type="813" id="12" label="Receiver" >
+ <listitem open="0" type="815" id="46" label="Receiver" />
+ </listitem>
+ <listitem open="0" type="813" id="4" label="Server" >
+ <listitem open="0" type="814" id="32" label="controllers" />
+ <listitem open="0" type="814" id="23" label="socket" />
+ <listitem open="0" type="814" id="33" label="transmissions" />
+ <listitem open="0" type="815" id="47" label="Server" />
+ <listitem open="0" type="815" id="24" label="start_transmission" />
+ <listitem open="0" type="815" id="25" label="stop_transmission" />
+ </listitem>
+ <listitem open="0" type="813" id="13" label="Transmitter" >
+ <listitem open="0" type="815" id="40" label="Transmitter" />
+ </listitem>
+ <listitem open="0" type="817" id="2" label="Runnable" >
+ <listitem open="0" type="815" id="3" label="run" />
+ </listitem>
+ </listitem>
+ <listitem open="1" type="802" id="-1" label="Use Case View" />
+ <listitem open="1" type="821" id="-1" label="Component View" />
+ <listitem open="1" type="827" id="-1" label="Deployment View" />
+ </listitem>
+ </listview>
+ <codegeneration>
+ <codegenerator language="PHP" />
+ </codegeneration>
+ </XMI.content>
+</XMI>