owlps/doc/figures/positioner_class_diagram.uxf

1959 lines
46 KiB
XML

<?xml version="1.0" encoding="UTF-8"?><diagram program="umlet" version="11.3">
<help_text>//fontsize=14</help_text>
<zoom_level>6</zoom_level>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>648</x>
<y>378</y>
<w>60</w>
<h>36</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>624</x>
<y>264</y>
<w>66</w>
<h>18</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>702</x>
<y>126</y>
<w>186</w>
<h>78</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>918</x>
<y>150</y>
<w>72</w>
<h>18</h>
</coordinates>
<panel_attributes>ReferencePoint</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>870</x>
<y>144</y>
<w>60</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;48;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>456</x>
<y>30</y>
<w>72</w>
<h>30</h>
</coordinates>
<panel_attributes>Building
--
#name: string</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>450</x>
<y>144</y>
<w>78</w>
<h>30</h>
</coordinates>
<panel_attributes>Area
--
#name: string</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>594</x>
<y>90</y>
<w>60</w>
<h>18</h>
</coordinates>
<panel_attributes>Waypoint</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>636</x>
<y>90</y>
<w>78</w>
<h>48</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>66;36;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>480</x>
<y>42</y>
<w>30</w>
<h>114</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>18;18;18;102</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>342</x>
<y>84</y>
<w>264</w>
<h>144</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>18;132;42;18;252;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>384</x>
<y>378</y>
<w>276</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;-
m1=0..1
m2=0..n</panel_attributes>
<additional_attributes>264;18;18;108</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>690</x>
<y>384</y>
<w>282</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;-
m1=0..1
m2=0..n</panel_attributes>
<additional_attributes>18;18;270;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>624</x>
<y>444</y>
<w>96</w>
<h>18</h>
</coordinates>
<panel_attributes>/PositioningAlgorithm/
fg=</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>654</x>
<y>396</y>
<w>30</w>
<h>60</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>18;18;18;48</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>654</x>
<y>210</y>
<w>90</w>
<h>18</h>
</coordinates>
<panel_attributes>owlps-positioning
bg=yellow</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>318</x>
<y>270</y>
<w>114</w>
<h>30</h>
</coordinates>
<panel_attributes>AccessPoint
--
#frequency: unsigned int
//#friis_idx</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>150</x>
<y>210</y>
<w>96</w>
<h>18</h>
</coordinates>
<panel_attributes>Mobile</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>642</x>
<y>210</y>
<w>60</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>48;18;18;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>672</x>
<y>210</y>
<w>48</w>
<h>180</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>36;18;36;114;18;168</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>234</x>
<y>624</y>
<w>42</w>
<h>18</h>
</coordinates>
<panel_attributes>InputDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>282</x>
<y>486</y>
<w>132</w>
<h>24</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>270</x>
<y>534</y>
<w>132</w>
<h>42</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>234</x>
<y>558</y>
<w>60</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>48;18;18;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>282</x>
<y>624</y>
<w>42</w>
<h>18</h>
</coordinates>
<panel_attributes>InputXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>288</x>
<y>558</y>
<w>36</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>24;18;18;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>330</x>
<y>624</y>
<w>108</w>
<h>36</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>330</x>
<y>558</y>
<w>36</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;24;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>390</x>
<y>678</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>/InputNetworkSocket/
fg=red
--
#listen_port: int</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>384</x>
<y>558</y>
<w>114</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;102;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>312</x>
<y>492</y>
<w>30</w>
<h>54</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>18;18;18;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>444</x>
<y>624</y>
<w>84</w>
<h>30</h>
</coordinates>
<panel_attributes>/InputSocket/
fg=red
--
#listen_socket: int</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>414</x>
<y>636</y>
<w>60</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>48;18;18;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>474</x>
<y>636</y>
<w>60</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;48;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>486</x>
<y>678</y>
<w>90</w>
<h>30</h>
</coordinates>
<panel_attributes>InputUnixSocket
fg=red
--
#sock_name: string</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>960</x>
<y>450</y>
<w>60</w>
<h>18</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>1008</x>
<y>510</y>
<w>72</w>
<h>18</h>
</coordinates>
<panel_attributes>/OutputMedium/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1014</x>
<y>510</y>
<w>30</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;18;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1062</x>
<y>564</y>
<w>54</w>
<h>18</h>
</coordinates>
<panel_attributes>OutputCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1026</x>
<y>510</y>
<w>66</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;54;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1092</x>
<y>564</y>
<w>72</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>60;18;18;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1122</x>
<y>564</y>
<w>96</w>
<h>18</h>
</coordinates>
<panel_attributes>/OutputNetworkSocket/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1068</x>
<y>630</y>
<w>84</w>
<h>18</h>
</coordinates>
<panel_attributes>OutputUDPSocket</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1050</x>
<y>510</y>
<w>114</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;102;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>978</x>
<y>450</y>
<w>78</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>18;18;66;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1080</x>
<y>384</y>
<w>78</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>66;18;18;78</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1002</x>
<y>564</y>
<w>54</w>
<h>18</h>
</coordinates>
<panel_attributes>OutputXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>948</x>
<y>564</y>
<w>48</w>
<h>18</h>
</coordinates>
<panel_attributes>OutputDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>876</x>
<y>564</y>
<w>66</w>
<h>18</h>
</coordinates>
<panel_attributes>OutputTerminal</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>894</x>
<y>510</y>
<w>126</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>114;18;18;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>954</x>
<y>510</y>
<w>78</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>66;18;18;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>228</x>
<y>204</y>
<w>114</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>102;18;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>396</x>
<y>168</y>
<w>318</w>
<h>114</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
coordinates
m1=0..n</panel_attributes>
<additional_attributes>18;102;216;30;306;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>510</x>
<y>138</y>
<w>204</w>
<h>42</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
coordinates
m2=2
m1=0..n</panel_attributes>
<additional_attributes>18;30;192;30</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>510</x>
<y>90</y>
<w>114</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=-
m1=1..n
m2=0..n</panel_attributes>
<additional_attributes>18;60;102;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>360</x>
<y>42</y>
<w>108</w>
<h>186</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
m1=0..n</panel_attributes>
<additional_attributes>96;18;18;174</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>690</x>
<y>150</y>
<w>300</w>
<h>246</h>
</coordinates>
<panel_attributes>lt=-&gt;
m2=0..n</panel_attributes>
<additional_attributes>18;234;288;120;288;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>624</x>
<y>294</y>
<w>66</w>
<h>18</h>
</coordinates>
<panel_attributes>Configuration
bg=green
// Stocke la configuration</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>636</x>
<y>264</y>
<w>30</w>
<h>42</h>
</coordinates>
<panel_attributes>lt=-</panel_attributes>
<additional_attributes>18;30;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>642</x>
<y>294</y>
<w>30</w>
<h>96</h>
</coordinates>
<panel_attributes>lt=-</panel_attributes>
<additional_attributes>18;18;18;84</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>396</x>
<y>732</y>
<w>72</w>
<h>18</h>
</coordinates>
<panel_attributes>InputUDPSocket</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>414</x>
<y>690</y>
<w>30</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;18;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>204</x>
<y>330</y>
<w>96</w>
<h>36</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>114</x>
<y>210</y>
<w>126</w>
<h>216</h>
</coordinates>
<panel_attributes>lt=&lt;-
m2=0..n
transmitter</panel_attributes>
<additional_attributes>42;18;42;114;114;204</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>282</x>
<y>282</y>
<w>84</w>
<h>60</h>
</coordinates>
<panel_attributes>lt=-
m2=0..n
receiver</panel_attributes>
<additional_attributes>72;18;18;48</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>234</x>
<y>414</y>
<w>48</w>
<h>132</h>
</coordinates>
<panel_attributes>lt=&gt;-</panel_attributes>
<additional_attributes>36;120;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>876</x>
<y>150</y>
<w>78</w>
<h>96</h>
</coordinates>
<panel_attributes>lt=-
m2=1..n</panel_attributes>
<additional_attributes>66;18;18;84</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>612</x>
<y>564</y>
<w>42</w>
<h>18</h>
</coordinates>
<panel_attributes>NSS
// Anciennement RADAR</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>534</x>
<y>564</y>
<w>36</w>
<h>18</h>
</coordinates>
<panel_attributes>FBCM</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>558</x>
<y>606</y>
<w>60</w>
<h>18</h>
</coordinates>
<panel_attributes>FRBHMBasic</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>540</x>
<y>504</y>
<w>72</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>60;18;18;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>618</x>
<y>504</y>
<w>108</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>96;18;18;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>720</x>
<y>504</y>
<w>42</w>
<h>114</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>30;18;18;102</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>102</x>
<y>564</y>
<w>78</w>
<h>18</h>
</coordinates>
<panel_attributes>/InputLogMedium/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>126</x>
<y>480</y>
<w>168</w>
<h>96</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>156;18;18;18;18;84</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>0</x>
<y>624</y>
<w>54</w>
<h>18</h>
</coordinates>
<panel_attributes>InputLogDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>6</x>
<y>564</y>
<w>132</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>120;18;18;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>168</x>
<y>624</y>
<w>60</w>
<h>18</h>
</coordinates>
<panel_attributes>InputLogXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>132</x>
<y>564</y>
<w>78</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;66;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>60</x>
<y>624</y>
<w>102</w>
<h>36</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>102</x>
<y>564</y>
<w>48</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>36;18;18;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1122</x>
<y>384</y>
<w>78</w>
<h>18</h>
</coordinates>
<panel_attributes>/StatisticsMedium/
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>978</x>
<y>372</y>
<w>156</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m1=0..1
m2=0..n</panel_attributes>
<additional_attributes>18;78;144;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1044</x>
<y>462</y>
<w>84</w>
<h>18</h>
</coordinates>
<panel_attributes>StatisticsTerminal
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1134</x>
<y>462</y>
<w>66</w>
<h>18</h>
</coordinates>
<panel_attributes>StatisticsXML
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1140</x>
<y>384</y>
<w>36</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;24;78</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1206</x>
<y>462</y>
<w>66</w>
<h>18</h>
</coordinates>
<panel_attributes>StatisticsDB
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1158</x>
<y>384</y>
<w>96</w>
<h>90</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;84;78</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>834</x>
<y>234</y>
<w>90</w>
<h>18</h>
</coordinates>
<panel_attributes>CalibrationRequest</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>258</x>
<y>234</y>
<w>642</w>
<h>198</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;186;630;60;630;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>204</x>
<y>252</y>
<w>96</w>
<h>60</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>282</x>
<y>264</y>
<w>48</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;36;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>156</x>
<y>210</y>
<w>60</w>
<h>96</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>48;84;18;84;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>702</x>
<y>606</y>
<w>72</w>
<h>18</h>
</coordinates>
<panel_attributes>FRBHMDiscrete
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>540</x>
<y>564</y>
<w>60</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;48;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>450</x>
<y>564</y>
<w>78</w>
<h>18</h>
</coordinates>
<panel_attributes>InterlinkNetworks</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>468</x>
<y>504</y>
<w>126</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>114;18;18;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>780</x>
<y>606</y>
<w>84</w>
<h>18</h>
</coordinates>
<panel_attributes>FRBHMContinuous
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>750</x>
<y>504</y>
<w>60</w>
<h>114</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;48;102</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>228</x>
<y>414</y>
<w>48</w>
<h>18</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>234</x>
<y>348</y>
<w>30</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=1..n</panel_attributes>
<additional_attributes>18;66;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>330</x>
<y>216</y>
<w>48</w>
<h>18</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>360</x>
<y>204</y>
<w>306</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>294;18;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>330</x>
<y>216</y>
<w>30</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>18;18;18;54</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>252</x>
<y>144</y>
<w>42</w>
<h>18</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>888</x>
<y>324</y>
<w>60</w>
<h>18</h>
</coordinates>
<panel_attributes>Result</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>960</x>
<y>324</y>
<w>90</w>
<h>138</h>
</coordinates>
<panel_attributes>lt=&gt;-</panel_attributes>
<additional_attributes>18;126;78;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>732</x>
<y>186</y>
<w>168</w>
<h>150</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
position</panel_attributes>
<additional_attributes>36;18;36;108;156;138</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>258</x>
<y>318</y>
<w>642</w>
<h>120</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>630;18;18;108</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>102</x>
<y>438</y>
<w>132</w>
<h>36</h>
</coordinates>
<panel_attributes>Timestamp
--
#timestamp: struct timespec
--
+now(): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>138</x>
<y>402</y>
<w>102</w>
<h>48</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>90;18;18;18;18;36</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>750</x>
<y>450</y>
<w>60</w>
<h>18</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>702</x>
<y>438</y>
<w>60</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;48;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>246</x>
<y>114</y>
<w>60</w>
<h>18</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>1014</x>
<y>234</y>
<w>54</w>
<h>18</h>
</coordinates>
<panel_attributes>Direction</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>906</x>
<y>222</y>
<w>120</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;108;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>324</x>
<y>0</y>
<w>636</w>
<h>228</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
m1=0..n</panel_attributes>
<additional_attributes>624;150;624;18;30;18;18;216</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>360</x>
<y>216</y>
<w>486</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=-&gt;&gt;&gt;&gt;
m1=0..n</panel_attributes>
<additional_attributes>474;24;66;42;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>714</x>
<y>750</y>
<w>108</w>
<h>30</h>
</coordinates>
<panel_attributes>TextFileWriter
--
--
+write_text(string): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>738</x>
<y>564</y>
<w>360</w>
<h>198</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>18;186;348;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>96</x>
<y>642</y>
<w>630</w>
<h>126</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>618;114;228;114;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>576</x>
<y>504</y>
<w>108</w>
<h>18</h>
</coordinates>
<panel_attributes>/TrilaterationAlgorithm/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>438</x>
<y>504</y>
<w>102</w>
<h>18</h>
</coordinates>
<panel_attributes>/TrilaterationMethod/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>540</x>
<y>474</y>
<w>48</w>
<h>18</h>
</coordinates>
<panel_attributes>MinMax</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>522</x>
<y>492</y>
<w>66</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=-&gt;</panel_attributes>
<additional_attributes>54;18;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>618</x>
<y>444</y>
<w>66</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>54;18;18;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>474</x>
<y>468</y>
<w>78</w>
<h>48</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;36;66;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>708</x>
<y>504</y>
<w>102</w>
<h>18</h>
</coordinates>
<panel_attributes>/CartographyAlgorithm/</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>678</x>
<y>444</y>
<w>96</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;84;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>666</x>
<y>504</y>
<w>144</w>
<h>114</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;132;102</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>570</x>
<y>564</y>
<w>66</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>54;18;18;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>648</x>
<y>504</y>
<w>102</w>
<h>114</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;90;102</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>420</x>
<y>330</y>
<w>102</w>
<h>36</h>
</coordinates>
<panel_attributes>CSVFileReader
--
--
+next_line(): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>396</x>
<y>348</y>
<w>60</w>
<h>288</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>48;18;18;276</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>552</x>
<y>318</y>
<w>90</w>
<h>18</h>
</coordinates>
<panel_attributes>TopologyReaderCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>504</x>
<y>312</y>
<w>60</w>
<h>42</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>18;30;48;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>564</x>
<y>252</y>
<w>72</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>18;18;60;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>306</x>
<y>360</y>
<w>108</w>
<h>30</h>
</coordinates>
<panel_attributes>TextFileReader
--
--
+read_line(string): bool</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>348</x>
<y>330</y>
<w>84</w>
<h>42</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;30;18;18;72;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>504</x>
<y>264</y>
<w>78</w>
<h>18</h>
</coordinates>
<panel_attributes>InputDataReader</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>552</x>
<y>264</y>
<w>60</w>
<h>66</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>48;54;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>510</x>
<y>30</y>
<w>96</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=-
m1=1..n
m2=1..n</panel_attributes>
<additional_attributes>18;18;84;60</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>630</x>
<y>606</y>
<w>66</w>
<h>18</h>
</coordinates>
<panel_attributes>NSSViterbi
// Anciennement RADARViterbi
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>720</x>
<y>666</y>
<w>48</w>
<h>18</h>
</coordinates>
<panel_attributes>Viterbi
fg=red</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>624</x>
<y>564</y>
<w>54</w>
<h>54</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;42;42</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>666</x>
<y>606</y>
<w>78</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>66;60;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>732</x>
<y>606</y>
<w>72</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;60;60;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>726</x>
<y>606</y>
<w>30</w>
<h>72</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;60;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>456</x>
<y>294</y>
<w>108</w>
<h>18</h>
</coordinates>
<panel_attributes>AccessPointsReaderCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>498</x>
<y>264</y>
<w>36</w>
<h>42</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>18;30;24;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>468</x>
<y>294</y>
<w>42</w>
<h>48</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>18;36;30;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1014</x>
<y>324</y>
<w>54</w>
<h>18</h>
</coordinates>
<panel_attributes>ResultList</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>930</x>
<y>312</y>
<w>96</w>
<h>30</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;&lt;&lt;-
m2=0..n</panel_attributes>
<additional_attributes>84;18;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>372</x>
<y>306</y>
<w>78</w>
<h>18</h>
</coordinates>
<panel_attributes>MobilesReaderCSV</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>426</x>
<y>258</y>
<w>90</w>
<h>60</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>18;48;18;18;78;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>366</x>
<y>306</y>
<w>66</w>
<h>42</h>
</coordinates>
<panel_attributes>lt=&lt;-</panel_attributes>
<additional_attributes>54;30;18;30;18;18</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>1158</x>
<y>630</y>
<w>102</w>
<h>18</h>
</coordinates>
<panel_attributes>OutputTCPSocketEvAAL</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Relation</type>
<coordinates>
<x>1158</x>
<y>564</y>
<w>60</w>
<h>78</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;18;48;66</additional_attributes>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>306</x>
<y>426</y>
<w>108</w>
<h>36</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>396</x>
<y>348</y>
<w>84</w>
<h>96</h>
</coordinates>
<panel_attributes>lt=&lt;&lt;-</panel_attributes>
<additional_attributes>18;84;72;84;72;18</additional_attributes>
</element>
<group>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>138</x>
<y>42</y>
<w>60</w>
<h>18</h>
</coordinates>
<panel_attributes>StaticClass
bg=green</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>138</x>
<y>66</y>
<w>60</w>
<h>18</h>
</coordinates>
<panel_attributes>executable
bg=yellow</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.custom.Systemborder</type>
<coordinates>
<x>132</x>
<y>24</y>
<w>84</w>
<h>96</h>
</coordinates>
<panel_attributes>Color legend</panel_attributes>
<additional_attributes/>
</element>
<element>
<type>com.umlet.element.Class</type>
<coordinates>
<x>138</x>
<y>96</y>
<w>72</w>
<h>18</h>
</coordinates>
<panel_attributes>Unimplemented
fg=red</panel_attributes>
<additional_attributes/>
</element>
</group>
</diagram>