<?xml version="1.0" encoding="UTF-8"?> <dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/"> <dia:diagramdata> <dia:attribute name="background"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="pagebreak"> <dia:color val="#000099"/> </dia:attribute> <dia:attribute name="paper"> <dia:composite type="paper"> <dia:attribute name="name"> <dia:string>#A4#</dia:string> </dia:attribute> <dia:attribute name="tmargin"> <dia:real val="2.8222000598907471"/> </dia:attribute> <dia:attribute name="bmargin"> <dia:real val="2.8222000598907471"/> </dia:attribute> <dia:attribute name="lmargin"> <dia:real val="2.8222000598907471"/> </dia:attribute> <dia:attribute name="rmargin"> <dia:real val="2.8222000598907471"/> </dia:attribute> <dia:attribute name="is_portrait"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="scaling"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="fitto"> <dia:boolean val="false"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="grid"> <dia:composite type="grid"> <dia:attribute name="width_x"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="width_y"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="visible_x"> <dia:int val="1"/> </dia:attribute> <dia:attribute name="visible_y"> <dia:int val="1"/> </dia:attribute> <dia:composite type="color"/> </dia:composite> </dia:attribute> <dia:attribute name="color"> <dia:color val="#d8e5e5"/> </dia:attribute> <dia:attribute name="guides"> <dia:composite type="guides"> <dia:attribute name="hguides"/> <dia:attribute name="vguides"/> </dia:composite> </dia:attribute> </dia:diagramdata> <dia:layer name="Arrière-plan" visible="true" active="true"> <dia:group> <dia:object type="UML - LargePackage" version="0" id="O0"> <dia:attribute name="obj_pos"> <dia:point val="43.3541,9.67669"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="43.3041,8.62669;62.3869,21.8152"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="43.3541,9.67669"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="18.982784066269787"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="12.08849294970096"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000149011612"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_colour"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="name"> <dia:string>#User-defined classes#</dia:string> </dia:attribute> </dia:object> <dia:object type="UML - Class" version="0" id="O1"> <dia:attribute name="obj_pos"> <dia:point val="46.0492,12.9799"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="45.9992,12.9299;60.4592,18.4299"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="46.0492,12.9799"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="14.359999999999999"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="5.4000000000000004"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#HelloIo#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>#Implements a file which always contains "Hello, World!\n"#</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_operations"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="visible_comments"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_after_char"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_line_length"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_tagging"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_color"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="normal_font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="abstract_font"> <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> </dia:attribute> <dia:attribute name="polymorphic_font"> <dia:font family="monospace" style="8" name="Courier-Oblique"/> </dia:attribute> <dia:attribute name="classname_font"> <dia:font family="sans" style="80" name="Helvetica-Bold"/> </dia:attribute> <dia:attribute name="abstract_classname_font"> <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> </dia:attribute> <dia:attribute name="comment_font"> <dia:font family="sans" style="8" name="Helvetica-Oblique"/> </dia:attribute> <dia:attribute name="normal_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="polymorphic_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="abstract_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="abstract_classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="comment_font_height"> <dia:real val="0.69999999999999996"/> </dia:attribute> <dia:attribute name="attributes"/> <dia:attribute name="operations"> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#write#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#data#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#char[]#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#read#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#char[]#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#amount#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#seek#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#whence#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> </dia:object> </dia:group> <dia:group> <dia:object type="UML - LargePackage" version="0" id="O2"> <dia:attribute name="obj_pos"> <dia:point val="20.9284,1.19141"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="20.8784,0.141406;41.2223,31.2904"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="20.9284,1.19141"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="20.243864620053902"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="30.049005191839264"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000149011612"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_colour"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="name"> <dia:string>#MIG-generated classes#</dia:string> </dia:attribute> </dia:object> <dia:object type="UML - Class" version="0" id="O3"> <dia:attribute name="obj_pos"> <dia:point val="24.8976,5.14749"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="24.8476,5.09749;38.1526,9.79749"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="24.8976,5.14749"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="13.205"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="4.5999999999999996"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#IoServer#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>#Implements a message handler using a given IO object as a backend#</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_operations"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="visible_comments"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_after_char"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_line_length"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_tagging"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_color"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="normal_font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="abstract_font"> <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> </dia:attribute> <dia:attribute name="polymorphic_font"> <dia:font family="monospace" style="8" name="Courier-Oblique"/> </dia:attribute> <dia:attribute name="classname_font"> <dia:font family="sans" style="80" name="Helvetica-Bold"/> </dia:attribute> <dia:attribute name="abstract_classname_font"> <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> </dia:attribute> <dia:attribute name="comment_font"> <dia:font family="sans" style="8" name="Helvetica-Oblique"/> </dia:attribute> <dia:attribute name="normal_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="polymorphic_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="abstract_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="abstract_classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="comment_font_height"> <dia:real val="0.69999999999999996"/> </dia:attribute> <dia:attribute name="attributes"/> <dia:attribute name="operations"> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#IoServer#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#back#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Io#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#handle#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Message#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#message#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Message#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> </dia:object> <dia:object type="UML - Class" version="0" id="O4"> <dia:attribute name="obj_pos"> <dia:point val="24.2494,13.3231"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="24.1994,13.2731;38.6594,18.1731"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="24.2494,13.3231"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="14.359999999999999"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="4.8000000000000007"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#Io#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>#interface#</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="suppress_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_operations"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="visible_comments"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="wrap_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_after_char"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_line_length"> <dia:int val="17"/> </dia:attribute> <dia:attribute name="comment_tagging"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_color"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="normal_font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="abstract_font"> <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> </dia:attribute> <dia:attribute name="polymorphic_font"> <dia:font family="monospace" style="8" name="Courier-Oblique"/> </dia:attribute> <dia:attribute name="classname_font"> <dia:font family="sans" style="80" name="Helvetica-Bold"/> </dia:attribute> <dia:attribute name="abstract_classname_font"> <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> </dia:attribute> <dia:attribute name="comment_font"> <dia:font family="sans" style="8" name="Helvetica-Oblique"/> </dia:attribute> <dia:attribute name="normal_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="polymorphic_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="abstract_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="abstract_classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="comment_font_height"> <dia:real val="0.69999999999999996"/> </dia:attribute> <dia:attribute name="attributes"/> <dia:attribute name="operations"> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#write#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#data#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#char[]#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#read#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#char[]#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#amount#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#seek#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#whence#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> </dia:object> <dia:object type="UML - Class" version="0" id="O5"> <dia:attribute name="obj_pos"> <dia:point val="24.2494,21.6986"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="24.1994,21.6486;38.6594,27.9486"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="24.2494,21.6986"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="14.359999999999999"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="6.2000000000000002"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#IoUser#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>#Implements the Io interface by performing RPC#</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_operations"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="visible_comments"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_after_char"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_line_length"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_tagging"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_color"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="normal_font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="abstract_font"> <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> </dia:attribute> <dia:attribute name="polymorphic_font"> <dia:font family="monospace" style="8" name="Courier-Oblique"/> </dia:attribute> <dia:attribute name="classname_font"> <dia:font family="sans" style="80" name="Helvetica-Bold"/> </dia:attribute> <dia:attribute name="abstract_classname_font"> <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> </dia:attribute> <dia:attribute name="comment_font"> <dia:font family="sans" style="8" name="Helvetica-Oblique"/> </dia:attribute> <dia:attribute name="normal_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="polymorphic_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="abstract_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="abstract_classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="comment_font_height"> <dia:real val="0.69999999999999996"/> </dia:attribute> <dia:attribute name="attributes"/> <dia:attribute name="operations"> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#IoUser#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#port#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#MachPort#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#write#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#data#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#char[]#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#read#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#char[]#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#amount#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#seek#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#offset#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#whence#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#int#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> </dia:object> <dia:object type="UML - Realizes" version="1" id="O6"> <dia:attribute name="obj_pos"> <dia:point val="31.4294,18.1734"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="31.3794,18.1734;31.5294,21.719"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="31.4294,18.1734"/> <dia:point val="31.4294,18.1734"/> <dia:point val="31.4294,21.6482"/> <dia:point val="31.4294,21.6482"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O4" connection="14"/> <dia:connection handle="1" to="O5" connection="16"/> </dia:connections> </dia:object> <dia:object type="UML - Association" version="2" id="O7"> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="direction"> <dia:enum val="1"/> </dia:attribute> <dia:attribute name="show_direction"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="assoc_type"> <dia:enum val="1"/> </dia:attribute> <dia:attribute name="role_a"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="multipicity_a"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility_a"> <dia:enum val="3"/> </dia:attribute> <dia:attribute name="show_arrow_a"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="role_b"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="multipicity_b"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility_b"> <dia:enum val="3"/> </dia:attribute> <dia:attribute name="show_arrow_b"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="obj_pos"> <dia:point val="24.8976,8.44749"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="22.3132,7.69749;25.6476,16.0231"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="24.8976,8.44749"/> <dia:point val="22.3632,8.44749"/> <dia:point val="22.3632,14.4231"/> <dia:point val="24.2494,14.4231"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O3" connection="8"/> <dia:connection handle="1" to="O4" connection="3"/> </dia:connections> <dia:childnode parent="O2"/> </dia:object> </dia:group> <dia:group> <dia:object type="UML - Realizes" version="1" id="O8"> <dia:attribute name="obj_pos"> <dia:point val="10.6153,8.74801"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="10.5653,8.74801;10.7153,12.32"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="10.6153,8.74801"/> <dia:point val="10.6153,8.74801"/> <dia:point val="10.6153,12.2493"/> <dia:point val="10.6153,12.2493"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O10" connection="10"/> <dia:connection handle="1" to="O11" connection="12"/> </dia:connections> <dia:childnode parent="O9"/> </dia:object> <dia:object type="UML - LargePackage" version="0" id="O9"> <dia:attribute name="obj_pos"> <dia:point val="0.503207,3.45415"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="0.453207,2.40415;18.7966,24.081"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="0.503207,3.45415"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="18.243354954612922"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="20.576807332528524"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000149011612"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_colour"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="name"> <dia:string>#libports-like library#</dia:string> </dia:attribute> </dia:object> <dia:object type="UML - Class" version="0" id="O10"> <dia:attribute name="obj_pos"> <dia:point val="4.78285,5.49761"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="4.73285,5.44761;16.4978,8.74761"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="4.78285,5.49761"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="11.664999999999999"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="3.2000000000000002"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#Server#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>#interface#</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_operations"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="visible_comments"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="wrap_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_after_char"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_line_length"> <dia:int val="17"/> </dia:attribute> <dia:attribute name="comment_tagging"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_color"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="normal_font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="abstract_font"> <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> </dia:attribute> <dia:attribute name="polymorphic_font"> <dia:font family="monospace" style="8" name="Courier-Oblique"/> </dia:attribute> <dia:attribute name="classname_font"> <dia:font family="sans" style="80" name="Helvetica-Bold"/> </dia:attribute> <dia:attribute name="abstract_classname_font"> <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> </dia:attribute> <dia:attribute name="comment_font"> <dia:font family="sans" style="8" name="Helvetica-Oblique"/> </dia:attribute> <dia:attribute name="normal_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="polymorphic_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="abstract_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="abstract_classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="comment_font_height"> <dia:real val="0.69999999999999996"/> </dia:attribute> <dia:attribute name="attributes"/> <dia:attribute name="operations"> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#handle#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Message#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#msg#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Message#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> </dia:object> <dia:object type="UML - Class" version="0" id="O11"> <dia:attribute name="obj_pos"> <dia:point val="4.78285,12.2997"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="4.73285,12.2497;16.4978,15.5497"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="4.78285,12.2997"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="11.664999999999999"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="3.2000000000000002"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#Demux#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="suppress_operations"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_attributes"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="visible_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="visible_comments"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="wrap_operations"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="wrap_after_char"> <dia:int val="40"/> </dia:attribute> <dia:attribute name="comment_line_length"> <dia:int val="17"/> </dia:attribute> <dia:attribute name="comment_tagging"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_color"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text_color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="normal_font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="abstract_font"> <dia:font family="monospace" style="88" name="Courier-BoldOblique"/> </dia:attribute> <dia:attribute name="polymorphic_font"> <dia:font family="monospace" style="8" name="Courier-Oblique"/> </dia:attribute> <dia:attribute name="classname_font"> <dia:font family="sans" style="80" name="Helvetica-Bold"/> </dia:attribute> <dia:attribute name="abstract_classname_font"> <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/> </dia:attribute> <dia:attribute name="comment_font"> <dia:font family="sans" style="8" name="Helvetica-Oblique"/> </dia:attribute> <dia:attribute name="normal_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="polymorphic_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="abstract_font_height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="abstract_classname_font_height"> <dia:real val="1"/> </dia:attribute> <dia:attribute name="comment_font_height"> <dia:real val="0.69999999999999996"/> </dia:attribute> <dia:attribute name="attributes"/> <dia:attribute name="operations"> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#addServer#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#s#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Server#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> <dia:composite type="umloperation"> <dia:attribute name="name"> <dia:string>#handle#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Message#</dia:string> </dia:attribute> <dia:attribute name="visibility"> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="abstract"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="inheritance_type"> <dia:enum val="2"/> </dia:attribute> <dia:attribute name="query"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="class_scope"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="parameters"> <dia:composite type="umlparameter"> <dia:attribute name="name"> <dia:string>#msg#</dia:string> </dia:attribute> <dia:attribute name="type"> <dia:string>#Message#</dia:string> </dia:attribute> <dia:attribute name="value"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="comment"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="kind"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:composite> </dia:attribute> <dia:attribute name="template"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="templates"/> <dia:childnode parent="O9"/> </dia:object> <dia:object type="UML - Association" version="2" id="O12"> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="direction"> <dia:enum val="1"/> </dia:attribute> <dia:attribute name="show_direction"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="assoc_type"> <dia:enum val="1"/> </dia:attribute> <dia:attribute name="role_a"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="multipicity_a"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility_a"> <dia:enum val="3"/> </dia:attribute> <dia:attribute name="show_arrow_a"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="role_b"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="multipicity_b"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="visibility_b"> <dia:enum val="3"/> </dia:attribute> <dia:attribute name="show_arrow_b"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="obj_pos"> <dia:point val="4.78285,12.9997"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="2.75192,6.54761;5.53285,14.5997"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="4.78285,12.9997"/> <dia:point val="2.80192,12.9997"/> <dia:point val="2.80192,6.59761"/> <dia:point val="4.78285,6.59761"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O11" connection="3"/> <dia:connection handle="1" to="O10" connection="3"/> </dia:connections> <dia:childnode parent="O9"/> </dia:object> <dia:object type="UML - Note" version="0" id="O13"> <dia:attribute name="obj_pos"> <dia:point val="5.16035,19.1017"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="5.11035,19.0517;16.1203,22.4517"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="5.16035,19.1017"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="10.91"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="3.3000000000000003"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_colour"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text"> <dia:composite type="text"> <dia:attribute name="string"> <dia:string>#Plus some kind of port set support and a way to start a server thread.#</dia:string> </dia:attribute> <dia:attribute name="font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="pos"> <dia:point val="5.51035,20.3467"/> </dia:attribute> <dia:attribute name="color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="alignment"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> <dia:childnode parent="O9"/> </dia:object> <dia:object type="UML - Realizes" version="1" id="O14"> <dia:attribute name="obj_pos"> <dia:point val="10.6153,8.74801"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="10.5653,8.74801;10.7153,12.32"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="10.6153,8.74801"/> <dia:point val="10.6153,8.74801"/> <dia:point val="10.6153,12.2493"/> <dia:point val="10.6153,12.2493"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O10" connection="10"/> <dia:connection handle="1" to="O11" connection="12"/> </dia:connections> <dia:childnode parent="O9"/> </dia:object> </dia:group> <dia:object type="UML - Note" version="0" id="O15"> <dia:attribute name="obj_pos"> <dia:point val="29.2528,-4.64872"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="29.2028,-4.69872;32.8978,-2.89872"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="elem_corner"> <dia:point val="29.2528,-4.64872"/> </dia:attribute> <dia:attribute name="elem_width"> <dia:real val="3.5949999999999998"/> </dia:attribute> <dia:attribute name="elem_height"> <dia:real val="1.7"/> </dia:attribute> <dia:attribute name="line_width"> <dia:real val="0.10000000000000001"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="fill_colour"> <dia:color val="#ffffff"/> </dia:attribute> <dia:attribute name="text"> <dia:composite type="text"> <dia:attribute name="string"> <dia:string>#io.defs#</dia:string> </dia:attribute> <dia:attribute name="font"> <dia:font family="monospace" style="0" name="Courier"/> </dia:attribute> <dia:attribute name="height"> <dia:real val="0.80000000000000004"/> </dia:attribute> <dia:attribute name="pos"> <dia:point val="29.6028,-3.40372"/> </dia:attribute> <dia:attribute name="color"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="alignment"> <dia:enum val="0"/> </dia:attribute> </dia:composite> </dia:attribute> </dia:object> <dia:object type="UML - Dependency" version="1" id="O16"> <dia:attribute name="obj_pos"> <dia:point val="31.0503,-2.94872"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="31.0003,-2.94872;32.3053,1.26212"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="31.0503,-2.94872"/> <dia:point val="31.0503,-2.94872"/> <dia:point val="31.0503,1.19141"/> <dia:point val="31.0503,1.19141"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="name"> <dia:string>#mig#</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="draw_arrow"> <dia:boolean val="true"/> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O15" connection="6"/> <dia:connection handle="1" to="O2" connection="1"/> </dia:connections> </dia:object> <dia:object type="UML - Realizes" version="1" id="O17"> <dia:attribute name="obj_pos"> <dia:point val="38.6094,14.4231"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="38.5594,13.5731;46.0992,16.0015"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="38.6094,14.4231"/> <dia:point val="42.3293,14.4231"/> <dia:point val="42.3293,14.3799"/> <dia:point val="46.0492,14.3799"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="true"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O4" connection="4"/> <dia:connection handle="1" to="O1" connection="3"/> </dia:connections> </dia:object> <dia:object type="UML - Realizes" version="1" id="O18"> <dia:attribute name="obj_pos"> <dia:point val="16.4478,6.59761"/> </dia:attribute> <dia:attribute name="obj_bb"> <dia:rectangle val="16.3978,5.74761;24.9476,8.17255"/> </dia:attribute> <dia:attribute name="meta"> <dia:composite type="dict"/> </dia:attribute> <dia:attribute name="orth_points"> <dia:point val="16.4478,6.59761"/> <dia:point val="20.4657,6.59761"/> <dia:point val="20.4657,6.54749"/> <dia:point val="24.8976,6.54749"/> </dia:attribute> <dia:attribute name="orth_orient"> <dia:enum val="0"/> <dia:enum val="1"/> <dia:enum val="0"/> </dia:attribute> <dia:attribute name="orth_autoroute"> <dia:boolean val="false"/> </dia:attribute> <dia:attribute name="line_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="text_colour"> <dia:color val="#000000"/> </dia:attribute> <dia:attribute name="name"> <dia:string>##</dia:string> </dia:attribute> <dia:attribute name="stereotype"> <dia:string>##</dia:string> </dia:attribute> <dia:connections> <dia:connection handle="0" to="O10" connection="4"/> <dia:connection handle="1" to="O3" connection="3"/> </dia:connections> </dia:object> </dia:layer> </dia:diagram>