owlps/doc/figures/positioner_class_diagram.uxf

1971 lines
47 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="11.5.1">
<help_text>//fontsize=14</help_text>
<zoom_level>10</zoom_level>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1080</x>
<y>630</y>
<w>100</w>
<h>60</h>
</coordinates>
<panel_attributes>Positioning
// Centralise le calcul des
// positions
--
//-distance_matrix: float**</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1040</x>
<y>430</y>
<w>110</w>
<h>30</h>
</coordinates>
<panel_attributes>UserInterface
// Classe utilitaire servant à
// récupérer la configuration
// depuis plusieurs endroits :
// arguments de la ligne de
// commandes, fichier de
// configuration, peut-être un
// jour base de données…</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1170</x>
<y>210</y>
<w>310</w>
<h>130</h>
</coordinates>
<panel_attributes>Point3D
--
#x: float
#y: float
#z: float
--
+square_distance(Point3D): float
+distance(Point3D): float
+distance_to_sphere(Point3D, float): float</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1530</x>
<y>250</y>
<w>120</w>
<h>30</h>
</coordinates>
<panel_attributes>ReferencePoint</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1450</x>
<y>240</y>
<w>100</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;80;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>760</x>
<y>50</y>
<w>120</w>
<h>50</h>
</coordinates>
<panel_attributes>Building
--
#name: string</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>750</x>
<y>240</y>
<w>130</w>
<h>50</h>
</coordinates>
<panel_attributes>Area
--
#name: string</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>990</x>
<y>150</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>Waypoint</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1060</x>
<y>150</y>
<w>130</w>
<h>80</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>110;60;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>800</x>
<y>70</y>
<w>50</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>30;30;30;170</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>570</x>
<y>140</y>
<w>440</w>
<h>240</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>30;220;70;30;420;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>640</x>
<y>630</y>
<w>460</w>
<h>200</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;-
m1=0..1
m2=0..n</panel_attributes>
<additional_attributes>440;30;30;180</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1150</x>
<y>640</y>
<w>470</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;-
m1=0..1
m2=0..n</panel_attributes>
<additional_attributes>30;30;450;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1040</x>
<y>740</y>
<w>160</w>
<h>30</h>
</coordinates>
<panel_attributes>/PositioningAlgorithm/
fg=</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1090</x>
<y>660</y>
<w>50</w>
<h>100</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>30;30;30;80</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1090</x>
<y>350</y>
<w>150</w>
<h>30</h>
</coordinates>
<panel_attributes>owlps-positionerd
bg=yellow</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>530</x>
<y>450</y>
<w>190</w>
<h>50</h>
</coordinates>
<panel_attributes>CapturePoint
--
#frequency: unsigned int
//#friis_idx</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>250</x>
<y>350</y>
<w>160</w>
<h>30</h>
</coordinates>
<panel_attributes>Mobile</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1070</x>
<y>350</y>
<w>100</w>
<h>100</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>80;30;30;80</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1140</x>
<y>350</y>
<w>90</w>
<h>300</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>70;30;70;180;30;280</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>390</x>
<y>1040</y>
<w>70</w>
<h>30</h>
</coordinates>
<panel_attributes>InputDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>470</x>
<y>810</y>
<w>220</w>
<h>40</h>
</coordinates>
<panel_attributes>Input
// Gère les entrées
--
+get_next_request(): Request</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>450</x>
<y>890</y>
<w>220</w>
<h>70</h>
</coordinates>
<panel_attributes>/InputMedium/
//extends input flow ?
--
--
/+get_next_request(): Request/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>390</x>
<y>930</y>
<w>100</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>80;30;30;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>470</x>
<y>1040</y>
<w>70</w>
<h>30</h>
</coordinates>
<panel_attributes>InputXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>480</x>
<y>930</y>
<w>60</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>40;30;30;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>550</x>
<y>1040</y>
<w>180</w>
<h>60</h>
</coordinates>
<panel_attributes>InputCSV
--
#input_file_name: string
#input_file: std::ifstream</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>550</x>
<y>930</y>
<w>60</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;40;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>650</x>
<y>1130</y>
<w>150</w>
<h>50</h>
</coordinates>
<panel_attributes>/InputNetworkSocket/
fg=red
--
#listen_port: int</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>640</x>
<y>930</y>
<w>190</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;170;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>520</x>
<y>820</y>
<w>50</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
// A priori, il n'y a pas de raison
// d'avoir plusieurs sources en
// entrée.</panel_attributes>
<additional_attributes>30;30;30;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>740</x>
<y>1040</y>
<w>140</w>
<h>50</h>
</coordinates>
<panel_attributes>/InputSocket/
fg=red
--
#listen_socket: int</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>690</x>
<y>1060</y>
<w>100</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>80;30;30;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>790</x>
<y>1060</y>
<w>100</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;80;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>810</x>
<y>1130</y>
<w>150</w>
<h>50</h>
</coordinates>
<panel_attributes>InputUnixSocket
fg=red
--
#sock_name: string</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1600</x>
<y>750</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>Output
// Gère les sorties de résultats</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1680</x>
<y>850</y>
<w>120</w>
<h>30</h>
</coordinates>
<panel_attributes>/OutputMedium/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1690</x>
<y>850</y>
<w>50</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;30;90</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1770</x>
<y>940</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>OutputCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1710</x>
<y>850</y>
<w>110</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;90;90</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1820</x>
<y>940</y>
<w>120</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>100;30;30;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1870</x>
<y>940</y>
<w>160</w>
<h>30</h>
</coordinates>
<panel_attributes>/OutputNetworkSocket/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1780</x>
<y>1050</y>
<w>140</w>
<h>30</h>
</coordinates>
<panel_attributes>OutputUDPSocket</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1750</x>
<y>850</y>
<w>190</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;170;90</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1630</x>
<y>750</y>
<w>130</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>30;30;110;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1800</x>
<y>640</y>
<w>130</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>110;30;30;130</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1670</x>
<y>940</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>OutputXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1580</x>
<y>940</y>
<w>80</w>
<h>30</h>
</coordinates>
<panel_attributes>OutputDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1460</x>
<y>940</y>
<w>110</w>
<h>30</h>
</coordinates>
<panel_attributes>OutputTerminal</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1490</x>
<y>850</y>
<w>210</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>190;30;30;90</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1590</x>
<y>850</y>
<w>130</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>110;30;30;90</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>380</x>
<y>340</y>
<w>190</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>170;30;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>660</x>
<y>280</y>
<w>530</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
coordinates
m1=0..n</panel_attributes>
<additional_attributes>30;170;360;50;510;50</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>850</x>
<y>230</y>
<w>340</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
coordinates
m2=2
m1=0..n</panel_attributes>
<additional_attributes>30;50;320;50</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>850</x>
<y>150</y>
<w>190</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=-
m1=1..n
m2=0..n</panel_attributes>
<additional_attributes>30;100;170;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>600</x>
<y>70</y>
<w>180</w>
<h>310</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
m1=0..n</panel_attributes>
<additional_attributes>160;30;30;290</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1150</x>
<y>250</y>
<w>500</w>
<h>410</h>
</coordinates>
<panel_attributes>lt=-&gt;
m2=0..n</panel_attributes>
<additional_attributes>30;390;480;200;480;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1090</x>
<y>510</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>Configuration
bg=green
// Stocke la configuration</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1060</x>
<y>430</y>
<w>90</w>
<h>100</h>
</coordinates>
<panel_attributes>lt=&lt;.</panel_attributes>
<additional_attributes>70;80;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1070</x>
<y>510</y>
<w>90</w>
<h>140</h>
</coordinates>
<panel_attributes>lt=&lt;.</panel_attributes>
<additional_attributes>70;30;30;120</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>660</x>
<y>1220</y>
<w>120</w>
<h>30</h>
</coordinates>
<panel_attributes>InputUDPSocket</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>690</x>
<y>1150</y>
<w>50</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;30;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>340</x>
<y>550</y>
<w>160</w>
<h>60</h>
</coordinates>
<panel_attributes>Measurement
// Représente une liste de signaux reçus d'un
// mobile par un AP.
--
#average_ss: float
#ss_list: vector&lt;int&gt;</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>190</x>
<y>350</y>
<w>210</w>
<h>360</h>
</coordinates>
<panel_attributes>lt=&lt;-
m2=0..n
transmitter</panel_attributes>
<additional_attributes>70;30;70;190;190;340</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>470</x>
<y>470</y>
<w>140</w>
<h>100</h>
</coordinates>
<panel_attributes>lt=-
m2=0..n
receiver</panel_attributes>
<additional_attributes>120;30;30;80</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>390</x>
<y>690</y>
<w>80</w>
<h>220</h>
</coordinates>
<panel_attributes>lt=&gt;-</panel_attributes>
<additional_attributes>60;200;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1460</x>
<y>250</y>
<w>130</w>
<h>160</h>
</coordinates>
<panel_attributes>lt=-
m2=1..n</panel_attributes>
<additional_attributes>110;30;30;140</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1020</x>
<y>940</y>
<w>70</w>
<h>30</h>
</coordinates>
<panel_attributes>NSS
// Anciennement RADAR</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>890</x>
<y>940</y>
<w>60</w>
<h>30</h>
</coordinates>
<panel_attributes>FBCM</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>930</x>
<y>1010</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>FRBHMBasic</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>900</x>
<y>840</y>
<w>120</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>100;30;30;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1030</x>
<y>840</y>
<w>180</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>160;30;30;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1200</x>
<y>840</y>
<w>70</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>50;30;30;170</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>170</x>
<y>940</y>
<w>130</w>
<h>30</h>
</coordinates>
<panel_attributes>/InputLogMedium/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>210</x>
<y>800</y>
<w>280</w>
<h>160</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>260;30;30;30;30;140</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>0</x>
<y>1040</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>InputLogDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>10</x>
<y>940</y>
<w>220</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>200;30;30;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>280</x>
<y>1040</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>InputLogXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>220</x>
<y>940</y>
<w>130</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;110;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>100</x>
<y>1040</y>
<w>170</w>
<h>60</h>
</coordinates>
<panel_attributes>InputLogCSV
--
#log_file_name: string
#log_file: std::ofstream</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>170</x>
<y>940</y>
<w>80</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>60;30;30;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1870</x>
<y>640</y>
<w>130</w>
<h>30</h>
</coordinates>
<panel_attributes>/StatisticsMedium/
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1630</x>
<y>620</y>
<w>260</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=0..1
m2=0..n</panel_attributes>
<additional_attributes>30;130;240;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1740</x>
<y>770</y>
<w>140</w>
<h>30</h>
</coordinates>
<panel_attributes>StatisticsTerminal
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1890</x>
<y>770</y>
<w>110</w>
<h>30</h>
</coordinates>
<panel_attributes>StatisticsXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1900</x>
<y>640</y>
<w>60</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;40;130</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>2010</x>
<y>770</y>
<w>110</w>
<h>30</h>
</coordinates>
<panel_attributes>StatisticsDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1930</x>
<y>640</y>
<w>160</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;140;130</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1390</x>
<y>390</y>
<w>150</w>
<h>30</h>
</coordinates>
<panel_attributes>CalibrationRequest</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>430</x>
<y>390</y>
<w>1070</w>
<h>330</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;310;850;170;1050;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>340</x>
<y>420</y>
<w>160</w>
<h>100</h>
</coordinates>
<panel_attributes>WifiDevice
--
#ip_addr: string
#mac_addr: string
#antenna_gain: float
#trx_power: float</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>470</x>
<y>440</y>
<w>80</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;60;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>260</x>
<y>350</y>
<w>100</w>
<h>160</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>80;140;30;140;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1170</x>
<y>1010</y>
<w>120</w>
<h>30</h>
</coordinates>
<panel_attributes>FRBHMDiscrete
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>900</x>
<y>940</y>
<w>100</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;80;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>750</x>
<y>940</y>
<w>130</w>
<h>30</h>
</coordinates>
<panel_attributes>InterlinkNetworks</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>780</x>
<y>840</y>
<w>210</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>190;30;30;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1300</x>
<y>1010</y>
<w>140</w>
<h>30</h>
</coordinates>
<panel_attributes>FRBHMContinuous
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1250</x>
<y>840</y>
<w>100</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;80;170</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>380</x>
<y>690</y>
<w>80</w>
<h>30</h>
</coordinates>
<panel_attributes>Request
// Représente une requête envoyée
// par un mobile.</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>390</x>
<y>580</y>
<w>50</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>30;110;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>550</x>
<y>360</y>
<w>80</w>
<h>30</h>
</coordinates>
<panel_attributes>Stock
bg=green
// Classe de stockage,
// attributs statiques</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>600</x>
<y>340</y>
<w>510</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>490;30;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>550</x>
<y>360</y>
<w>50</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>30;30;30;90</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>420</x>
<y>240</y>
<w>70</w>
<h>30</h>
</coordinates>
<panel_attributes>PosUtil
bg=green
// Classe utilitaire, méthodes
// statiques et #define</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1480</x>
<y>540</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>Result</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1600</x>
<y>540</y>
<w>150</w>
<h>230</h>
</coordinates>
<panel_attributes>lt=&gt;-</panel_attributes>
<additional_attributes>30;210;130;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1220</x>
<y>310</y>
<w>280</w>
<h>250</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
position</panel_attributes>
<additional_attributes>60;30;60;180;260;230</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>430</x>
<y>530</y>
<w>1070</w>
<h>200</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>1050;30;30;180</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>170</x>
<y>730</y>
<w>220</w>
<h>60</h>
</coordinates>
<panel_attributes>Timestamp
--
#timestamp: struct timespec
--
+now(): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>230</x>
<y>670</y>
<w>170</w>
<h>80</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>150;30;30;30;30;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1250</x>
<y>750</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>RealPosition
// Faux algorithme qui retourne
// la position réelle (si disponible)</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1170</x>
<y>730</y>
<w>100</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;80;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>410</x>
<y>190</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>posexcept.hh
// Ensemble de classes d'exceptions</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1690</x>
<y>390</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>Direction</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1510</x>
<y>370</y>
<w>200</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;180;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>540</x>
<y>0</y>
<w>1060</w>
<h>380</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
m1=0..n</panel_attributes>
<additional_attributes>1040;250;1040;30;50;30;30;360</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>600</x>
<y>360</y>
<w>810</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
m1=0..n</panel_attributes>
<additional_attributes>790;40;110;70;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1190</x>
<y>1250</y>
<w>180</w>
<h>50</h>
</coordinates>
<panel_attributes>TextFileWriter
--
--
+write_text(string): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1230</x>
<y>940</y>
<w>600</w>
<h>330</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>30;310;580;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>160</x>
<y>1070</y>
<w>1050</w>
<h>210</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>1030;190;380;190;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>960</x>
<y>840</y>
<w>180</w>
<h>30</h>
</coordinates>
<panel_attributes>/TrilaterationAlgorithm/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>730</x>
<y>840</y>
<w>170</w>
<h>30</h>
</coordinates>
<panel_attributes>/TrilaterationMethod/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>900</x>
<y>790</y>
<w>80</w>
<h>30</h>
</coordinates>
<panel_attributes>MinMax</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>870</x>
<y>820</y>
<w>110</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=-&gt;</panel_attributes>
<additional_attributes>90;30;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1030</x>
<y>740</y>
<w>110</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>90;30;30;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>790</x>
<y>780</y>
<w>130</w>
<h>80</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;60;110;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1180</x>
<y>840</y>
<w>170</w>
<h>30</h>
</coordinates>
<panel_attributes>/CartographyAlgorithm/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1130</x>
<y>740</y>
<w>160</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;140;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1110</x>
<y>840</y>
<w>240</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;220;170</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>950</x>
<y>940</y>
<w>110</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>90;30;30;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1080</x>
<y>840</y>
<w>170</w>
<h>190</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;150;170</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>700</x>
<y>550</y>
<w>170</w>
<h>60</h>
</coordinates>
<panel_attributes>CSVFileReader
--
--
+next_line(): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>660</x>
<y>580</y>
<w>100</w>
<h>480</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>80;30;30;460</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>960</x>
<y>550</y>
<w>150</w>
<h>30</h>
</coordinates>
<panel_attributes>TopologyReaderCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>840</x>
<y>540</y>
<w>140</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>30;30;120;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>950</x>
<y>410</y>
<w>110</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>30;30;90;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>510</x>
<y>600</y>
<w>180</w>
<h>50</h>
</coordinates>
<panel_attributes>TextFileReader
--
--
+read_line(string): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>580</x>
<y>550</y>
<w>140</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;50;30;30;120;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>850</x>
<y>430</y>
<w>130</w>
<h>30</h>
</coordinates>
<panel_attributes>InputDataReader</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>950</x>
<y>420</y>
<w>110</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=&lt;.</panel_attributes>
<additional_attributes>90;130;90;60;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>850</x>
<y>50</y>
<w>160</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=-
m1=1..n
m2=1..n</panel_attributes>
<additional_attributes>30;30;140;100</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1050</x>
<y>1010</y>
<w>110</w>
<h>30</h>
</coordinates>
<panel_attributes>NSSViterbi
// Anciennement RADARViterbi
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1200</x>
<y>1110</y>
<w>80</w>
<h>30</h>
</coordinates>
<panel_attributes>Viterbi
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1040</x>
<y>940</y>
<w>90</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;70;70</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1110</x>
<y>1010</y>
<w>130</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>110;100;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1220</x>
<y>1010</y>
<w>120</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;100;100;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1210</x>
<y>1010</y>
<w>50</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;100;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>760</x>
<y>500</y>
<w>180</w>
<h>30</h>
</coordinates>
<panel_attributes>CapturePointsReaderCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>830</x>
<y>430</y>
<w>70</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;.</panel_attributes>
<additional_attributes>30;70;50;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>840</x>
<y>500</y>
<w>100</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>30;50;80;50;80;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1690</x>
<y>540</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>ResultList</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1550</x>
<y>520</y>
<w>160</w>
<h>50</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>140;30;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>620</x>
<y>510</y>
<w>130</w>
<h>30</h>
</coordinates>
<panel_attributes>MobilesReaderCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>710</x>
<y>420</y>
<w>160</w>
<h>110</h>
</coordinates>
<panel_attributes>lt=&lt;.</panel_attributes>
<additional_attributes>30;90;50;30;140;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>610</x>
<y>510</y>
<w>110</w>
<h>70</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>90;50;30;50;30;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1930</x>
<y>1050</y>
<w>170</w>
<h>30</h>
</coordinates>
<panel_attributes>OutputTCPSocketEvAAL</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1930</x>
<y>940</y>
<w>100</w>
<h>130</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;30;80;110</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>510</x>
<y>710</y>
<w>180</w>
<h>60</h>
</coordinates>
<panel_attributes>CSVStringReader
--
--
+set_str(string)
+read_field(&lt;T&gt;): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>660</x>
<y>580</y>
<w>140</w>
<h>160</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;140;120;140;120;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>640</x>
<y>430</y>
<w>350</w>
<h>480</h>
</coordinates>
<panel_attributes>lt=-&gt;
m2=*</panel_attributes>
<additional_attributes>330;30;300;170;30;460</additional_attributes>
</element>
<group>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>230</x>
<y>70</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>StaticClass
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>230</x>
<y>110</y>
<w>100</w>
<h>30</h>
</coordinates>
<panel_attributes>executable
bg=yellow</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.custom.Systemborder</type>
<coordinates>
<x>220</x>
<y>40</y>
<w>140</w>
<h>160</h>
</coordinates>
<panel_attributes>Color legend</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>230</x>
<y>160</y>
<w>120</w>
<h>30</h>
</coordinates>
<panel_attributes>Unimplemented
fg=red</panel_attributes>
<additional_attributes/>
</element>
</group>
</diagram>