//fontsize=14
6
com.umlet.element.Class
648
378
60
36
Positioning
// Centralise le calcul des
// positions
--
//-distance_matrix: float**
com.umlet.element.Class
624
264
66
18
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…
com.umlet.element.Class
702
126
186
78
Point3D
--
#x: float
#y: float
#z: float
--
+square_distance(Point3D): float
+distance(Point3D): float
+distance_to_sphere(Point3D, float): float
com.umlet.element.Class
918
150
72
18
ReferencePoint
com.umlet.element.Relation
870
144
60
30
lt=<<-
18;18;48;18
com.umlet.element.Class
456
30
72
30
Building
--
#name: string
com.umlet.element.Class
450
144
78
30
Area
--
#name: string
com.umlet.element.Class
594
90
60
18
Waypoint
com.umlet.element.Relation
636
90
78
48
lt=<<-
66;36;18;18
com.umlet.element.Relation
480
42
30
114
lt=<<<<-
m2=1..n
18;18;18;102
com.umlet.element.Relation
342
84
264
144
lt=<<<<-
m2=0..n
18;132;42;18;252;18
com.umlet.element.Relation
384
378
276
120
lt=<<<-
m1=0..1
m2=0..n
264;18;18;108
com.umlet.element.Relation
690
384
282
78
lt=<<<-
m1=0..1
m2=0..n
18;18;270;66
com.umlet.element.Class
624
444
96
18
/PositioningAlgorithm/
fg=
com.umlet.element.Relation
654
396
30
60
lt=<<<<-
m2=1..n
18;18;18;48
com.umlet.element.Class
654
210
90
18
owlps-positioning
bg=yellow
com.umlet.element.Class
318
270
114
30
AccessPoint
--
#frequency: unsigned int
//#friis_idx
com.umlet.element.Class
150
210
96
18
Mobile
com.umlet.element.Relation
642
210
60
66
lt=<<<<-
48;18;18;54
com.umlet.element.Relation
672
210
48
180
lt=<<<<-
36;18;36;114;18;168
com.umlet.element.Class
234
624
42
18
InputDB
fg=red
com.umlet.element.Class
282
486
132
24
Input
// Gère les entrées
--
+get_next_request(): Request
com.umlet.element.Class
270
534
132
42
/InputMedium/
//extends input flow ?
--
--
/+get_next_request(): Request/
com.umlet.element.Relation
234
558
60
78
lt=<<-
48;18;18;66
com.umlet.element.Class
282
624
42
18
InputXML
fg=red
com.umlet.element.Relation
288
558
36
78
lt=<<-
24;18;18;66
com.umlet.element.Class
330
624
108
36
InputCSV
--
#input_file_name: string
#input_file: std::ifstream
com.umlet.element.Relation
330
558
36
78
lt=<<-
18;18;24;66
com.umlet.element.Class
390
678
90
30
/InputNetworkSocket/
fg=red
--
#listen_port: int
com.umlet.element.Relation
384
558
114
78
lt=<<-
18;18;102;66
com.umlet.element.Relation
312
492
30
54
lt=<<<<-
// A priori, il n'y a pas de raison
// d'avoir plusieurs sources en
// entrée.
18;18;18;42
com.umlet.element.Class
444
624
84
30
/InputSocket/
fg=red
--
#listen_socket: int
com.umlet.element.Relation
414
636
60
54
lt=<<-
48;18;18;42
com.umlet.element.Relation
474
636
60
54
lt=<<-
18;18;48;42
com.umlet.element.Class
486
678
90
30
InputUnixSocket
fg=red
--
#sock_name: string
com.umlet.element.Class
960
450
60
18
Output
// Gère les sorties de résultats
com.umlet.element.Class
1008
510
72
18
/OutputMedium/
com.umlet.element.Relation
1014
510
30
66
lt=<<-
18;18;18;54
com.umlet.element.Class
1062
564
54
18
OutputCSV
com.umlet.element.Relation
1026
510
66
66
lt=<<-
18;18;54;54
com.umlet.element.Relation
1092
564
72
78
lt=<<-
60;18;18;66
com.umlet.element.Class
1122
564
96
18
/OutputNetworkSocket/
com.umlet.element.Class
1068
630
84
18
OutputUDPSocket
com.umlet.element.Relation
1050
510
114
66
lt=<<-
18;18;102;54
com.umlet.element.Relation
978
450
78
72
lt=<<<<-
m2=1..n
18;18;66;60
com.umlet.element.Relation
1080
384
78
90
lt=<<-
66;18;18;78
com.umlet.element.Class
1002
564
54
18
OutputXML
fg=red
com.umlet.element.Class
948
564
48
18
OutputDB
fg=red
com.umlet.element.Class
876
564
66
18
OutputTerminal
com.umlet.element.Relation
894
510
126
66
lt=<<-
114;18;18;54
com.umlet.element.Relation
954
510
78
66
lt=<<-
66;18;18;54
com.umlet.element.Relation
228
204
114
30
lt=<<<<-
m2=0..n
102;18;18;18
com.umlet.element.Relation
396
168
318
114
lt=<<<<-
coordinates
m1=0..n
18;102;216;30;306;30
com.umlet.element.Relation
510
138
204
42
lt=<<<<-
coordinates
m2=2
m1=0..n
18;30;192;30
com.umlet.element.Relation
510
90
114
72
lt=-
m1=1..n
m2=0..n
18;60;102;18
com.umlet.element.Relation
360
42
108
186
lt=->>>>
m1=0..n
96;18;18;174
com.umlet.element.Relation
690
150
300
246
lt=->
m2=0..n
18;234;288;120;288;18
com.umlet.element.Class
624
294
66
18
Configuration
bg=green
// Stocke la configuration
com.umlet.element.Relation
636
264
30
42
lt=-
18;30;18;18
com.umlet.element.Relation
642
294
30
96
lt=-
18;18;18;84
com.umlet.element.Class
396
732
72
18
InputUDPSocket
com.umlet.element.Relation
414
690
30
54
lt=<<-
18;18;18;42
com.umlet.element.Class
204
330
96
36
Measurement
// Représente une liste de signaux reçus d'un
// mobile par un AP.
--
#average_ss: float
#ss_list: vector<int>
com.umlet.element.Relation
114
210
126
216
lt=<-
m2=0..n
transmitter
42;18;42;114;114;204
com.umlet.element.Relation
282
282
84
60
lt=-
m2=0..n
receiver
72;18;18;48
com.umlet.element.Relation
234
414
48
132
lt=>-
36;120;18;18
com.umlet.element.Relation
876
150
78
96
lt=-
m2=1..n
66;18;18;84
com.umlet.element.Class
612
564
42
18
NSS
// Anciennement RADAR
com.umlet.element.Class
534
564
36
18
FBCM
com.umlet.element.Class
558
606
60
18
FRBHMBasic
com.umlet.element.Relation
540
504
72
72
lt=<<-
60;18;18;60
com.umlet.element.Relation
618
504
108
72
lt=<<-
96;18;18;60
com.umlet.element.Relation
720
504
42
114
lt=<<-
30;18;18;102
com.umlet.element.Class
102
564
78
18
/InputLogMedium/
com.umlet.element.Relation
126
480
168
96
lt=<<<<-
m2=0..n
156;18;18;18;18;84
com.umlet.element.Class
0
624
54
18
InputLogDB
fg=red
com.umlet.element.Relation
6
564
132
72
lt=<<-
120;18;18;60
com.umlet.element.Class
168
624
60
18
InputLogXML
fg=red
com.umlet.element.Relation
132
564
78
72
lt=<<-
18;18;66;60
com.umlet.element.Class
60
624
102
36
InputLogCSV
--
#log_file_name: string
#log_file: std::ofstream
com.umlet.element.Relation
102
564
48
72
lt=<<-
36;18;18;60
com.umlet.element.Class
1122
384
78
18
/StatisticsMedium/
fg=red
com.umlet.element.Relation
978
372
156
90
lt=<<<<-
m1=0..1
m2=0..n
18;78;144;18
com.umlet.element.Class
1044
462
84
18
StatisticsTerminal
fg=red
com.umlet.element.Class
1134
462
66
18
StatisticsXML
fg=red
com.umlet.element.Relation
1140
384
36
90
lt=<<-
18;18;24;78
com.umlet.element.Class
1206
462
66
18
StatisticsDB
fg=red
com.umlet.element.Relation
1158
384
96
90
lt=<<-
18;18;84;78
com.umlet.element.Class
834
234
90
18
CalibrationRequest
com.umlet.element.Relation
258
234
642
198
lt=<<-
18;186;630;60;630;18
com.umlet.element.Class
204
252
96
60
WifiDevice
--
#ip_addr: string
#mac_addr: string
#antenna_gain: float
#trx_power: float
com.umlet.element.Relation
282
264
48
30
lt=<<-
18;18;36;18
com.umlet.element.Relation
156
210
60
96
lt=<<-
48;84;18;84;18;18
com.umlet.element.Class
702
606
72
18
FRBHMDiscrete
fg=red
com.umlet.element.Relation
540
564
60
54
lt=<<-
18;18;48;42
com.umlet.element.Class
450
564
78
18
InterlinkNetworks
com.umlet.element.Relation
468
504
126
72
lt=<<-
114;18;18;60
com.umlet.element.Class
780
606
84
18
FRBHMContinuous
fg=red
com.umlet.element.Relation
750
504
60
114
lt=<<-
18;18;48;102
com.umlet.element.Class
228
414
48
18
Request
// Représente une requête envoyée
// par un mobile.
com.umlet.element.Relation
234
348
30
78
lt=<<<<-
m2=1..n
18;66;18;18
com.umlet.element.Class
330
216
48
18
Stock
bg=green
// Classe de stockage,
// attributs statiques
com.umlet.element.Relation
360
204
306
30
lt=<<<<-
294;18;18;18
com.umlet.element.Relation
330
216
30
66
lt=<<<<-
m2=0..n
18;18;18;54
com.umlet.element.Class
252
144
42
18
PosUtil
bg=green
// Classe utilitaire, méthodes
// statiques et #define
com.umlet.element.Class
888
324
60
18
Result
com.umlet.element.Relation
960
324
90
138
lt=>-
18;126;78;18
com.umlet.element.Relation
732
186
168
150
lt=->>>>
position
36;18;36;108;156;138
com.umlet.element.Relation
258
318
642
120
lt=<-
630;18;18;108
com.umlet.element.Class
102
438
132
36
Timestamp
--
#timestamp: struct timespec
--
+now(): bool
com.umlet.element.Relation
138
402
102
48
lt=<<<<-
90;18;18;18;18;36
com.umlet.element.Class
750
450
60
18
RealPosition
// Faux algorithme qui retourne
// la position réelle (si disponible)
com.umlet.element.Relation
702
438
60
30
lt=<<-
18;18;48;18
com.umlet.element.Class
246
114
60
18
posexcept.hh
// Ensemble de classes d'exceptions
com.umlet.element.Class
1014
234
54
18
Direction
com.umlet.element.Relation
906
222
120
30
lt=<<<<-
18;18;108;18
com.umlet.element.Relation
324
0
636
228
lt=->>>>
m1=0..n
624;150;624;18;30;18;18;216
com.umlet.element.Relation
360
216
486
54
lt=->>>>
m1=0..n
474;24;66;42;18;18
com.umlet.element.Class
714
750
108
30
TextFileWriter
--
--
+write_text(string): bool
com.umlet.element.Relation
738
564
360
198
lt=<-
18;186;348;18
com.umlet.element.Relation
96
642
630
126
lt=<-
618;114;228;114;18;18
com.umlet.element.Class
576
504
108
18
/TrilaterationAlgorithm/
com.umlet.element.Class
438
504
102
18
/TrilaterationMethod/
com.umlet.element.Class
540
474
48
18
MinMax
com.umlet.element.Relation
522
492
66
30
lt=->
54;18;18;18
com.umlet.element.Relation
618
444
66
72
lt=<<-
54;18;18;60
com.umlet.element.Relation
474
468
78
48
lt=<<-
18;36;66;18
com.umlet.element.Class
708
504
102
18
/CartographyAlgorithm/
com.umlet.element.Relation
678
444
96
72
lt=<<-
18;18;84;60
com.umlet.element.Relation
666
504
144
114
lt=<<-
18;18;132;102
com.umlet.element.Relation
570
564
66
54
lt=<<-
54;18;18;42
com.umlet.element.Relation
648
504
102
114
lt=<<-
18;18;90;102
com.umlet.element.Class
420
330
102
36
CSVFileReader
--
--
+next_line(): bool
com.umlet.element.Relation
396
348
60
288
lt=<-
48;18;18;276
com.umlet.element.Class
552
318
90
18
TopologyReaderCSV
com.umlet.element.Relation
504
312
60
42
lt=<-
18;30;48;18
com.umlet.element.Relation
564
252
72
30
lt=<-
18;18;60;18
com.umlet.element.Class
306
360
108
30
TextFileReader
--
--
+read_line(string): bool
com.umlet.element.Relation
348
330
84
42
lt=<<-
18;30;18;18;72;18
com.umlet.element.Class
504
264
78
18
InputDataReader
com.umlet.element.Relation
552
264
60
66
lt=<-
48;54;18;18
com.umlet.element.Relation
510
30
96
72
lt=-
m1=1..n
m2=1..n
18;18;84;60
com.umlet.element.Class
630
606
66
18
NSSViterbi
// Anciennement RADARViterbi
fg=red
com.umlet.element.Class
720
666
48
18
Viterbi
fg=red
com.umlet.element.Relation
624
564
54
54
lt=<<-
18;18;42;42
com.umlet.element.Relation
666
606
78
72
lt=<<-
66;60;18;18
com.umlet.element.Relation
732
606
72
72
lt=<<-
18;60;60;18
com.umlet.element.Relation
726
606
30
72
lt=<<-
18;60;18;18
com.umlet.element.Class
456
294
108
18
AccessPointsReaderCSV
com.umlet.element.Relation
498
264
36
42
lt=<-
18;30;24;18
com.umlet.element.Relation
468
294
42
48
lt=<-
18;36;30;18
com.umlet.element.Class
1014
324
54
18
ResultList
com.umlet.element.Relation
930
312
96
30
lt=<<<<-
m2=0..n
84;18;18;18
com.umlet.element.Class
372
306
78
18
MobilesReaderCSV
com.umlet.element.Relation
426
258
90
60
lt=<-
18;48;18;18;78;18
com.umlet.element.Relation
366
306
66
42
lt=<-
54;30;18;30;18;18
com.umlet.element.Class
1158
630
102
18
OutputTCPSocketEvAAL
com.umlet.element.Relation
1158
564
60
78
lt=<<-
18;18;48;66
com.umlet.element.Class
306
426
108
36
CSVStringReader
--
--
+set_str(string)
+read_field(<T>): bool
com.umlet.element.Relation
396
348
84
96
lt=<<-
18;84;72;84;72;18
com.umlet.element.Class
138
42
60
18
StaticClass
bg=green
com.umlet.element.Class
138
66
60
18
executable
bg=yellow
com.umlet.element.custom.Systemborder
132
24
84
96
Color legend
com.umlet.element.Class
138
96
72
18
Unimplemented
fg=red