a di tes

annuncio pubblicitario
Facoltà dii Ingegneria
Corso di Studi
S
in Ing
gegneria In
nformatica
tesi di laurea
UN SU
UPPOR
RTO AUTOM
A
MATICO
O PER LA R
RACCOLTA E
L’ANA
ALISI DI
D DATI SPER
RIMENT
TALI DI UN MIDDLEWARE
E
PER LA
L DIST
TRIBUZ
ZIONE DI DAT
TI
Anno Acccademico 2006/2007
2
relatore
Ch. mo prof.
p
Dome
enico Cotrroneo
correlatorre
Ing. Chris
stiancarm
mine Espos
sito
candidato
o
Annamarria Iacullo
matr. 534
4\246
Ai miei genitori che mi ha sempre sostenuto e incoraggiato.
A mio fratello sempre pronto a darmi buoni consigli,
A Genny che mi è stato vicino, sopportandomi anche nei momenti peggiori,
Alla mia famiglia e a tutti i miei amici.
Grazie
Indice
Introduzione
e Capitolo 1 LO STAND
DARD DDS
S 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Il paaradigma Publish/Subscribee Mod
dello DDS Mod
dello DCPS Quaality Of Servicee Imp
plementazioni OMG DDS Arch
hitettura deceentralizzata Arch
hitettura fedeerata
Arch
hitettura centtralizzata Capitolo 2 ESECUZIO
ONE DI UNA
A CAMPAG
GNA TEST 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Anaalisi delle prob
blematiche Solu
uzione adottatta Con
nfigurazione della campagna test Dep
ployment Eseccuzione della campagna tesst Ben
nchmark Con
nclusione dellaa campagna di test Capitolo 3 ANALISI D
DEI DATI 3.1 3.2 3.3 3.4 3.5 3.6 Outtlier Anaalisi e Rappressentazione dei Risultati
Grafico della med
dia Grafico della deviazione standard Grafico Box and W
Whisker Creaazione dei rep
port
7 10
0 10 11
1 12
2 14
4 16
6 18
8 18
8 20
0 21
1 24
4 24
4 24
4 25 6 26
28
8 30
0 31
1 34
4 37
7 37 37
7 39
9 42
2 43 4 44
46
6 IIII
49
9 Capitolo 5 ESEMPIO CAMPAGN
NA DI TEST
T 49 4.1 Testtbed 4.2 Testt Suite 4.3 Risu
ultati della cam
mpagna di tesst 49
9 50
0 52
2 Conclusioni e
e sviluppi futu
uri 54
4 Appendice A
A 55
5 PROGETT
TAZIONE U
UML A.1 A.1.1 A.1.2 A.2 A.3 A.4 Diagrammi di caso d’uso D
D
Definizione de
ella funzionalittà “Esecuzione test”
D
Definizione de
ella funzionalittà “Analisi risu
ultati”
D
Diagrammi di attività D
Diagrammi de
elle classi D
Diagrammi di sequenza 55 55 6 56
61
1 65 8 68
69
9 Appendice B
B 78
8 NIST NET
T 78 B.1 B.2 B.3 SStruttura e fun
nzionalità T
Tool di configu
urazione di NIST Net I tool opzionalli di NIST Net Bibliografia 79
9 81
1 82
2 83
3 IV
V
Indice Figure
Figura 1 Siistema Publlish/Subscriibe....................................................................................................... 11 Figura 2 I livelli
l
di OM
MG DDS ............................................................................................................... 13 Figura 3 Comunicazio
C
one dei partecipanti tram
mite il Glob
bal Data Space ............................................. 13 Figura 4 Sttruttura DC
CPS ......................................................................................................................... 144 Figura 5 Descrizione
D
d
delle
Qualitty Of Servicce ..................................................................................... 177 Figura 6 RTI
R DDS eseempio di arcchitettura decentralizzaata ................................................................. 18 Figura 7 Architettura
A
RTI DDS .............................................................................................................. 199 Figura 8 OpenSplice
O
e
esempio
di architettura
a
a federata .......................................................................... 200 Figura 9 L'architetturaa di OpenSpplice DDS ........................................................................................... 200 Figura 10 OpenDDS
O
e
esempio
di architettura
a
a Centralizzaata ................................................................. 21 Figura 11 Open
O
DDS .............................................................................................................................. 222 Figura 12 Schermata
S
"
"Nuova
Missura" ................................................................................................... 266 Figura 13 Invio
I
script .............................................................................................................................. 299 Figura 14 Avvio
A
con finestra
f
di debug..........
d
......................................................................................... 300 Figura 15 Avvio
A
con progress
p
moonitor .................................................................................................. 31 Figura 16 Misurazione
M
e del RTT nel
n caso uniicast ................................................................................. 322 Figura 17 Misurazione
M
e del RTT nel
n caso muulticast .............................................................................. 322 Figura 18 Funzioname
F
ento della campagna dii test ................................................................................. 33 Figura 19 Prelievo
P
deii risultati e pulizia
p
del testbed
t
............................................................................. 35 Figura 20 Conclusione
C
e della cam
mpagna test ........................................................................................... 366 Figura 21 Directory
D
coon i risultatti .......................................................................................................... 366 Figura 22 Misure
M
con outlier................................................................................................................... 38 Figura 23 Schermata
S
C Graficco......................................................................................................... 399 Crea
Figura 24 Richiesta
R
laabel per il fiile da analizzzare. ................................................................................ 400 Figura 25 Analisi
A
dei risultati e crreazione deei grafici ........................................................................... 41 Figura 26 Grafico
G
dellla media ................................................................................................................ 43 Figura 27 Grafico
G
dellla deviazionne standard ........................................................................................ 444 Figura 28 Grafico
G
Boxx and Whiskker ...................................................................................................... 45 Figura 29 Grafico
G
Boxx and Whiskker ...................................................................................................... 466 Figura 30 Report
R
..................................................................................................................................... 477 Figura 31 Creazione
C
r
report
..................................................................................................................... 48 Figura 32 Il
I Testbed ................................................................................................................................ 499 Figura 33 File
F XML ................................................................................................................................ 500 Figura 34 Risultati
R
della campagnna test ................................................................................................. 522 Figura 35 Diagramma
D
a casi d'uso ...................
.
......................................................................................... 55 Figura 36 Diagramma
D
a della funziionalità "Essecuzione teest" ................................................................ 566 V
Figura 37 Diagramma
D
a della funziionalità Anaalisi risultatti.................................................................... 61 Figura 38 Diagramma
D
a di attività: Esecuzionee test ................................................................................ 666 Figura 39 Diagramma
D
a attività: Annalisi risultaati .................................................................................... 677 Figura 40 Diagramma
D
a di classe: Esecuzione
E
test .................................................................................. 68 Figura 41 Diagramma
D
a di classe: Analisi
A
Risuultati ................................................................................ 699 Figura 42 Diagramma
D
a di sequenzza: Area A ........................................................................................... 700 Figura 43 Diagramma
D
a di sequenzza: Esecuzioone test............................................................................. 71 Figura 44 Diagramma
D
a di sequenzza: Errore neell'esecuzio
one del test ...................
.
................................ 722 Figura 45 Diagramma
D
a di sequenzza: Test blocccato ................................................................................ 73 Figura 46 Diagramma
D
a di sequenzza: Eliminazzione appliccativi ............................................................. 744 Figura 47 Diagramma
D
a di sequenzza: Area B ........................................................................................... 75 Figura 48 Diagramma
D
a di sequenzza: Analisi risultati
r
............................................................................. 766 Figura 49 Diagramma
D
a di sequenzza: Errore annalisi risultaati.................................................................. 777 Figura 50 NIST
N
Net ................................................................................................................................ 799 VII
Introdu
uzione
Il presente lavoro
l
di tesi
t
si è svvolto nell’aambito del progetto C
COSMIC, laboratorio
l
puubblico-privvato dei parrtner CINI, DIS-UNIN
NA, CRIAI, SELEX-SI e SESM, nell’ambito
n
deell’attività di
d tirocinio.
Il lavoro di questa
q
tesi nasce
n
dall’aanalisi delle fasi in cui si articola l’esecuzion
ne di test di
peerformance::
•
Determ
minazione e configurazzione dei teestbed: è neecessario inddividuare gli
g indirizzi
IP dei nodi
n
parteciipanti e configurarli op
pportunamennte;
•
Configuurazione deei parametrri di configu
urazione: sccegliere le Q
Quality of Service e i
parameetri configurrabili a livelllo Benchm
mark;
•
Esecuzione di test di performaance: lancio
o degli scrippt con moniitoraggio a video
v
della
sessionne di test;
•
Analisii a posteriorri dei risultaati ottenuti: creazione di
d grafici, reeport e statiistiche.
L’obiettivo è la realizzazione di un
u tool chee fornisca un
u supportoo automaticco alle fasi
soopraelencatee.
Il tool creatoo prende il nome
n
di Suunrise ed è stato
s
creato in collaborrazione con
n Antonella
N
Niola,
e conn l’ausilio dell’ing.
d
Chhristian Esposito e delll’ing. Antonio Strano.. Sunrise è
stato svilupppato in Jaava per esssere utilizzato in oggni ambiennte, si preesenta con
unn’interfacciaa user friendly per sem
mplificarne l’utilizzo
l
e offre
o
una seerie di funziionalità per
il deploymennt e l’esecuzzione autom
matica di test di perform
mance assessment per piattaforme
p
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
DDS-compliaant:
•
Supporrto nella connfigurazionee dei param
metri dei casii Test:
o
T
Tipo
di Trasporto (Uniccast, Multicast);
o
T
Tipo
di Messaggio (Sim
mple, Complex con oppportuna dim
mensione, Fu
ull Avenue,
C
Compact
Avvenue o defiinibile dall’utente);
o
Q
QoS
(Best Effort, Reeliable, Traansiet, Histtory, Owneership), rispettando i
v
vincoli;
•
o
P
Piattaforme
DDS (RTI e OSPL);
o
F
Formato
dei dati (CDR,, XML, JSO
ON, JAML);
o
T
Tipo
di Trasferimento (Locale, Rem
moto);
o
dei paramettri del test in
S
Salvataggio
i un file XM
ML;
o
P
Possibilità
d configurarre più Sessioni di Test.
di
Supporrto nella sceelta dei nodii partecipan
nti:
o
R
Ricerca
nellaa rete localee degli host on-line;
o
Innstallazionee automaticaa delle piatttaforme DD
DS;
o
C
Clean-up
deii nodi a connclusione deel test;
o
S
Salvataggio
delle configgurazioni ussate;
o
S
Salvataggio
delle credeenziali di acccesso ai nodi
n
in un ffile criptato attraverso
l’’algoritmo JCE_DES.
J
•
Esecuzzione dei tesst di perform
mance assesssment:
o
G
Generazione
e automaticaa del codicee a supportoo dei messagggi non pred
definiti;
o
E
Esecuzione
in modalitàà debug perr il monitorraggio dellee attività in corso o in
b
background.
•
•
Analisii automaticaa dei risultatti:
o
D
Determinazi
one delle metriche
m
end
d to end;
o
G
Generazione
e di grafici e statiche deelle misure ottenute.
Salvataaggio di un riepilogo
r
deella sessionee in un file pdf.
Inn questo lavvoro di tesi si pone atteenzione allee problemattiche che biisogna affro
ontare nella
8
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
coonduzione di
d una camppagna di testt e di come il Sunrise permetta
p
di:
•
Eseguirre automaticamente i teest di perforrmance;
•
Rimuovvere i codicci e i file gennerati;
•
Disinsttallare gli appplicativi;
•
Analizzzare i risultaati ottenuti.
N primo capitolo
Nel
c
verrrà effettuatta una pano
oramica suulla piattafoorma DDS e su varie
im
mplementazioni.
N secondo capitolo veerrà trattatoo il significaato di Bencchmark, le pproblematicche e come
Nel
Suunrise offree una sempliificazione per
p la condu
uzione della campagna di test.
N terzo caapitolo verrrà trattata la problem
Nel
matica delll’analisi deei dati prodotti dalla
caampagna di test, della loro
l
rappressentazione e di come Sunrise
S
offrre una semp
plificazione
annche per queesto problem
ma.
N quarto capitolo
Nel
c
viene mostratoo un caso d’uso
d
in cuui viene utillizzato Sun
nrise per la
coonduzione di
d una camppagna di testt.
N
Nell’appendi
ice A verrà mostrata laa documentaazione UML a supportto di Sunrisse riguardo
lee parti che soono state annalizzate in questo lavo
oro di tesi.
N
Nell’appendi
ice B viene fornita unaa panoramicca sul simuulatore NIST
T Net utilizzzato per la
caampagna di test.
N paragrafoo finale verrranno mostrrate le concclusioni e gli sviluppi fuuturi.
Nel
9
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Capitoolo 1
Lo sta
andard DDS
N Giugno del 2004, ll’OMG1 ha definito un
Nel
n nuovo staandard, dettto “Data Distribution
D
Seervice (DD
DS) Specificcation” [RIF
F. 2] per i sistemi Real
R
Time. L’OMG DDS
D
è una
sppecifica perr i sistemi data-distribbution basaati sul paraadigma Pubblish/Subscrribe, il cui
sccopo è di fornire
f
una comune appplication-llevel interfaace che deffinisca chiaaramente il
daata-distribuution servicee.
I vantaggi
v
deell'uso del DDS
D
rispettoo ad altri sisstemi basati sul paradiggma Publish
h/Subscribe
soono:
•
Accopp
piamento laasco tra le entità e sem
mplicità di utilizzo;
u
•
Architettura flesssibile ed ad
dattabile graazie al discoovery autom
matico;
•
Efficienza grazie alla
a comuniicazione dirretta tra Pubblisher e Subbscriber;
•
minismo nellla consegnna dei dati;
Determ
•
Scalabilità elevataa come consseguenza deell'accoppiaamento lascoo tra le entità;
•
Qualitàà di Serviziio altamentee parametrizzabile.
1
L'Object Management G
Group (OMG) è un consorzio internazion
nale, nonprofit, creato nel 1989 dall’inizziativa di otto
o H
ard, Philis Teleecommunicattions, Sun Myycrosystems ee Unisys, con l'obiettivo dii aziende tra cui: Canon, Hewlett‐Packa
m
relative r
ai sisstemi softwarre distribuiti orientati aglii promuovere e standardizzzare le tecnologie e le metodologie oggetti. 100
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
1.1 Il paradigm
ma Publissh/Subsccribe
Il modello Publish/Subsscribe ha risscosso un recente
r
succcesso, dal m
momento ch
he consente
dii aumentaree l’indipenddenza softw
ware dalle piiattaforme e dai contessti applicatiivi, tramite
unn meccanism
mo di comuunicazione ad
a accoppiaamento lasco. Il modelllo globale è composto
dii processi, detti
d
“parteccipanti”, chee ricoprono i seguenti ruoli:
r
•
Publish
her, gli eleementi attivi del sistem
ma: responsabili della “pubblicaziione” degli
eventi2;
•
Subscrriber, gli ellementi passsivi del sisstema: interressati alla rricezione degli
d
eventi
verso cui
c è stata esseguita una “sottoscriziione”;
•
Event Service, il
i collante tra i Pub
blisher e i Subscriberr: responsaabile della
pubbliccazione, dellla sottoscrizzione e dellla consegna affidabile ddegli eventii.
Figura 1 Sistema Pub
blish/Subscriibe
G
Grazie
all’evvent servicce, nel moodello Publlish/Subscriibe possonno essere distinti
d
tre
diifferenti liveelli di disaccoppiamentto (decoupliing) [RIF. 15]:
1
•
Space decouplingg: il Publisher e il Su
ubscriber noon hanno nnecessità di conoscere
l’entitàà con cui scaambiano i messaggi;
m
2
Evento, in q
questo contessto, viene inteeso come variaazione dello sttato di un’enttità del sistem
ma. 11
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
•
Time decoupling
d
: il Publisher e il Subsscriber non devono esssere attivi nello
n
stesso
momennto, ad esem
mpio il Publlisher potreb
bbe pubbliccare eventi qquando il Su
ubscriber è
inattivoo, e un Subscriber potrrebbe riceveere una notiifica di un eevento prod
dotto da un
Publishher inattivo;;
•
Synchrronization decouplingg: il Publish
her e il Subsscriber non sono sincro
onizzati, la
comuniicazione è di
d tipo asinccrono3.
M
Molti
sistemii Publish/Suubscribe sellezionano i dati tramitee un filtro, ddenominato Topic, che
raappresenta una
u sorta dii “gruppo": la pubblicaazione di unn evento neell’ambito di
d un Topic
X si traducee in un brooadcast verso tutti i membri
m
dell gruppo X
X. I Topic, in genere,
raaggruppano eventi com
muni sia nel contenuto che nella sttruttura, inttroducendo la nozione
dii “tipo” di evento.
e
La piattaformaa DDS utiliizza un appproccio che combina Topic
T
e key
chhe univocam
mente identiificano l’istaanza del datta-object [R
RIF. 1].
1.2 Modello
M
D
DDS
Laa piattaform
ma DDS deffinisce una lista di paraametri di seervizio (Quaality Of Serrvice, QoS)
chhe permettoono l’ottimiizzazione delle
d
risorsee del sistem
ma, e di AP
PI4 che perm
mettono di
otttenere altee prestazionni in term
mini di lateenza e thrroughput5. L’architettu
ura di un
m
middleware
D
DDS
è basaata sul paraddigma data--centric, in cui tutte le iterazioni fra
f le entità
cooinvolte avvvengono in funzione deel tipo di daato trasmessso, e sono inndipendentii dalla loro
orrigine o destinazione.
Laa comunicaazione avviiene tramitee un “Glob
bal Data Sppace”, in ccui tutti i partecipanti
p
poossono legggere e scriveere dati efficientementee e naturalm
mente6, tram
mite un’interrfaccia che
3
Si definiscee comunicazio
one asincronaa una comunicazione non bloccante, in cui il mittentte invia il me
essaggio e poii continua la p
propria esecuzzione. 4
Application
n Program(ming) Interfacee (Interfaccia di Programm
mazione di un'Applicazion
u
ne), insieme di proceduree disponibili all programmattore, di solito raggruppate come set di strumenti speecifici per un determinato compito, perr ottenere un'astrazione sul servizio che si vuole utilizzzare. 5
La latenza rrappresenta ill tempo necesssario per trassmettere un m
messaggio minimale da un estremo del ccollegamento
o all'altro. Il throughput rappresenta indice dell'effettivo utilizzo della capacità deel link, ossia laa quantità di d
dati trasmessii in un’unità di tempo, il seccondo. 6
Naturalmen
nte significa che l’interfacciia è simile ad un’interfacciaa utilizzata perr leggere/scrivvere variabili locali. 122
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
peermette di semplificare
s
e il meccannismo d’inteegrazione trra i sistemi. La costruzzione delle
Figgura 3 Comun
nicazione dei partecipantii tramite il Gllobal Data Sp
pace
innterfacce daa parte dei progettisti solitamentee avviene esprimendo
e
i dettagli riguardo
r
al
fluusso d’infoormazioni. Quando
Q
cam
mbia il tipo
o d’informazzione si otttiene un rip
pple effect7
peer tutto il siistema, che porta al cam
mbiamento di molti coomponenti cconnessi. Nel
N modello
Puublish/Subsscribe la sppecifica dellle interfacce è diretttamente imp
mplementata tramite il
m
middleware,
che distribuuisce i dati più
p recenti ai Reader partecipanti,
p
, creando siaa un “Data
Sppace”, dovee ogni parteecipante puuò leggere e scrivere, sia
s un “Nam
me Space”, dove ogni
paartecipante può trovarre e condivvidere gli oggetti,
o
perrmettendo lla comuniccazione fra
strrutture eteerogenee, inndipendenteemente daal sistema operativo, dall’archittettura del
prrocessore e dal linguagggio di progrrammazione.
Figura 2 I livelli di OMG DDS
Laa specifica DDS
D
esprim
me due livellli d’interfacccia:
•
Data Centric
C
Publish-Subscrribe (DCPS)), di basso livello, chee fornisce una
u serie di
7
L’effetto ripple riprende l’immagin
ne del movimento dell'acqua quando
o si getta u
un sasso, rap
ppresentando
o simbolicameente la modalità di propagazione degli errrori. 133
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
funzionnalità utili ad
a un’appliccazione per la pubblicaazione e la ssottoscrizion
ne dei dati,
e un suupporto al trrasferimentoo affidabile alle destinaazioni;
•
Data Local
L
Reconnstruction Layel
L
(DLRL
L), di livelllo opzionalee, che forniisce le API
di accesso e di filtrro per la maanipolazione dei dati riicevuti dal D
DCPS.
1.3 Modello
M
D
DCPS
Il DCPS è il cuore del modello
m
DD
DS, si occup
pa del marshhaling e unmarshaling
g dei dati, e
deefinisce le interfacce
i
s
standard
chhe permetton
no alle appplicazioni dii scrivere/leeggere dati
inn/da un Globbal Data Sppace, in manniera del tu
utto traspareente rispettoo all’eterogeeneità delle
piiattaforme sottostanti.
s
Figurra 4 Struttura
a DCPS
L’entità che fornisce l’aastrazione dello
d
spazio globale deei dati è il D
Domain: tuttte le entità
chhe intendonno partecipaare ad una pubblicazio
one devono necessariaamente appaartenere ad
allmeno un dominio,
d
in questo moddo è possib
bile otteneree l’isolamennto e l’ottim
mizzazione
deella comunnicazione. Lo
L standardd DDS preevede la possibilità
p
ddi supportaare domini
m
multipli,
perm
mettendo la creazione di
d una separrazione logiica tra le divverse tipolo
ogie di dati.
L’associazionne tra le appplicazioni laato Publisheer e lato Subbscriber sonno realizzatte tramite il
144
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Toopic, il quaale associa un nome (uunivoco nel sistema), un tipo di dato e un insieme di
poolicy QoS. L’utilità del Topic è di ottimizzzare l’implementazionne, sia tram
mite la prealllocazione delle
d
risorse necessarie per la comu
unicazione, sia realizzaando l’astraazione della
tippizzazione del
d dato. Laa definizionne del Topicc avviene traamite un forrmato stand
dard (ad es.
ID
DL o XML)), in cui si specifica ill nome, chee lo identifiica all’internno di un do
ominio e il
tippo che ne definisce i dati conttenuti. La definizione
d
del tipo e la scelta del nome
peermettono laa creazionee di un sistem
ma di tipo “aperto”,
“
inn quanto reaalizzano un’’interfaccia
standard
neell’ambito
dell’interoo
sistema
distribuitto.
I
sotttoscrittori
utilizzano
seemplicemennte il Topic come carattteristica chee deve soddisfare il datto.
N sistemi di
Nei
d tipo data--centric, le informazion
i
ni scambiatee risiedono in uno spazzio virtuale
dii memoria condivisa.
c
T
Tipicamente
e i nuovi vallori sovrascrrivono quellli pre-esisteenti, quindi
il middlewarre e i parteccipanti hannno bisogno di identificcare in manniera univocca l’istanza
deell’oggetto cui
c si riferissce il valoree. Un tipo di
d approccioo centralizzaato è impratticabile per
lee applicazionni Real Tim
me che richiiedono alte prestazionii e tolleranzza agli errorri, quindi è
neecessario pooter identifiicare l’istannza di un deeterminato oggetto.
o
L’utilizzo dell Topic per
iddentificare il
i dato è im
mpraticabilee per un grran numeroo di oggettii, infatti, sii dovrebbe
inntrodurre unn Topic diffe
ferente per ogni
o
istanzaa di un oggeetto-dato. Peer ridurre il numero di
Toopic l’OMG
G DDS utillizza una combinazion
c
ne di Topicc e chiavi (key), perm
mettendo di
iddentificare univocamen
u
nte l’istanzaa del data-o
object. La chiave
c
può essere form
mata da un
unnico campo o da un inssieme di cam
mpi, il cui formato
fo
dipeende dal tipo di dato. La
L specifica
prrevede anchhe una seriee di Topic di
d tipo builtt-in che fornniscono infformazioni riguardanti
r
loo stato del dominio
d
com
me Topic reegistrati, Pu
ublisher, Subbscriber e ppolicy QoS delle varie
enntità.
Il livello DCP
PS fornisce due modaliità differentti per la notifica degli eeventi:
•
Listeneer;
•
Conditiion e WaitSSet.
N caso dell Listener, il
Nel
i livello DCPS
D
definiisce un’inteerfaccia di callback peer ciascuna
enntità, che permette
p
ad un’applicaazione di mettersi
m
in “ascolto”
“
ddei cambiam
menti dello
155
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
stato o deglii eventi rellativi alla stessa entittà. I Condiition e i W
WaitSet perm
mettono di
inndividuare gli
g eventi di interesse neel DDS. Lo
o schema generale è:
•
L’appliicazione crrea una coombinazion
ne specificaa di oggettti, come una Read
Conditiion, e l’assoocia al WaittSet;
•
L’appliicazione asppetta sul WaaitSet finchéé una o più Condition ddiventano vere;
v
•
L’appliicazione ricchiama le operazioni sui corrisppondenti ogggetti per estrarre le
informaazioni necessarie.
1.4 Quality
Q
Off Service
Laa propagazzione degli eventi avvviene tramitte il settagggio di QoS
S, che perm
mettono di
deecidere il coomportamennto da assum
mere e di otttimizzare l’’utilizzo dellle risorse.
Lee Quality Of
O Service (QoS) sonoo utilizzate per configgurare il sisttema, perm
mettendo un
coontrollo sia sulle perforrmance sia sulle risorse, preservanndo la moduularità, la sccalabilità e
laa robustezzaa di un modeello Publishh/Subscribe.
Il livello DC
CPS, per staabilire la coompatibilitàà tra le policy offerte ddai Publisheer e quelle
ricchieste dai Subscriber,, prevede unn meccanism
mo di contrrollo realizzzato tramite un pattern
nooto come RxxO (Requesst versus Offfered): il Subscriber
S
p specificcare una listta di valori
può
“rrichiesti” peer una particcolare QoS, analogameente il Publlisher può sspecificare una
u lista di
vaalori “offertti” per la steessa QoS. Sarà
S compito
o del DDS, al momentoo dell’assocciazione tra
Puublisher e Subscriberr, stabile se
s le QoS
S sono com
mpatibili, sse ciò non
n avviene,
l’aassociazionne
non
è
realizzzata
ed
è
sollevvata
un’ecccezione
del
tipo
IN
NCOMPAT
TIBLE_QOS
S su ciascunn lato della comunicazi
c
ione.
166
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
NOME POLIC
CY
DURABILITY
Y
DEADLINE
OWNERSHIPP
RELIABILITY
HISTORY
DEFINIZIONE
E
Perm
mette di controollare il
cicllo di vita di unn dato
s
scritto
nella reete.
Speecifica il perioodo di
aggiornnamento dellee istanze.
Controolla l’aggiornaamento di
un’isstanza da partee di più
Publishers.
VALOR
RI
TRANSIIET
IIl sistema ha memoria
m
dei
ddati pubblicati.
VOLATIILE
IIl sistema non
n ha
m
memoria dei dati
d
ppubblicati.
Un
U periodo di duration
L
Lato Publisheer stabilisce
oogni quanto ill Topic è
aaggiornato.
L
Lato Subscrib
ber è una
rrichiesta minima di
ffrequenza di
aaggiornamentto che il
P
Publisher rem
moto deve
rrispettare.
SHARE
ED
IIl servizio sup
pporta
ll’aggiornamen
nto da parte
ddi più Publish
her.
EXCLUSIVE
O
Ogni istanza può
p essere
m
modificata da un solo
P
Publisher.
RELIAB
BLE
IIl DDS garanttisce un
sservizio affidaabile di
cconsegna dei dati
d inviati
e assicura l’ev
ventuale
rritrasmissionee del
ppacchetto in caso
c
di
pperdita.
BEST_EFF
FORT
IIl DDS si occu
upa del
ttrasporto di paacchetti
nnella rete senzza
ppreoccuparsi di
d verificare
ll’avvenuta con
nsegna
ddegli stessi.
Specifica il livelllo di
affidaabilità richiestto da un
Subsccriber o offertto da un
Publisher.
Sppecifica il num
mero
d’istannze di un oggetto che
dovrebbbero essere mantenute
m
in mem
moria da un Suubscriber
o da un Publishher.
DESCRIZIONE
E
KEEP_A
ALL
IIl DDS conserrva tutti i
vvalori delle isttanze.
KEEP_LA
AST
IIl DDS ha meemoria
ddell’ultimo vaalore
ddell’istanza e scarta quelli
ppiù vecchi.
Figura 5 Deescrizione dellle Quality Of Service
177
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
1.5 Im
mplementtazioni OMG
O
DDS
S
Laa specificaa OMG DD
DS, intenziionalmente,, non dà indicazioni
i
dettagliatee su come
im
mplementaree i servizi o gestire le risorse del DDS, quinndi i provider DDS son
no liberi di
inntrodurre innnovazioni. Ci
C sono tre principali
p
im
mplementazzioni dello sstandard DD
DS:
•
RTI DD
DS;
•
Prismteech OpenSpplice;
•
OpenD
DDS.
Lee varie impllementazionni differiscoono per i mo
odelli di com
municazionne, per le arcchitetture e
lee tecniche d’’implementtazioni usatee.
1.6 Architettur
A
ra decenttralizzata
Figura 6 RTI
R DDS esem
mpio di architettura decen
ntralizzata
L’architetturra DDS decentralizz
d
ata, unisce in uno stesso prrocesso i thread di
coomunicazionne e di conntrollo che sono
s
utilizzzati dal DCP
PS per istauurare la con
nnessione e
geestire le QoS. Il vantagggio di quest’architetturra è che ognni applicazione è auton
noma e non
haa bisogno di
d nessun deemone, in questo
q
modo
o la latenzaa e il jitter ssono minori rispetto a
unn’architetturra centralizzzata e nonn vi è la presenza di un unico ppoint of failure. Uno
svvantaggio è che alcunni dettagli della
d
config
gurazione (ccome l’indiirizzo di multicast,
m
il
nuumero di poorto, i param
metri relativvi ai differeenti tipi di trasporto
t
e il modello reliability)
deevono esserre definiti nel livello appplicativo con
c un sovraaccarico dell lavoro da parte dello
188
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
svviluppatore e una magggiore probabbilità di com
mmettere errrori.
Figura 7 Architettura
A
RTI
R DDS
R Data Distribution
RTI
D
n Service [R
RIF. 16] è un networkk middlewaare per le ap
pplicazioni
diistribuite Real
R
Time, basato su un’architett
u
tura decentrralizzata. U
Utilizza il modello
m
di
coomunicazionne Publish--Subscribe implementtando l’APII DCPS (D
Data Centrric Publish
Suubscribe) alll’interno del
d DDS (D
Data Distrib
bution Servvice) di OM
MG per i sistemi Real
Tiime.
RTI DDS è composta
c
daa una librerria run-timee (RTI DDSS Library), uun database (RTI DDS
D
Database)
e una serie di
d processi (RTI DDS Task). La libreria
l
è linnkata all’ap
pplicazione
uttente, menttre i processsi demonee gestiscono
o le sottosccrizioni e i servizi, mandano
m
e
riccevono le pubblicazion
p
ni, effettuanno il marshaaling e l’unnmarshalingg dei parameetri. Anche
il database, che contieene dati rigguardanti un gruppo di
d Publisheer e di Sub
bscriber, è
agggiornato e condiviso dai processi. Questo tipo di architettura sim
mmetrica permette
p
di
agggiungere e rimuovere,, in manieraa del tutto diinamica, Puublisher e Suubscriber.
RTI DDS consente il seettaggio di ulteriori
u
parrametri di QoS
Q in aggiiunta a quellli standard
sppecificati dal
d modelloo DDS, per esempio è possibille sceglieree tra due modelli
m
di
coomunicazionne,
multiccast
e
u
unicast,
configurandoo
rispettivvamente
le
policy
TR
RANSPOR
RT_MULTIC
CAST e TR
RANSPORT
T_UNICAST
T.
199
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
1.7 Architettur
A
ra federatta
Figura 8 OpenSplicee esempio di architettura
a
f
federata
L’architetturra DDS fedeerata utilizzza un proceesso demonne distinto pper ogni intterfaccia di
reete. Il demoone dovrebbbe essere innizializzato su ogni noddo prima deell’instaurazzione della
coonnessione tra i vari partecipanti. Una voltta attivato, comunica con i dem
moni DCPS
prresenti suglli altri nodi per istauraare un canaale di comunnicazione cche può esssere di tipo
unnicast o muulticast e coonfigurato sul
s valore della
d
QoS Policy RELIIABILITY. Il demone
peermette il disaccoppiaamento dellle applicazzioni dai dettagli
d
di comunicazzione e di
coonfigurazionne del DCP
PS. In caso di presenzaa di più parrtecipanti DDS sullo sttesso nodo,
laa scalabilità risulta maggiore rispeetto agli alttri modelli architetturaali, infatti, è possibile
seemplificare la configurrazione dellle policy peer un grupppo di partecipanti aven
nti la stessa
innterfaccia dii rete. Uno svantaggioo di quest’aarchitettura è sicurameente la presenza di un
unnico point of failure e la
l necessità di eseguire ulteriori coonfigurazionni.
F
Figura
9 L'arrchitettura dii OpenSplice DDS
200
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
O
OPEN
SPLIICE Data Distributioon Service [RIF. 17] è un’impleementazion
ne standard
deella specificca DDS della Prismtech, basato su un’archiitettura di ttipo federatta. Utilizza
unna shared--memory per
p
collegarre sia le applicazionni che rissiedono in un nodo
coomputazionale, sia gli host con unn insieme di
d servizi coonfigurabili ed estendib
bili. Questi
seervizi forniscono dellee funzionallità aggiunttive come il servizioo di networrking e di
duurability. Utilizzando
U
un’architetttura di tipo
o shared-m
memory, i ddati sono fisicamente
f
prresenti una sola volta su ogni maacchina. Un
n Subscribeer non vede tutti i datii realmente
prresenti nellaa shared meemory, ma solo
s
quelli d’interesse.
d
Ogni appliccazione è diirettamente
linnkata alle liibrerie di OpenSplice,
O
in questo modo
m
è posssibile utilizzzare le caratteristiche
deel DDS e comunicare, in manieraa trasparentte, con i serrvizi pluggaable tramitee la shared
m
memory.
La configurazzione di OppenSplice è effettuataa tramite unn file XML
L, che può
esssere facilm
mente modifi
ficato da un utente.
Quest’architeettura riportta un basso overhead, una
u buona scalabilità e ottime performance,
sooprattutto alll’aumentarre del numeero di Publlisher e di Subscriber e, in particcolare, alla
prresenza di tipi complessi, infattti, quando più entitàà sono pressenti su un
na singola
m
macchina,
è possibile ridurre il nuumero di co
opie da effe
fettuare del dato che deve
d
essere
traasferito tra Publisher e Subscriberr.
1.8 Architettur
A
ra centrallizzata
Figu
ura 10 OpenD
DDS esempio
o di architettu
ura
C
Centralizzata
a
21
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
L’architetturra DDS cenntralizzata utilizza un
n singolo demone
d
opeerante su di
d un nodo
deesignato. Il demone si occupa della gestionee delle informazioni necessarie per creare e
geestire le connnessioni traa i partecipaanti DDS in
n un dominiio. I dati passsano direttamente dai
Puublisher ai Subscriber,
S
mentre è necessaria
n
laa comunicazzione con ill processo demone
d
per
il controllo e l’inizializzzazione deelle attività (come la registrazion
r
ne dei tipi di dato, la
crreazione deii Topic e l’aassegnazionne, la modiffica e il mattching dellee QoS). Il vaantaggio di
quuest’architettura sta neella sempliciità dell’imp
plementazioone e della cconfigurazio
one poiché
tuutte le inform
mazioni di controllo riisiedono in un'unica loocazione. L
Lo svantaggio è, senza
duubbio, la preesenza di unn solo demoone che costtituisce un unico
u
point of failure.
Figu
ura 11 Open DDS
O
OpenDDS
[R
RIF. 18] è un’implem
mentazione dello standdard DDS bbasata sull'aarchitettura
ceentralizzata,, che utilizzza le inteerfacce CO
ORBA, deffinite dalla specifica DDS, per
l’iinizializzazione e il coontrollo del servizio. Il dato viene trasmesso ddal livello di
d trasporto
(P
Pluggable Transport),
T
t
tramite
uno dei protoco
olli definiti dalla speciffica di Open
nDDS:
•
TCP;
•
UDP;
•
Multicaast reliable;
•
Best efffort.
Il livello di
d trasportoo permette alle appllicazioni di
d implemeentare dei protocolli
222
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
peersonalizzatti, liberi di eseguire
e
il marshaling
m
di dati con formato peersonalizzato
o, dato che
laa trasmissioone dei datti non avviiene tramite CORBA.. OpenDDS
S usa dellee efficienti
vaarianti del Common
C
Daata Representation (CD
DR) di COR
RBA.
Il DCPS Info
formation Repository è un server di CORBA
A che agiscce come inttermediario
(bbroker) tra il Publisher e i Subscribber. Quando
o un client richiede
r
unaa sottoscriziione per un
Toopic, il DC
CPS Inform
mation Reppository loccalizza il Topic
T
e avvvisa tutti i Publisher
essistenti dellaa locazionee del nuovo Subscriberr. L’Informaation Repossitory non è coinvolta
neella propagaazione dei dati, il suoo ruolo è lim
mitato allo scopo di sttabilire l’asssociazione
Puublisher/Subbscriber.
OpenDDS crrea un propprio ORB e un thread separato
s
su cui lanciarre l’ORB. Utilizza
U
dei
thhread per prrocessare l’II/O non-CO
ORBA in ing
gresso e in uscita, inolltre un threaad separato
è creato per pulire
p
le rissorse in casso di chiusu
ura inaspettaata della connessione. Un calling
thhread viene utilizzato quando un dato vienee pubblicatoo tramite DDS, in queesto caso il
daato viene innviato ad oggni Subscribber connessso. Nel casoo in cui l’innvio si blocca, allora i
daati possono essere accoodati per poi essere man
ndati su sepparati servicce thread, ch
he leggono
tuutti i dati giuunti al Subscriber e acccodati per laa lettura dallle applicaziioni.
OpenDDS innclude un fille base di coonfigurazione della struuttura per laa configurazzione di un
innsieme di ogggetti globaali come ad esempio
e
il livello
l
di deebug, l’alloccazione dellla memoria
e la locazioone del DC
CPS Inform
mation Rep
pository cossì come lee implemen
ntazioni di
traasporto per i Publisher e i Subscribber.
233
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Capitoolo 2
Esecu
uzione di una campa
agna te
est
U campagnna di testingg comporta la creazionee di numeroosi test e connfigurazion
Una
ni. Eseguire
quuesti test manualmentee comporta un
u enorme spreco di teempo, oltre ad essere soggetto
s
ad
errrori ed estreemamente tedioso.
t
Suunrise perm
mette di autoomatizzare la
l fase di testing permeettendo di configurare i parametri
deel test casse tramite un’interfaaccia user friendly, e di avviiare autom
maticamente
l’eesecuzione del Benchm
mark per la conduzione
c
e dei test.
2.1 Analisi
A
dellle proble
ematiche
N
Nell’esecuzio
one di unna campaggna di teest devonoo essere affrontate numerose
prroblematichhe, che ne auumentano laa difficoltà, oltre ad esssere una posssibile causa di errori.
Inn ogni fasee della cam
mpagna si possono commetteree degli errrori che ne possono
coomprometteerne l’avanzzamento, poortando ad un notevolle spreco ddi risorse oltre che di
teempo.
Inn ciascuna delle
d
fasi della campagnna di testing
g si possonoo evidenziarre delle prob
blematiche
diiverse:
•
Deployyment/Avvioo/Arresto:
o
A ogni appplicazione si affiancaano una serrie di scrippt, spesso di
Ad
d difficile
244
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
configurazioone e comprrensione;
•
o
P
Possibilità
d commetterre errori nellla configurrazione deglli script;
di
o
P
Possibilità
d scegliere politiche
di
p
di testing incoompatibili.
Ricomppilazioni e/oo Riconfiguurazioni:
o
D
Durante
le attività
a
di testing è spessso richiestaa una fase ddi riconfigu
urazione tra
d test succcessivi (es. editing
due
e
man
nuale di file XML);
o
G
Gestione
dellla consistennza dell’app
plicazione sui
s nodi dell testbed (co
odice e file
d configurazzione).
di
•
Monitoorare la sesssione di test da un unico
o terminale video.
A fine di seemplificare l’esecuzione della caampagna è stato creatto un Bench
Al
hmark che
peermette l’aavvio dellaa campagnaa in maniiera semiauutomatica, infatti, deeve essere
coonfigurato e avviato, innoltre, neceessita che i nodi
n
siano correttamen
c
nte configurrati. Quindi
see da un lato il Benchm
mark offre unna semplificcazione, daall’altro nonn permette laa completa
auutomatizzazzione della campagna.
c
2.2 Soluzione
S
adottata
Suunrise, perm
mette di auttomatizzaree completam
mente l’eseccuzione di uuna campag
gna di test,
offfrendo:
•
Supporrto automatiico alle fasi di deploym
ment/avvio/aarresto;
•
Riconfi
figurazione automatica
a
tra test succcessivi;
•
Gestionne automatica della connsistenza fraa test successivi;
•
Monitooraggio della sessione di
d test da un
n unico term
minale videoo;
•
Pulizia dei nodi daa codici ed eventuali
e
fille;
•
Disinsttallazione deegli applicaativi.
Trramite Sunrrise è possibbile semplificare notev
volmente laa conduzionne di una caampagna di
teest, senza ill timore di incorrere in
i errori o di sceglieree politiche incompatib
bili, infatti,
traamite un’innterfaccia usser-friendlyy, guida l’uttente nella configuraziione di tuttii parametri
255
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
evvitando l’inssorgere di errori.
e
A
Anche
l’utennte meno espperto può utilizzare
u
Su
unrise per laa conduzionne di una caampagna di
teest, infatti, viene
v
guidaato nella coonfigurazion
ne dei param
metri, nellaa configurazzione degli
hoost partecipanti e nell’eesecuzione del
d test.
2.3 Configuraz
C
zione dellla campa
agna testt
L’interfaccia “Nuova Misura”
M
perm
mette la con
nfigurazionne dei param
metri per l’esecuzione
deel test. La fiinestra è forrmata princiipalmente da
d 3 campi:
•
QoS coonfigurationn
•
Networrk configuraation
•
Lancio Script
Figura 12 Scchermata "Nu
uova Misura"
"
N campo QoS
Nel
Q configuuration è poossibile deffinire i paraametri per lla conduzio
one del test
(N
New), aprirre una coonfigurazionne precedentemente redatta
r
(Op
Open), visualizzare o
rim
muovere laa configurazzione. I parrametri per la conduzioone del testt rappresenttano il test
266
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
caase che com
mpongono il
i test suite.. Ogni test case è costtituito da unn vettore dii input che
raappresenta le
l direttive per
p il sistem
ma, ovvero i parametri funzionali per la defin
nizione del
coomportamennto. L’utentte determinaa la suite ad
deguata, e inn tal caso uutilizza il test suite per
l’aavvio del test. Sunriise permettte di defin
nire i paraametri dellla campagn
na tramite
unn’interfacciaa che perm
mette di connfigurare tuttti i parameetri che posssono esseree forniti al
Benchmark. L’utente viiene guidatoo nella com
mposizione del
d test casse, evitando
o che possa
s
viene
sccegliere dellle politichee contrastannti. Alla fiine della composizionne, il test suite
m
memorizzato
o in un filee XML chee verrà utiilizzato perr la configuurazione deei test che
coompongonoo la campagnna.
N campo Network
Nel
N
connfiguration e possibilee definire i partecipantti al test (N
New), aprire
unna configuurazione prrecedentemente redattta (Open),, visualizzaare o rim
muovere la
coonfigurazionne. Nel caso
c
in cuui si inteenda apriree una connfigurazionee di rete
prrecedentemeente creata bisogna insserire la passsword per l’utilizzo
l
deel file. I parttecipanti al
teest possono essere sceltti secondo due
d modalitàà:
•
Autom
matica: si inserisce l’’intervallo di indirizzi IP entro cui trovarre gli host
colleggati.
•
Manuuale: si inseerisce manuualmente l’iindirizzo IP
P dell’host cche si vuolee includere
nella campagna di
d test.
A ogni nodo selezionaato viene assegnato il ruolo
Ad
r
che ricoprirà nellla campagn
na. I dati di
oggni partecippante (utennte e passw
word) vengo
ono memorrizzati in uun file cripttato, a cui
Suunrise potràà attingere per le successive fasi dell’esecuuzione senzza che l’uteente debba
reeinserirle. Per ogni noddo Sunrise verifica
v
chee siano instaallati gli appplicativi neecessari per
laa campagna,, e nel caso in cui non siano installlati procedee con l’instaallazione. Un
U ulteriore
fille contenennte gli indirrizzi dei noddi partecipaanti e i ruolli ricoperti verrà utilizzato per la
coonfigurazionne della cam
mpagna dal Benchmark
k.
N campo Lancio Scrippt sono preseenti i campii:
Nel
•
s
Path loocale degli script;
•
Path loocale dove salvare
s
i risultati;
277
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
•
Path reemoto dove salvare gli script;
•
Visualiizzare finesttra di debugg;
•
Eliminaare applicativi installati.
N campo “P
Nel
Path localee degli scrippt” va inseriito il percorrso dove si trovano gli script, che
veengono inseeriti selezioonandoli traamite la fun
nzione di sffoglia. Gli script dono
o forniti in
foormato com
mpresso, nellla funzionee di sfogliaa è presentee un filtro che autom
maticamente
viisualizza sollo i file di taale formatoo.
N Campo “Path
Nel
“
localee dove salvaare i risultati” viene inserito il perrcorso in cuii si intende
saalvate i risulltati prodottti dalla cam
mpagna di tesst.
N campo “Path
Nel
“
remotto dove salvvare gli scrript” si inseerisce il perrcorso dovee si intende
innviare gi sccript partenndo da /hom
me/$USER in cui US
SER cambiaa secondo l’utente, il
peercorso è ugguale per tuttti i partecippanti e nel caso
c
non siaa presente saarà Sunrise a crearlo.
Il check “Vissualizzare finestra
fi
di debug”
d
perm
mette di visuualizzare laa finestra di debug per
coontrollare il procedimennto del test controlland
do anche l’eeventuale prresenza di errori.
Il check “Eliiminare appplicativi insstallati” permette di eliminare
e
glli applicativ
vi installati
duurante la configurazionne dei parteccipanti.
U volta chhe sono statii compilati tutti
Una
t
i camp
pi necessari per l’esecuuzione dellaa campagna
dii test si proccede con il lancio
l
dei teest (Esegui)).
2.4 Deployme
D
ent
L’avvio dellaa campagnaa test avvienne inviando su tutte le macchine
m
im
mpiegate glii script che
coompongonoo il Benchmark.
I partecipanti
p
i al test sonoo:
•
Nodo Principale:
P
rappresentaa nodo dovee risiede Sunrise;
•
Main Node:
N
rapprresenta il noodo dove rissiede il Benchmark chee attiva il Pu
ublisher;
•
Second
dary Node: rappresentaano i nodi Subscriber.
S
Siia il Main Node
N
che i Secondary
S
N
Node
hanno il middlew
ware installatto.
288
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Figu
ura 13 Invio script
s
Peer il collegaamento e l’invio versoo le altre maacchine vienne utilizzataa la libreriaa Ganymed
SS
SH-2 per Java, che implementta il proto
ocollo SSH
H-28. Tale libreria permette la
coonnessione SSH verso altre macchhine all’interrno di un prrogramma JJava.
G
Ganymed
SS
SH-2 conseente la creaazione di una
u sessionne SSH, siaa per l’esecuzione di
coomandi rem
moti che perr l’accesso alla shell, inoltre
i
perm
mette il portt forwarding9 locale e
reemoto, la traasmissione locale,
l
l’X11110, il trasfe
ferimento SC
CP11 e SFTP
P12.
Suunrise stabiilisce una connessione
c
e SCP con tutti i noddi partecipaanti, i param
metri della
coonnessione sono fornitii dal file di configurazzione della rete
r che si è importato nel campo
8
SSH (Securee SHell, shell ssicura) è un p
protocollo chee permette di stabilire una sessione rem
mota cifrata ad
d interfaccia aa linea di comaando con un aaltro host. Il protocollo SSH‐2 è la version
ne rilasciata nel 1996. 9
Il port forrwarding, a volte v
chiamato anche tun
nneling, è l'o
operazione ch
he permette il trasferime
ento dei datii (forwarding) da un compu
uter ad un altrro tramite unaa specifica porrta di comuniccazione. 10 X Window System, noto
o in gergo com
me X Window
w o X11 o anco
or più sempliccemente X, è,, di fatto, il ge
estore grafico
o standard perr tutti i sistemi Unix. 11
SCP, Securre Copy, è un modo sicuro
o per il trasferrimento di file
e tra un comp
puter locale e un host remoto o tra duee host remoti, utilizzando il protocollo SSSH. 12 SSH File Transfer T
Protocol or SFTP è un protoccollo di rete che prevede il trasferimeento affidabile di file e laa manipolazion
ne di funzionaalità su ogni flusso di dati. U
Utilizzato con il protocollo SSSH ‐ 2 per forrnire il trasferrimento di filee sicuro, ma è destinato ad essere utilizzaabile anche co
on altri protoccolli. 299
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
“N
Network coonfigurationn”. Prelevaate le info
ormazioni necessarie, Sunrise effettua
e
la
coonnessione e invia a tuttti i nodi l’aarchivio con
ntenete gli script.
s
Il Bennchmark vieene inviato
inn formato coompresso, al
a fine di veelocizzarne la trasmisssione, nella directory in
ndicata nel
caampo “Patth remoto dove salvaare gli scrript”. Una volta invviato l’arch
hivio verrà
sccompattato. Sunrise, suuccessivameente, invia il
i file XML
L contenentee il test suitte e invia il
fille contenetee gli indirizzzi dei parteecipanti e i ruoli che ricoprono,
r
cche verrann
no utilizzati
daal Benchmaark per l’avvvio della cam
mpagna di test.
t
Sii avvia la faase di esecuzzione della campagna di
d test.
2.5 Esecuzion
E
ne della campagna
c
a test
Suunrise perm
mette una duplice
d
moddalità di vissualizzazionne della cam
mpagna tesst, che può
esssere selezioonata dalla finestra “Laancia misure” selezionaando o menno il check “Visualizza
“
finnestra di deebug”.
N caso in cui
Nel
c il check è selezionatto una finesstra di debugg mostra l’aandamento del
d testing.
A
All’interno
d
della
finestrra compaionno i log delle varie azzioni che sii stanno efffettuano, in
quuesto modo l’utente puuò controllarre sia l’andaamento del test, ma sopprattutto l’in
nsorgere di
evventuali erroori.
Figura 14 Avvvio con finesstra di debugg
300
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
N caso in cui
Nel
c il check non sia staato selezionato si avviaa un progresss monitor che
c mostra
l’aavanzamentto del test.
Figura 15 Avvvio con prog
gress monitorr
Inn entrambe le modalitàà l’utente puuò decideree di annullarre l’esecuziione del tesst tramite il
puulsante “Terrmina” nella finestra dii debug o “A
Annulla” neel caso del pprogress mo
onitor.
L’avvio del test consiste nell’atttivazione del
d Benchm
mark, che rrappresenta il nucleo
deell’attività di
d conduzionne della cam
mpagna di teest.
2.6 Benchmar
B
rk
Peer valutare le performaance di mecccanismi deel tipo Publlish/Subscriibe, come ad
a esempio
RTI DDS o Open
O
Splicee, vengono utilizzate
u
le seguenti metriche:
m
•
Latenzza, definitaa come ill Round Trip
T
Time tra l’inviio del meessaggio e
l’acknoowledgmentt inviato dall Subscriberr;
•
Jitter, definito com
me la deviazione stand
dard della latenza.
Laa latenza è un param
metro impoortante per la valutazzione delle performan
nce, infatti,
raappresenta il tempo neccessario perr trasmettere un messagggio minim
male da un estremo
e
del
coollegamentoo all'altro. La
L misura della
d
latenzaa è di fondaamentale im
mportanza nell’ambito
n
deelle trasmissioni time critical,
c
esseendo fondam
mentale la velocità
v
di trasmission
ne oltre che
laa sicurezza. Nel DDS, e di conseguuenza nelle varie impleementazionii, risulta fon
ndamentale
31
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
laa valutazionne della latennza, infatti,, un tipico scenario
s
di utilizzo è ill controllo del
d traffico
aeereo, dove anche
a
un lieeve ritardo nella
n
trasmisssione può portare
p
a rissultati disastrosi.
Laa latenza viene definitaa come il Roound Trip Time,
T
che raappresenta lla differenzaa tra:
•
L’istannte di arrivo dell’echo innviato dall’ultimo Subscriber attivvato (T2);
•
Il temppo di invioo del prim
mo messagg
gio da parte del Publlisher verso
o il primo
Subscriiber attivatoo (T1).
Il Subscriberr echoer è sempre unnivoco e raappresenta l’ultimo atttivato, ancche se è il
s
u Subscriber ad esseree echoer, innserendo neel messaggio il cookie
un
Puublisher a sollecitare
deel Subscribeer che dovràà comportarrsi da echoeer.
N caso un
Nel
nicast il Puublisher invvia i messaggi a tutti i Subscriber attivi, ma
m soltanto
l’uultimo Subsscriber attivvato invierà l’echo.
Figuraa 16 Misurazzione del RTT
T nel caso uniicast
N caso mu
Nel
ulticast il Publisher invvierà il messsaggio soloo al primo Subscriber,, che a sua
voolta lo invieerà ai restannti, anche inn questo casso è soltantoo l’ultimo S
Subscriber attivato
a
che
innvierà l’echoo al Publishher.
Figura 17 Misurazzione del RTT
T nel caso mu
ulticast
322
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Il Publisher memorizza
m
l’istante dii trasmissione del messaggio e l’iistante in cu
ui riceve il
m
messaggio
dii ack dall’ulltimo Subsccriber. Nel valutare
v
la differenza
d
ffra i due istaanti, valuta
laa velocità di trasferimennto da un noodo al’altro.
Peer rendere l’applicazio
l
one pronta per
p la fase di test, venngono inviaati dei camp
pioni, detti
“w
warm-up”, prima delll’invio dei campioni effettivi. L’invio
L
dei campionii warm-up
peermette la conclusione
c
e di qualsiaasi attività che
c impieghi il nodo Subscriber,, in questo
m
modo
viene evitata
e
qualssiasi interfeerenza.
A titolo di essempio analizziamo il caso
c
in cui si
s è deciso di
d realizzaree una campaagna di test
chhe utilizzi l’’unicast.
F
Figura
18 Fun
nzionamento della campaggna di test
A fine dell’’esecuzione dei test, Sunrise
Al
S
avv
via una nuoova sessione SSH versso il Main
N
Node,
in questa sessionee avvia l’eseecuzione deel Benchmarrk.
Il Benchmarrk attiva i partecipanti
p
i sui vari nodi,
n
attivaando il Pubblisher per l’invio dei
333
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
m
messaggi.
Il Publisher per
p ogni meessaggio inviato, attennde l’echo ddell’ultimo Subscriber
atttivato e valuta la latenzza come diffferenza tra l’istante di invio del m
messaggio e l’istante in
cuui riceve l’eecho. Il vallore della laatenza vien
ne calcolatoo per ogni m
messaggio inviato.
i
La
m
modalità
di trasmissione
t
e del messaaggio e la politica adotttata dipenddono dai parrametri del
teest case, infaatti, per ognni test case si
s può adopeerare una poolitica diffeerente. Ad esempio nel
caaso in cui si è inseritta la politica Best Efffort la perrdita di meessaggi non
n ritarda la
traasmissione,, infatti, il DDS si occupa dell trasporto dei pacchhetti nella rete senza
prreoccuparsi l’avvenutaa consegnaa degli stesssi, quindi i messagggi persi non
n vengono
reecuperati. Nel
N caso inn cui si è inserita
i
unaa politica Reliable,
R
laa perdita dii messaggi
prrovoca un ritardo
r
nellla trasmissiione, infattii, in questoo caso, avrremo il recu
upero e la
rittrasmissione del messaaggio. In questo
q
caso a fronte dii un ritardoo nella com
municazione
abbbiamo un trasferiment
t
to di tipo afffidabile. Le politiche da adottaree sono preseenti nel file
X
XML
che viiene inviatoo insieme al
a Benchmaark, e che contiene lee Quality of
o Service,
ovvvero le quaalità che il servizio
s
devve offrire.
A fine dellla trasmisssione di tuttti i campio
Alla
oni si ottienne il RTT, ovvero la latenza
l
del
m
middleware,
per ogni caampione invviato. I valo
ori della lateenza vengonno scritti daal Publisher
inn un file chhe viene poosto all’inteerno di unaa cartella chhe identificca il test caase, inoltre
alll’interno dii ogni Subsccriber si troova un file contenete
c
ill riepilogo ddella campaagna di test
coon il numeroo di campiooni ricevuti e il numero
o di campionni persi.
2.7 Conclusio
C
ne della campagn
c
na di test
A conclusionne della cam
mpagna di test i file contenenti
c
i risultati sono presen
nti sui nodi
Puublisher e Subscriber.
S
Suunrise autom
matizza la raccolta
r
deii risultati traa i nodi prelevando i riisultati dai vari
v nodi e
innserendoli dove
d
indicaato dall’utennte nel cam
mpo “Path locale dove salvare i risultati”,
doove trovereemo un filee compressoo e una carrtella conteenente i risuultati. Al teermine del
344
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
prrelievo dei risultati viiene ripulitoo il testbed
d dalle eveentuali carteelle create, inoltre se
l’uutente ha selezionato
s
il check “E
Eliminare applicativi installati”, verrà disin
nstallato il
m
middleware.
Figgura 19 Prelieevo dei risulta
ati e pulizia del
d testbed
Laa raccolta dei risultatti avviene stabilendo una conneessione SCP verso il Main e i
Seecondary noode, all’inteerno della directory
d
rem
mota viene prelevata laa cartella co
ontenente i
rissultati che viene inviaata nella directory
d
sellezionata dall’utente
d
pper il salvaataggio dei
rissultati. In questa
q
directtory vengonno raccolti tutti
t
i risultaati in una caartella Resu
ults, inoltre
Suunrise crea un archivioo di tale carrtella al finee di facilitaarne l’eventuuale preliev
vo da parte
deell’utente.
Dopo l’invio dei risultatti Sunrise efffettua la pu
ulizia dei noodi, tramite una connesssione SSH
ellimina le carrtelle createe per la condduzione della campagnna di test.
N caso in cui
Nel
c l’utente abbia selezzionato di eliminare
e
glii applicativvi Sunrise diisinstalla il
355
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
m
middleware
e
eliminando
le cartelle create durante l’instaallazione edd eliminand
do il file di
coonfigurazionne delle varriabili d’ambbiente.
A conclusionne del preliievo dei rissultati e della pulizia del test, unna finestra di notifica
avvviserà l’uteente della coonclusione del test.
Figura 200 Conclusionee della campaagna test
U volta chhe la camppagna è terrminata, i risultati
Una
r
proodotti si troovano nellaa directory
seelezionata dall’utente
d
e sono prontti per esseree analizzati.
Figgura 21 Direcctory con i rissultati
366
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Capitoolo 3
Analis
si dei dati
d
L’organizzazzione e l’anaalisi dei risuultati dei teest cresce essponenzialm
mente al creescere delle
coombinazioni di test.
Peer facilitaree l’analisi dei
d risultati è stata sviluppata un’’ulteriore fuunzionalità in Sunrise
chhe permettee di processaare i risultaati prodotti dalla campaagna di testt producend
do grafici e
reeport.
Durante la faase di analissi abbiamo due probleematiche da affrontare ovvero la modalità
m
di
raappresentaziione dei datti e la modaalità di comp
portamento rispetto gli outlier.
3.1 Outlier
O
G outlier rappresenta
Gli
r
ano dei cam
mpioni dallle caratterristiche estrreme, ovveero che si
diifferenzino molto dai restanti cam
mpioni. Perr una distriibuzione noormale, la deviazione
standard assuume valore 5, ciò signiifica che cirrca 2% di tuutti i dati chhe provengo
ono da tale
diistribuzionee sarebbero consideratii estremi. Quando
Q
un laboratorio misura ripetutamente
loo stesso cam
mpione e unno dei risulttati sembra essere lonttano dal resto, un outliier test può
esssere utile per
p poter preendere una decisione.
d
377
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Figura 22
2 Misure con outlier
L’outlier testt maggiormeente accettaato dalla com
munità analitica è il tesst di Grubb
b [RIF. 8].
N test di Grubb
Nel
G
per la determinnazione deg
gli outlier si
s misura ddi quanto differisce
d
il
vaalore, che sii pensa posssa essere unn outlier, daagli altri valori. Si calcoola il rapporrto Z come
laa differenza fra l’outlierr e la mediaa diviso la deviazione
d
s
standard.
See Z è grand
de, il valore
è lontano daggli altri e quuindi è un ouutlier. Nel calcolare
c
la media e la ddeviazione standard si
coonsiderano tutti
t
i valorii, compresoo l’outlier.
U volta ideentificato l’ooutlier si puuò decidere se eliminarrlo o mantennerlo.
Una
Inn Sunrise è stato adottaato un diffeerente algorritmo per laa determinaazione deglii outlier, di
piiù semplice approccio,, ma egualm
mente funziionale. L’uttente inserissce la sogliia massima
deella deviazioone standarrd (STD Th
hreshold) deesiderata, ovvvero la disspersione massima
m
dei
caampioni intoorno al valoor medio, e nel caso in
n cui il valoore della deeviazione sttandard sia
m
maggiore
dellla soglia coonsentita, si opera elim
minando il vaalore massim
mo e il valo
ore minimo
daalla lista deii valori. In questo
q
moddo si eliminaano gli outliier che forniscono lo sccostamento
deella deviaziione standaard dal masssimo desid
derato. Talee algoritmo può esseree applicato
viisto che, nell’analisi deei risultati, si è riscontrrato un basso numero di outlier in
n relazione
all numero di campioni.
U problem
Una
matica di talle algoritmoo è rappresentata dallaa convergennza, infatti, potremmo
388
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
troovarci in una
u situazione in cui l’algoritmo non converrge in quannto l’elimin
nazione del
vaalore massim
mo e minim
mo non portta al raggiun
ngimento deel valore di tolleranza desiderato.
Peer raggiunggere la sogliia desiderataa si potrebb
be arrivare ad
a una situaazione in cu
ui vengono
elliminati tuttti i campiooni. Per eviitare l’insorrgere di talle problemaatica viene inserita la
diimensione massima che
c
può ragggiungere la lista. Nel caso in cui l’algo
oritmo non
coonverga si eliminano
e
g outlier fiinché il num
gli
mero di cam
mpioni non raggiunge il
i massimo
coonsentito, giunti
g
al quale l’algoritmo termin
na, anche see non si è rraggiunto il valore di
sooglia desideerata.
3.2 Analisi
A
e Rapprese
R
entazione
e dei Risu
ultati
Suunrise perm
mette di autoomatizzare il
i processo di
d analisi deei risultati.
Peer poter annalizzare i risultati
r
proodotti dalla campagna di test si pparte dalla schermata
“C
Crea Graficco”.
Figura 23 Schermata
S
Crea Grafico
L’interfaccia “Crea Grrafico” è divisa in du
ue campi, che
c corrispondono allle due fasi
neecessarie peer l’analisi dei
d risultati e la generazzione dei grrafici.
Laa prima opperazione daa compieree è selezion
nare i file che
c si intenndono analiizzare, che
399
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
veengono scellti attraversso un file chhooser. Sun
nrise permeette di selezzionare i sin
ngoli file o
diirettamente la directoryy contenentee i file da analizzare.
a
U volta seelezionato il file viene
Una
ricchiesto di innserire una label, che identificherà
i
à le statisticche del file sia nel graffico che nel
reeport. L’utennte può elim
minare un elemento dallla lista dei file da anallizzare semp
plicemente
seelezionandoolo e premenndo il pulsannte “X”.
Figurra 24 Richiestta label per ill file da analiizzare.
U volta che sono stati selezionatii tutti i file che
Una
c si intendde analizzarre, inizia la fase in cui
si impostano i parametrii per l’analissi.
N campo “STD Threshhold” si insserisce il vaalore di soglia della deeviazione staandard che
Nel
oggni file può raggiungerre.
N campo “Dimensioone massim
Nel
ma” si insserisce la dimensionee massimaa che può
raaggiungere la
l lista in seeguito all’elliminazionee degli outlier, nel casoo venga postto uguale a
0 si utilizza l’impostazione di deffault che è il 10% dei campioni della lista che si sta
annalizzando.
N campo “G
Nel
Grafico da visualizzaree” si scegliee il grafico che
c si desiddera creare.
Suunrise perm
mette di sceggliere fra:
•
Graficoo della meddia
•
Graficoo della deviazione stanndard
•
Graficoo Box and Whisker
W
Siia il graficco della meedia che ill grafico della
d
deviazzione standdard rappreesentano la
m
modalità
classsica di anallisi dei risulltati e vengo
ono rappresentati attravverso graficci lineari.
400
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Laa creazione dei grafici avviene graazie alla librreria JFreeC
Chart.
JF
FreeChart è una libreriaa Open Souurce [RIF. 13] che viene utilizzata per generarre una gran
vaarietà di graafici. Le caratteristiche principali di
d JFreeChaart sono:
•
Realizzzazione di grafici
g
in maaniera sia bidimension
b
nale che triddimensionale, come ad
esempiio bar chartt (orizzontaali e verticaali), serie temporali,
t
iistogrammi,, grafici di
Gantt e a torta;
•
Export diretto dei grafici nei formati imm
magine PN
NG (Portable Network Graphic) e
JPEG (Joint
(
Photoografic Expperts Group));
•
Possibiilità di aggiuungere toolttip ai graficci;
•
Possibiilità di implementare unno zoom intterattivo suii grafici;
•
Gestionne degli eveenti del mouuse sui grafiici;
•
Generaazione di Im
mage Map HTML;
H
•
Export dei grafici in PDF tram
mite iText;
•
Export dei grafici in SVG tram
mite Batik;
•
Accesso ai dati proovenienti da sorgenti di
d diversa natura (databbase, file, ettc.) tramite
interfaccce dataset dedicate
d
giàà disponibilli nella libreeria.
a
e di
d creazionee dei grafiici viene visualizzato
v
L’avanzamennto del proocesso di analisi
m
atttraverso unn progress monitor.
Figuraa 25 Analisi dei
d risultati e creazione deii grafici
Durante l’annalisi vengoono analizzzati i file selezionati
s
c contengono le misure della
che
41
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
laatenza per ogni campione inviato dal
d Publisheer. I file nonn contengonno unicamen
nte i valori
daa analizzaree, ma anchee delle infoormazioni aggiuntive
a
c ne perm
che
mettono unaa semplice
leettura nel caaso in cui si
s intenda visionarli.
v
Per
P la creazzione delle statistiche necessarie,
Suunrise autom
maticamentte estrapola le informazzioni necesssarie. I file che proven
ngono dalla
caampagna dii test possoono essere direttamentte utilizzati per la fasse di analisi, senza la
neecessità di apportare delle modiifiche. Il processo
p
auutomatico ddi estrazion
ne dei dati
peermette di semplificarn
s
ne notevolm
mente l’anaalisi, infatti, l’utente noon deve più
ù prelevare
m
manualmente
e dal file i dati di inteeresse e an
nalizzarli coon un suppoorto esterno
o, quali ad
essempio Miccrosoft Exceel o Matlab,, ma può dirrettamente prendere
p
il ffile e crearee il grafico,
coon un notevvole risparm
mio di tempoo, ma sopraattutto evitanndo l’insorggere di posssibili errori
chhe possono avvenire neella manipollazione dei dati.
Dopo l’estraapolazione dei dati viene
v
calco
olata la devviazione sttandard, qu
ualora non
risspettasse laa soglia stabbilita, vengoono eliminaati gli outlieer operando secondo laa procedura
prrecedentemeente descrittta.
I campioni
c
ricavati dall’analisi venggono utilizzzati per la geenerazione dei grafici. Secondo il
tippo di grafico che si inteende valutarre si calcoleerà una statiistica diverssa.
Peer la scelta del numeroo di campiooni da inviaare si fa unn compromeesso tra il numero
n
dei
caampioni e l’’accuratezza della stim
ma che si inttende raggiuungere, natturalmente maggiore
m
è
il numero di campioni da inviare, maggiore
m
sarrà l‘accurateezza della laatenza ricav
vata.
3.3 Grafico
G
de
ella media
a
Il grafico dellla media raappresenta la
l media ariitmetica deii campioni, data dalla somma dei
caampioni divviso il numeero dei camppioni.
Laa media ci fornisce
f
unaa buona appprossimazione del valorre medio deel RTT.
422
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Figura 26
2 Grafico della media
3.4 Grafico
G
de
ella deviazione sta
andard
Il grafico deella deviazioone standarrd rappreseenta il valorre della devviazione standard dei
caampioni. Laa deviazionee standard o scarto quaadratico meddio è un inddice di dispersione dei
daati intorno al
a valore attteso. Il term
mine deviazzione standaard è stato iintrodotto in
i statistica
daa Karl Pearson (On thee dissectionn of asymmeetrical frequuency curvees, 1894) asssieme alla
leettera greca σ che lo rapppresenta.
Dove
rappresennta la mediaa aritmetica..
Trramite la deeviazione standard
s
è possibile
p
vaalutare la vaariazione deella latenzaa, ovvero il
raange di valori entro cui oscillaa la latenzaa di un deeterminato test. La valutazione
v
deell’oscillazione dei vaalori risulta fondamenttale al fine dell’analissi, infatti, permette
p
di
stabilire la variazione
v
e quindi permette
p
dii configurare opportunnamente lee eventuali
appparecchiatuure che utiliizzano DDS
S, in modo da poter insserire una toolleranza ad
deguata per
faar fronte ad eventuali sccostamenti dai
d valori atttesi.
433
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Figgura 27 Grafi
fico della deviiazione stand
dard
3.5 Grafico
G
Bo
ox and Whisker
W
L’analisi dei dati parte dalla
d
visuallizzazione dei
d dati, un modo efficciente per fare
fa ciò è il
grrafico Box and
a Whiskeer, che chiaameremo sem
mplicementte box plot. Il box plott si basa su
statistiche roobuste13. Consideriam
C
mo, ad esempio, il calcolo
c
dellla media, una delle
opperazioni sttatistiche piùù semplice possibile e supponiam
mo di aver oottenuto la serie
s
2-3-24--3-4-3, la cuui media è 3,
3 in questo caso non sono presentti gli outlierr. Supponiaamo che sia
prresente un outlier,
o
che può
p essere dovuto
d
ad un
u errore o ad
a atre causse, quindi ottteniamo la
seerie 2-3-2-44-3-4-11-3, la
l media, adesso, è 4 che
c non è una
u buona rrappresentazzione della
teendenza cenntrale di unaa serie di 6 valori di cui
c 5 sono al di sotto di 4 e solo
o uno è più
grrande. La media
m
non è robusta nel
n caso in cui si osseervano deglli outlier. Questo
Q
può
esssere visto osservandoo la dispersione o la diffusione dei dati, ovvero la deviazione
standard. Laa mediana rappresentta una robu
usta analisii statistica per rappreesentare la
teendenza cenntrale di unaa serie di misure,
m
infaatti, rappreseenta la meddia di due medie.
m
Nel
caaso in cui i valori anaalizzati risuultano “strani” la meddiana offre un’osservazzione sulla
teendenza media dei datii, infatti, see consideriaamo la seriee 2-3-2-4-33-4-3, la meediana è 3,
13
Vengono cchiamate robu
uste statistich
he perché sono molto più resistenti (robuste) alla presenza degli ou
utlier rispetto
o alla classica aanalisi statistica basata sulla normale disstribuzione. 444
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
coonsiderandoo un outlieer, quindi la
l serie 2-3
3-2-4-3-4-11-3, la meediana è an
ncora 3, e
coontinuerebbbe ad essere 3 anche se l’outlier an
nziché esseree 11 fosse 1100, quindi la mediana
è robusta risppetto gli outtlier.
L’intervallo interquarttile, IRQ (IInterquartiile Range) è un modo rrobusto per descrivere
laa dispersionee dei dati, rappresentan
r
ndo l’interv
vallo entro il quale si trrova la med
dia del 50%
deei valori coonsiderati. Il primo e il terzo in
nterquartile,, vengono ccalcolati riccavando la
m
mediana
dei valori, succcessivamennte si divid
dono i cam
mpioni in duue intervallli, il basso
inntervallo e l’alto intervaallo, nel casso i valori siano
s
“stranni”, ovvero ssi sospetta la
l presenza
dii outlier, la
l medianaa è inclusaa in entram
mbi gli inntervalli. L
La medianaa calcolata
neell’intervallo dei bassii valori rapppresenta il primo qu
uartile, ovvvero il valo
ore entro il
quuale si trovva il 25% dei
d campionni, mentre la medianaa ricavata nnel secondo
o intervallo
raappresenta il
i terzo quaartile, ovveero il valoree entro il quuale si trovvano il 25%
% dei valori
piiù alti. La diistanza interquartile rapppresenta laa differenzaa fra il terzo e il primo quartile.
q
Figurra 28 Grafico
o Box and Wh
hisker
Laa mediana e l’intervalllo interquaartile vengo
ono utilizzaati per la crreazione deel Box and
W
Whisker.
Il box plot è rappresenntato da un
n blocco (B
Box) la cuui altezza rappresenta
r
l’iintervallo interquartile
i
e, così che il valore di base rapppresenta iil primo interquartile,
455
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
m
mentre
il vallore più altto rappresennta il terzo
o interquartiile, inoltre una barra orizzontale
o
raappresenta la
l mediana.. Due righee, detti anche baffi (W
Whisker) coorrispondono ai valori
diistanti 1,5 volte
v
la disstanza interrquartile a partire risppettivamentee dal primo
o dal terzo
quuartile.
A volte veengono anchhe rappresentati nel grafico i valoori che fuoriiescono dalll'intervallo
Alle
deelimitato daalle due righhe come punnti isolati.
Inn Sunrise sii è scelto dii creare il grafico
g
Bow
w and Whiskker affinchéé ci sia uno
o strumento
agggiuntivo peer la valutaazione dei risultati
r
otteenuti. L’utennte può otteenere una panoramica
p
geenerale dei dati tramitee valutandoo nello stessso momentoo varie stattistiche, oltrre ad avere
unna maggioree visione deella dispersiione dei valo
ori.
Figura 29 Grafico
G
Box and
a Whisker
3.6 Creazione
C
e dei repo
ort
A
All’interno
d ogni scheeda conteneete i grafici vi è un puulsante che consente alll’utente la
di
crreazione di un
u file di reeport. L’utente selezion
na il pulsantte “Crea pdf
df” in una deelle schede
deei grafici, e seleziona laa directory dove
d
salvarre il file, tram
mite un filee chooser.
Il report è un
u file pdff che contieene i graficci precedenntemente crreati e una tabella di
rieepilogo chee contiene:
•
Minimoo valore reggolare;
466
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
•
Massim
mo valore reegolare;
•
Primo quartile;
q
•
Terzo quartile;
q
•
Media;
•
Medianna;
•
Jitter.
utazione geenerale della campagn
na, inoltre
Laa creazionee del repoort permettee una valu
peermette all’’utente di analizzare
a
u serie di
una
d risultati anche succcessivamentte senza la
neecessità di ricreare
r
i graafici.
Figgura 30 Repo
ort
Laa creazione del report avviene
a
tram
mite la libreeria iText.
iT
Text [RIF. 14]
1 è una libbreria che permette
p
di generare file PDF, perrmettendo di
d possibile
auutomatizzarre il processo di creazioone e manip
polazione.
L’automatizzzazione si reende necesssaria quando
o:
•
Per mootivi di tem
mpo o di dim
mensioni, i documenti in formatoo PDF non può essere
prodottto manualm
mente;
•
Il conteenuto del doocumento deeve essere calcolato
c
in base a inpuut utente;
477
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
•
Il conteenuto deve essere
e
persoonalizzato o personalizzzabile;
•
Il form
mato PDF contenuto devve essere serrvito in un ambiente
a
W
Web;
•
I docum
menti devonno essere creeati in " battch process"".
iT
Text po’ essere utilizzatto per:
•
Serviree un PDF a un
u browser;;
•
Generaare dinamicaamente docuumenti da file
f XML o banche datii;
•
Utilizzaare le carattteristiche innterattive deel formato PDF;
P
•
Aggiunngere segnallibri, numerri di pagina, filigrane, ecc;
e
•
Dividerre, concatennare, e maniipolare le paagine PDF;
•
Automatizzare la compilazion
c
ne dei modu
uli PDF;
•
Aggiunngere le firm
me digitali per
p un file PDF.
P
A
Alla
fine deella creazioone un meessaggio di
d notifica avviserà l’utente delll’avvenuta
crreazione dell report.
Figuraa 31 Creazion
ne report
Con la creaziione del repport si concllude la camp
pagna di tesst.
488
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Capitoolo 5
Esemp
pio cam
mpagna di tes
st
Inn questo caapitolo Sunrrise verrà utilizzato
u
peer la valutaazione dei ttempi di reecovery14 a
seeguito del manifestarsi
m
di communnication failu
ures.
4.1 Testbed
T
I test
t sono staati eseguiti presso
p
il Laaboratorio Ittem-Cini “C
Carlo Savy”” di Napoli.
Figu
ura 32 Il Testtbed
Laa struttura del
d Testbed è compostaa da 5 calcolatori: 4 conn funzioni P
Publisher-Su
ubscriber e
unno avente come scopo quello di simulare il comportame
c
ento di una rete soggettta a faults.
Suui primi è stato utiliizzato com
me sistema operativo la distribuzzione linux
x Red Hat
14
Tempo di rrecupero, ovvvero misura deella latenza ch
he si garantiscce a seguito deella perdita dii messaggi. 499
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Ennterprise 4, sull’altro una
u Mandrakke 9.1.
Soono state create due reti
r LAN con indirizzii 192.168.11.0 e 192.168.2.0 e su
ubnet-mask
2555.255.255..0. Alla rette 192.168..1.0 appartengono i terminali
t
2,, 3 e 4 av
venti come
inndirizzo IP rispettivam
mente 192.1668.1.1, 192
2.168.1.2 e 192.168.1.33. Nella caampagna di
teest sono statti configuratti come Seccondary Nod
de.
A rete 1922.168.2.0 apppartiene il terminale 1, avente come indirizzzo IP 192.168.2.1, la
Alla
fuunzione di questo
q
nodo, nella camppagna di tesst, è stata quuella di Prim
mary Node.
Il terminale numero
n
5, invece,
i
pressentava duee interfacce di rete eth11 ed eth2 (eeth0 è stata
laasciata inuttilizzata per permetterre al term
minale la connessione ad internet) aventi,
risspettivamennte, come inndirizzo IP,, 192.168.1..4 e 192.168.2.1. Quessti due indirrizzi hanno
raappresentatoo, quindi, i gateway
g
perr la rete 192
2.168.1.0 e 192.168.2.00. Su questo
o terminale
è stata eseguiita la versioone 2.0.12 di
d NIST Net, simulatoree di rete.
4.2 Test
T
Suite
e
Il test suite per
p la realizzzazione deel test è stato creato trramite Sunrrise, nella sezione che
peermette la generazione
g
del test suitte tramite laa creazione del file xmll.
Figura 33
3 File XML
N
Nella
conduzzione della campagna
c
d test si è im
di
mpostato:
•
Numero Writer paari a 1;
500
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
•
Numero Reader vaariante da 1 a 3;
•
Tipo dii messaggioo Full Avenuue;
•
Periodoo di pubbliccazione 10000 µs;
•
Best Efffort e Reliaable;
•
RTI;
•
Tipologgia di traspoorto Unicastt;
•
Formatto CRD;
•
Numero di messagggi inviati pari
p a 1000.
R
definniscono la scala, ovveero le dimennsioni del sistema.
s
Al
Il numero di Writer e Reader
n
di partecipanti
p
i cresce il numero
n
di messaggi
m
daa inviare, portando ad
crrescere del numero
unna diminuzzione dellee prestaziooni. Essend
do il DDS
S scalabilee all'aumen
ntare delle
diimensioni del
d sistema le
l prestazionni non degraadano.
Il messaggio di tipo FullAvenue naasce dalla sp
pecifica del progetto deella comuniità europea
A
Avenue
per l'interoperabbilità tra i siistemi esisteenti per il coontrollo del traffico aerreo.
Il periodo dii pubblicaziione rappreesenta il periodo interccorrente traa una pubbllicazione e
l’aaltra da partte del Publisher.
Peer la configuurazione deelle Quality of Service si è scelto di
d mettere a confronto due
d diversi
tippi di serviziio basati enttrambi su prrotocollo UDP:
U
•
Best Efffort: servizzio di tipo innaffidabile in
i cui si puòò avere la peerdita di paccchetti;
•
Reliablle: servizio di tipo affiddabile che viene
v
gestitto tramite acck, in cui laa perdita di
pacchettti viene gesstita tramitee il recupero
o e la ritrasm
missione.
Il middleware testato è la
l RTI OMG
G.
DDS permettte di sceglieere una dopppia tipologia di trasporrto:
•
Unicastt: i parteciipanti sonoo direttamen
nte collegaati fra loro, per cui si
s conosce
l’indirizzo di ognuuno di essi;
•
Multicaast: non si conosce
c
l’inndirizzo di ogni parteccipante, ma si conoscee l'indirizzo
del gruuppo a cui apppartengonoo.
Inn questo casso si è sceltoo di adoperaare l’Unicasst.
51
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Il CDR è il foormato stanndard del DD
DS per la raappresentaziione dei datti.
Il numero di campioni inviati
i
incidde sull’accu
uratezza delll’analisi chhe vuole esssere svolta,
peer questa caampagna si è deciso di inviare 10
000 campioni. Tale valore ben si adatta alle
noostre esigennze, infattii, la campagna non risulta estrremamente lunga ed inoltre le
statistiche calcolate risulltano abbasttanza accurrate.
Laa campagnaa di test si è svolta in due
d diversi scenari.
s
Nell primo scennario la cam
mpagna si è
svvolta senza attivare la funzionalittà di perditta dei pacchetti di NIST Net. Neel secondo
sccenario si è simulata la perdita del 5% dei paccchetti.
Il numero di messaggi persi
p
è datoo dal numerro dei pacchhetti che soono andati persi
p
o non
soono stati riceevuti corretttamente nelll’intervallo
o osservazioone.
Inn entrambi i casi la campagna è stata realiizzata con il medesim
mo test suitee e con la
m
medesima
coonfigurazionne.
4.3 Risultati
R
della camp
pagna di test
Figura 344 Risultati deella campagnaa test
522
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Peer valutare le
l performaance di RTI DDS valuttiamo l’andaamento dellla media al variare del
nuumero di noodi, valutanndo lo scennario in cuii viene utiliizzato NIST
T Net per simulare
s
la
peerdita di paacchetti e loo scenario inn cui NIST
T Net non viene
v
utilizzzato e quind
di non vi è
peerdita di paccchetti.
N caso Reliable vi è molta
Nel
m
differeenza tra i du
ue scenari, infatti,
i
RTI garantisce un
u servizio
afffidabile di consegna dei dati innviati e assicura l’eventuale ritraasmissione in caso di
peerdita. L’auumento deel valore del
d RTT è dovuto meccanism
mo di recup
pero e di
rittrasmissione dei messaaggi persi.
N caso Best Effort abbbiamo pocca differenzza fra i duee scenari, inn quanto laa perdita di
Nel
paacchetti nonn provoca ritardi, infa
fatti, RTI sii occupa del trasportoo dei messaaggi senza
prreoccuparsi di verificaare l’avvennuta conseg
gna, quindi nel caso iin cui si peerdano dei
paacchetti nonn vengono recuperati.
533
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Conclu
usioni e svilupp
pi futurri
Loo sviluppo di Sunrisee ha apportato una no
otevole sem
mplificazionee nella con
ndizione di
peerformance test permetttendo di:
•
Automatizzare la fase di eseecuzione deella campagna di perfformance assessment,
a
riducenndone i temppi, la possibbilità di erro
ore e lo spreeco di risorsse;
•
Automatizza la faase di pulizzia dei nodii del testbeed, rimuoveendo il codiice e i file
generatti e disinstalllando gli appplicativi in
nstallati;
•
Automatizzare la raccolta
r
dei risultati, ceentralizzanddoli su di unn unico nodo
o;
•
Automatizzare l’aanalisi dei risultati, permettendo
p
o di ricavaare una serrie di dati
statisticci che ne peermettono laa caratterizzzazione;
•
Creare grafici e repport.
Trramite Sunnrise anchee un “non addetto aii lavori” può
p
condurrre una cam
mpagna di
peerformabilitty.
U possibile sviluppo per Sunrise è la possibiilità di poterrlo estenderre ad altri middleware
Un
m
baasati sul parradigma Pubblish/Subscribe.
544
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Appendice A
Progettazion
ne UML
L
A.1 Diagrammii di caso d’uso
Trramite i diagrammi di
d casi d’uso è possibiile otteneree una visionne di alto livello del
sistema, illusstrando le fuunzionalità che
c offre ag
gli utenti.
N digramm
Nel
ma sottostaante si fornnisce una panoramica
p
a generale delle funzionalità di
Suunrise, ovveero la possibbilità di eseeguire il testt e la possibbilità di anaalizzare i rissultati della
caampagna otttenendo graafici e reporrt.
«uses
s»
Analisi risulta
ati
Cre
eazione grafico
g
«uses
s»
Cre
eazione report
r
Esecu
uzione te
est
Attore
Figura 355 Diagramma
a casi d'uso
555
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
A.1.1 De
efinizione
e della fun
nzionalità
à “Esecuz
zione testt”
A
Analizziamo
la funzionaalità di “Essecuzione teest”, tale funnzionalità include la funzionalità
fu
dii:
1.
Configuurazione paarametri tesst: vengono settati i parrametri per ll’esecuzione del test;
2.
Deployyment: si eseegue il test;
3.
Raccolta dati: si raaccolgono i dati prodottti dal test;
4.
Puliziaa del testbedd: si puliscoono tutti i nodi
n
del tesst sia da evventuali carttelle create
che daggli applicatiivi installatii.
Config
gurazione
parametri
test
«uses»
«
«uses»
Deplo
oyment
Esecuzion
ne test
«uses»
«uses»
»
Racccolta dati
Attore
Pulizia
a del testb
bed
Fiigura 36 Diaggramma della
a funzionalitàà "Esecuzionee test"
566
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Caso d’uso: Esecuzionee test
SC
CENARIO
O: L’utente vuole
v
avviarre la campaagna di test.
Prre-condizioone: L’utentte si trova nella
n
scherm
mata “Nuovaa Misura”.
Peercorso norrmale
1.
L’utentte configuraa i parametrri per la cam
mpagna di teest;
2.
Includee (Configuraazione paraametri test);;
3.
L’utentte avvia la fase
f
di deplooyment tram
mite il pulsaante “Start”;
4.
Includee (Deploymeent);
5.
Il sistem
ma raccogliie i dati proddotti dalla campagna;
c
6.
Includee (Raccolta dati);
7.
Il sistem
ma effettua la pulizia del
d testbed;
8.
Includee (Pulizia teestbed).
Poost-condiziione: I risuultati della campagnaa sono pressenti nella directory selezionata
s
daall’utente e i nodi sono stati ripulitti.
Peercorso alternativo 1::
A punto 3 see l’utente seeleziona il pulsante
Al
p
“An
nnulla” si ritorna alla scchermata in
niziale.
Caso d’uso: Configuraazione paraametri test
SC
CENARIO
O: L’utente deve
d
configgurare i parametri per la
l conduzioone della caampagna di
teest.
Prre-condizioone: L’utentte si trova nella
n
scherm
mata “Nuovaa Misura”e ha già inserrito i file di
coonfigurazionne.
Peercorso norrmale
1.
2.
L’utentte selezionaa gli script:
a.
Ill sistema visualizza un file chooseer che visuallizza solo i file compreessi;
b.
L
L’utente
seleeziona il filee desiderato
o;
L’utentte selezionaa la directoryy locale dov
ve salvare i risultati:
577
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
a.
Ill sistema visualizza un file chooseer;
b.
L
L’utente
seleeziona la dirrectory desiiderata.
3.
L’utentte inserisce la directoryy remota;
4.
IF l’uteente selezioona la modaalità di debu
ug verrà apperta una finnestra che permette
p
di
visualizzzare l’andaamento della campagnaa;
5.
IF l’uteente selezioona di elimiinare gli app
plicativi insstallati, i proogrammi in
nstallati per
l’esecuuzione del teest verrannoo eliminati.
metri sono stati
s
configu
urati.
Poost-condiziione: I param
Peercorso alternativo 1::
A punto 4 see l’utente noon selezionaa la modalittà di debug verrà aperto un progreess monitor
Al
chhe mostra l’avanzamennto della cam
mpagna.
Peercorso alternativo 2::
A punto 5 se l’utente non seleziiona di elim
Al
minare gli applicativi installati, questi non
veerranno elim
minati dalle macchine che
c partecip
pano alla cam
mpagna.
nt
Caso d’uso: Deploymen
SC
CENARIO
O: Il sistemaa avvia il proocesso di deeployment.
Prre-condizioone: L’utentte ha lanciaato i test tram
mite il pulsaante “Start””.
Peercorso norrmale
1.
IF l’utente ha sellezionato laa modalità di
d debug, il sistema aapre una sch
hermata di
debug che
c visualizzza il log deell’esecuzion
ne del test;
2.
Il sistem
ma invia, a tutti i nodi partecipanti, l’archivioo contenentee gli script, ponendolo
nella diirectory seleezionata dalll’utente;
3.
Il sistem
ma scompattta l’archiviio;
4.
Il sistem
ma avvia l’eesecuzione degli scriptt:
a.
Ill sistema essegue lo scrript che inteerpreta il fille XML gennerando un
n file di log
contenente i parametri del
d test;
588
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
b.
Ill file di logg viene datoo in ingresso allo scriipt, insiemee al file di memo che
contiene i nodi
n
parteciipanti al tesst, che avviia il test, cconfigurato in base ai
p
parametri
insseriti;
c.
5.
I risultati dell test sono presenti
p
sui nodi parteccipanti.
L’utentte può blocccare l’esecuuzione del test
t in qualssiasi momennto tramite il pulsante
“Termiina” della fiinestra di deebug o “Ann
nulla” nella finestra dell progress monitor.
m
ultati sono presenti
p
sui nodi parteccipanti.
Poost-condiziione: Il test è stato esegguito e i risu
Peercorso alternativo 1::
A punto 1 see l’utente noon ha selezionato la mo
Al
odalità di deebug, il sisteema avvia un
u progress
m
monitor
che mostra
m
l’avaanzamento del test.
Peercorso alternativo 2::
A punto 2 see la directorry non esistee viene auto
Al
omaticamennte creata daal sistema.
Peercorso alternativo 3::
A punto 4 see si verificaa un errore il sistema genera
Al
g
un messaggio
m
ddi errore e ill test viene
blloccato.
Peercorso alternativo 4::
A punto 5 see l’utente bllocca l’esecuuzione del test,
Al
t
il test viene
v
bloccaato.
Caso d’uso: Raccolta dati
d
SC
CENARIO
O: Il sistemaa deve raccoogliere i risu
ultati presennti sui nodi ppartecipantii.
Prre-condizioone: Il sisteema ha conncluso la campagna
c
d test e i rrisultati dell test sono
di
prresenti sui nodi
n
partecippanti.
Peercorso norrmale
1.
Il sistem
ma preleva i risultati presenti
p
sui vari nodi e li invia al nodo princcipale nella
directorry indicata dall’utente per il salvattaggio dei risultati;
r
2.
Il sistem
ma crea un archivio dei risultati prresenti sul nodo
n
princippale;
Poost-condiziione: I risuultati sono presenti neella directoory indicataa dall’utentee sia sotto
599
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
foorma di archhivio, sia coome cartellaa.
Caso d’uso: Pulizia dell testbed
SC
CENARIO
O: Il sistemaa deve puliree il testbed dalle
d
appliccazioni instaallate.
Prre-condizioone: Il sistema ha conccluso la cam
mpagna di teest e i risulttati del test sono nella
diirectory indiicata dall’uttente.
Peercorso norrmale
1.
Il sistem
ma elimina le cartelle create
c
per l’esecuzione del test daii nodi parteccipanti.
2.
IF l’uteente ha seleezionato di eliminare
e
glli applicativvi installati:
a.
Ill sistema eliimina le carrtelle conten
nenti gli appplicativi insstallati;
b.
Ill sistema modifica
m
il fiile di config
gurazione contenente le variabili d’ambiente
d
che fanno rifferimento aggli applicatiivi da rimuoovere.
3.
Il sistem
ma notifica l’utente chee il test è terrminato.
Poost-condiziione: Il test si è concluso e i nodi sono
s
stati riipuliti.
Peercorso alternativo 1::
A punto 2 see l’utente noon selezionaa l’opzione di eliminazzione degli aapplicativi installati,
Al
i
il
sistema non effettua
e
la disinstallazio
d
one e i nodii continueraanno ad averre gli appliccativi.
600
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
A.1.2 De
efinizione
e della fun
nzionalità
à “Analisi risultati”
A
Analizziamo
la funzionaalità di “Annalisi risulta
ati”, tale funnzionalità iinclude la funzionalità
fu
dii:
•
Configuurazione deei paramettri per l’an
nalisi: venggono configgurati i parrametri per
l’analissi dei risultaati;
•
Elaborazione dati: si elaboranno i risultatii, a sua voltta tale funzionalità inclu
ude:
o
C
Calcolo
statiistiche: si calcolano le statistiche dei
d dati.
•
Creazioone grafico: si crea il grafico;
g
•
Creazioone report: si crea il reeport.
Configurazzione dei
Paramettri per
l’anassisi
«uses»
Creazione grafico
«uses»
«uses»
Analisi risultati
r
Creazione report
«
«uses»
«uses»
Atto
ore
Calcolo sttatistiche
Elaborazione dati
F
Figura
37 Diaagramma dellla funzionaliità Analisi rissultati
61
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Caso d’uso: Analisi risultati
SC
CENARIO
O: L’utente vuole
v
analizzzare i risulttati prodottii dalla camppagna di tesst.
Prre-condizioone: L’utentte si trova nella
n
scherm
mata “Crea grafico”.
g
Peercorso norrmale
1.
L’utentte configuraa i parametrri per la creaazione dei grafici
g
e del report;
2.
Includee (Configuraazione dei parametri
p
per
p l’analisi));
3.
Se l’uteente selezioona il pulsannte “Ok” parrte l’elaboraazione dei ddati;
4.
Includee (Elaborazione dati);
5.
Includee (Creazione grafico);
6.
IF l’uteente selezioona la creaziione del rep
port;
7.
Includee (Creazione report).
Poost-condiziione: I graffici sono staati creati e, se l’utentee lo ha richiesto, il rep
port è stato
geenerato.
Peercorso alternativo 1::
A punto 3 see l’utente seeleziona il pulsante
Al
p
“An
nnulla” si ritorna alla scchermata in
niziale.
Peercorso alternativo 2::
A punto 6 see l’utente noon selezionaa la creazion
Al
ne del reporrt, questo noon verrà creeato.
Caso d’uso: Configuraazione dei parametri
p
per
p l’analisii
SC
CENARIO
O: L’utente vuole conffigurare i parametri
p
peer la creaziione dei grrafici e del
reeport.
Prre-condizioone: L’utentte si trova nella
n
scherm
mata “Crea grafico”.
g
Peercorso norrmale
1.
2.
L’utentte selezionaa i file da annalizzare:
a.
Ill sistema visualizza un file chooseer;
b.
L
L’utente
seleeziona il filee desiderato
o.
L’utentte inseriscee la label che
c contrad
ddistingue il
i file processato all’iinterno del
622
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
graficoo;
3.
I file daa processaree sono inserriti nella listta dei file daa analizzaree;
4.
L’utentte inserisce la soglia massima
m
che può raggiunngere la devviazione staandard;
5.
L’utentte inserisce la dimensioone massim
ma che la listta dei dati più raggiung
gere;
6.
L’utentte selezionaa il tipo di grrafico da viisualizzare tra:
t
a.
G
Grafico
dellaa media;
b.
G
Grafico
dellaa deviazione standard;
c.
G
Grafico
box and whiskeer.
metri sono stati configu
urati.
Poost-condiziione: I param
Peercorso alternativo 1::
A punto 1.b se l’utente seleziona una
Al
u directorry vengono automaticam
mente selezzionati tutti
i file
f che conntiene.
Peercorso alternativo 2::
A punto 3 se
Al
s l’utente seleziona un
u file e preeme il pulssante “X” qquesto verràà eliminato
daalla lista deii file da anaalizzare.
Peercorso alternativo 3::
A punto 4 see l’utente noon inseriscee alcun valorre o inseriscce 0 viene ggenerato un messaggio
Al
dii errore.
Peercorso alternativo 4::
A punto 5 see l’utente noon inseriscee alcun valo
Al
ore viene generato un m
messaggio di
d errore, se
innserisce 0 viiene inseritoo il valore di
d default.
Peercorso alternativo 5::
A punto 6 see l’utente noon selezionaa alcun graffico viene geenerato un m
Al
messaggio di
d errore.
Caso d’uso: Elaborazioone dati
SC
CENARIO
O: Il sistemaa deve analizzzare i file contenenti
c
i risultati.
Prre-condizioone: L’utentte ha avviatto l’elaborazzione dei rissultati.
633
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Peercorso norrmale
1.
2.
FOR ogni
o
file da elaborare:
e
a.
Il sistema
s
estrrae i valori da
d elaboraree presenti neel file;
b.
Il sistema
s
effeettua il calcoolo delle staatistiche deii dati;
c.
Incclude (Calcoolo statisticche).
Il sistem
ma memorizzza le statisstiche calcollate.
morizzate.
Poost-condiziione: Le staatistiche sonno state mem
Peercorso alternativo 1::
A punto 1 see si verifica un errore viene
Al
v
generaato un messaggio di errrore.
Caso d’uso: Calcolo staatistiche
SC
CENARIO
O: Il sistemaa deve calcoolare le statisstiche dei dati.
d
Prre-condizioone: I valorii da elaboraare sono statti estratti daal file.
Peercorso norrmale
1.
Il sisteema calcolaa la media, la deviazio
one standarrd, il minim
mo e massiimo valore
regolarre, il primo e il terzo intterquartile e la mediana.
2.
WHIL
LE la deviazione standdard è mag
ggiore dellaa soglia impposta dall’u
utente, o il
numeroo dei valori nella lista non
n ha raggiiunto la dim
mensione maassima:
a.
Ill sistema eliimina il valore minimo
o e massimoo;
b.
Ill sistema riccalcola le sttatistiche.
Poost-condiziione: Le staatistiche sonno state calccolate.
Caso d’uso: Creazione grafico
SC
CENARIO
O: Il sistemaa deve crearee i grafici.
Prre-condizioone: Le statiistiche sonoo state mem
morizzate.
Peercorso norrmale
1.
Il sistem
ma utilizza le statistichhe memorizzzate per creare i graficii;
644
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
2.
Il sistem
ma visualizzza i grafici richiesti
r
dalll’utente su schede diveerse.
Poost-condiziione: I grafiici sono statti creati.
Caso d’uso: Creazione report
SC
CENARIO
O: Il sistemaa deve crearee il report.
Prre-condizioone: Le stattistiche sonoo state mem
morizzate, i grafici sonoo stati creatti e l’utente
haa selezionatto il pulsante “Crea pdff”.
Peercorso norrmale
1.
2.
L’utentte selezionaa dove salvaare il report::
a.
Ill sistema visualizza un file chooseer;
b.
L
L’utente
seleeziona la dirrectory dov
ve salvare il file di repoort.
Il sisteema crea un
u file pdf contenete i grafici creati e unaa tabella dii riepilogo
conteneente le statisstiche calcoolate per ogn
ni file analizzzato;
3.
Il sistem
ma avvisa l’utente dell’avvenuta creazione
c
deel file.
Poost-condiziione: Il repoort è stato crreato.
A.2 Diagramm
D
mi di attivittà
I diagrammi di attività consentonoo di visualiizzare il fluusso di eseccuzione dell sistema e
coome cambiaa direzione secondo
s
le diverse
d
condizioni e diversi stimolli.
A
Analizziamo
i diagramm
mi di attiviità delle fu
unzionalità “Esecuzione
“
e test” e “A
Analisi dei
rissultati”.
655
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma attività: Esecuzione test
t
Figurra 38 Diagram
mma di attiviità: Esecuzione test
666
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma attività: Analisi
A
risulltati
Figu
ura 39 Diagraamma attività
à: Analisi risu
ultati
677
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
A.3 Diagrammii delle cla
assi
I diagrammi
d
di classe peermettono di
d rappresenttare le diverrse classi e le loro relazzioni.
A
Analizziamo
le classi che
c componngono le fu
unzionalità “Esecuzion
“
e test” e “A
Analisi dei
rissultati”.
Diagramma di classe: Esecuzione
E
e test
Peer eseguire il test si utillizzano le classi:
•
Misuraa: contiene tute
t
le procedute per laa configurazzione dei paarametri neecessari per
l’esecuuzione del teest;
•
Parteciipante: conttiene tutte lee proceduree necessarie all’esecuzione del testt.
Misura
a
-d
debug : bool
-e
elimina_applica
ativi : bool
-p
path_xml : strin
ng
-p
path_conf_testb
bed : string
-p
path_locale : sttring
-p
path_script : strring
-p
path_remota : string
s
+s
set_path_xml(in path_file : string) : void
+s
set_path_conf_
_testbed(in patth_file : string) : void
+s
set_path_locale_risultati(in pa
ath_locale : strring) : void
+s
set_path_scrip
pt(in path_scrip
pt : string) : void
d
+s
set_path_remo
ota(in path_rem
mota : string) : void
v
+s
set_debug() : void
v
+s
set_elimina_ap
pplicativi() : void
+llancia_test() : void
v
+b
blocca_test() : void
+a
analizza_param
metro() : bool
+a
apri_console() : void
Pa
artecipante
1..1
0..1
+invio_s
script() : void
+esegui_
_script() : void
+blocca_
_script() : void
+elimina
a_cartelle() : vo
oid
+elimina
a_applicativi()
+preleva
a_risultati()
F
Figura
40 Diaagramma di classe:
c
Esecuzzione test
688
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di classe: Analisi
A
Risultati
Peer analizzarre i risultati si utilizzanoo le classi:
•
ConfiguurazioneAnnalisiRisultaati: contienee tute le proocedute per la configurrazione dei
parameetri per poteer analizzaree i risultati;
•
ElaboraDati: conttiene tutte le
l procedure necessarie all’elaborrazione dei dati e alla
generazzione delle statistiche;
•
Graficoo: contiene tutte le proccedure per la
l generazioone dei grafi
fici;
•
Report: contiene tuutte le proceedure per laa creazione del report.
Config
gurazioneAnalisiRisultati
--threshold_STD
D : double
-lista_file
-dim_max
: int
: bool
-grafico_media
-grafico_STD
: bool
-grafico_box_an
nd_whisker : bo
ool
-statistiche
+
+set_threshold_
_STD(in valore : long) : void
+
+set_dim_max(
(in valore : int) : void
+
+set_grafico_m
media(in path_lo
ocale : string) : void
v
+
+set_grafico_ST
TD(in path_scriipt : string) : voiid
+
+set_grafico_bo
ox() : void
+
+memorizza_fil
e(in path_file : string) : void
+
+elimina_file()
: void
+
+crea_grafico(in
n statistiche : sttatistiche) : void
d
+
+crea_report(in
n statistiche : sta
atistiche) : void
+
+verifica_param
metro() : bool
+
+mostra_grafico
o() : void
+
+salva_report()
) : void
Elabo
oraDati
1..1
1..*
+analizza_da
ati() : void
+calcola_stattistiche() : void
1..1
Rep
port
0..1
+genera_rep
port() : void
+elabora_re
eport() : void
1..1
Grafico
0..*
+genera
a_grafico() : voiid
+elaborra_grafico() : vo
oid
F
Figura
41 Diaggramma di cllasse: Analisii Risultati
A.4 Diagrammii di seque
enza
I diagrammi di sequenza permettonno di visuallizzare com
me gli attori interagisco
ono con gli
ogggetti del sistema in unna serie di passaggi seq
quenziali.
A
Analizziamo
i diagramm
mi di sequennza per le funzionalità
f
à “Esecuzionne test” e “A
Analisi dei
rissultati”.
699
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza per l’eseecuzione deel test
Peer rendere più leggibiile il diagraamma di seequenza l’aarea A di seguito ripo
ortata verrà
sinntetizzata con
c le azionni set_param
metri(), ana
alisi_param
metri() e Parrametri setttati, inoltre
peer lo stesso motivo nonn vengono innseriti i paraametri dellee funzioni.
Taale sequenzza rappresennta le operaazioni da efffettuare afffinché venggano selezio
onati tutti i
paarametri perr l’esecuzione del test.
A
se
et_path_xml()
ParrametroSettato
o
analizza_parrametro()
set_pa
ath_conf_testbed
ParrametroSettato
o
analizza_parrametro()
set_path_script
ParrametroSettato
o
analizza_parrametro()
set_path_locale_risu
ultati
ParrametroSettato
o
analizza_parrametro()
set_
_path_remota
a
ParrametroSettato
o
analizza_parrametro()
s
set_debug()
ParrametroSettato
o
analizza_parrametro()
set_elim
mina_applicativi()
ParrametroSettato
o
analizza_parrametro()
Figura 422 Diagramma
a di sequenza:: Area A
700
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza: Esecuzione test
Diagramma di
d sequenzaa nel caso in cui l’uteente non bllocchi il tesst e non si verificano
errrori durantee l’esecuzioone del test.
Figgura 43 Diagramma di seq
quenza: Eseccuzione test
71
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza: Errore nell’esecuzzione del test
Diagramma di
d sequenzaa nel caso inn cui si veriffica un errorre durante l’esecuzionee del test.
Figura 444 Diagrammaa di sequenza: Errore nell'esecuzione d
del test
722
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza: Test blooccato
Diagramma di
d sequenzaa nel caso inn cui l’utentee decide di bloccare l’eesecuzione del
d test.
F
Figura
45 Diaagramma di sequenza:
s
Teest bloccato
733
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza: Eliminaazione appllicativi
Diagramma di
d sequenzaa nel caso in cui l’uteente ha connfigurato i pparametri in
n modo da
elliminare gli applicativi installati.
Figura 46
4 Diagramm
ma di sequenzza: Eliminazione applicatiivi
744
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza per l’anaalisi dei risu
ultati
Peer rendere più leggibiile il diagraamma di seequenza l’aarea B di seguito ripo
ortata verrà
sinntetizzata con
c le azionni set_param
metri(), verif
ifica_param
metri() e Parrametri setttati, inoltre
peer lo stesso motivo nonn vengono innseriti i paraametri dellee funzioni.
Taale sequenzza rappresennta le operaazioni da efffettuare afffinché venggano selezio
onati tutti i
paarametri perr l’analisi deei risultati.
Figura 477 Diagramma
a di sequenza: Area B
755
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza: Analisi Risultati
Diagramma di
d sequenzaa nel caso inn cui non si verificano
v
e
errori
nell’aanalisi dei riisultati.
Figu
ura 48 Diagraamma di sequ
uenza: Analissi risultati
766
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Diagramma di sequenzza: Errore nell’analisii dei risultaati
Diagramma di
d sequenzaa nel caso inn cui si verifficano deglii errori nell’’analisi dei risultati.
r
Figura 49 Diagramma di sequ
uenza: Erroree analisi risulttati
777
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Appendice B
NIST Net
N
Peer la conduzzione della campagna di
d test verràà utilizzato il
i simulatoree di rete NIS
ST Net.
N
NIST
Net è stato
s
svilupppato come parte
p
di un progetto dii ricerca e svviluppo di programmi
p
deell’U.S. Naational Insstitute of Standards
S
and Technnology (NI
NIST) Intern
networking
Teechnology Group
G
(ITG)
G) [RIF. 20]..
Laa simulazione di eventii discreti viene effettuaata con lo sccopo di aiuttare a capiree e valutare
il comportam
mento del protocollo di comun
nicazione trra i compoonenti di un
u sistema
diistribuito, innfatti, grazie alla simulazione, abb
biamo un modello
m
astrratto del sisstema e del
suuo comportaamento, chee permette di
d catturarnee le funzionnalità e di foocalizzare l’attenzione
suulle proprieetà critiche della distrribuzione, come
c
la toppologia, la tempisticaa, la banda
occcupata e laa scalabilità.. In questo senso
s
è neceessario un meccanismo
m
o di simulazzione per la
coonduzione della
d
campaagna di test che forniscca una base per l’applicazione deii criteri per
laa conduzionne dei test. Il
I meccanissmo di simu
ulazione puuò essere uttilizzato perr aiutare lo
svviluppatore applicando e definenddo un livello
o sottostantee al test, chhe permetta di valutare
e comprendeere le funzzionalità e le perform
mance di un
u compleesso protocollo intercoomponente, oltre a consentire
c
u
un’astrazion
ne di uno scenario rreale perm
mettendo la
sim
mulazione di fenomenni comportaamentali qu
uali, ad esem
mpio, la perrdita di paccchetti e la
lim
mitazione di
d banda.
788
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Figura 50 NIIST Net
B.1
Strutttura e fun
nzionalità
L’emulatore NIST Net è formato daa cinque parrti differentti:
•
Un moddulo del kerrnel Linux che
c intercettta i pacchettti di rete.
•
Un toool a linea di
d comando per aggiun
ngere, rimuuovere e modificare lee regole di
simulazzione di retee.
•
Un toool grafico X Windowss per aggiun
ngere, rimuuovere e m
modificare lee regole di
simulazzione di retee.
•
Un moodulo del keernel Linuxx per monito
orare il com
mportamentto delle reg
gole e delle
statisticche.
•
Un modulo del keernel Linux per intercetttare i pacchhetti di retee e reindirizzzarli verso
una loccazione alterrnativa.
L’emulatore NIST Net fornisce
f
diversi tipi di simulazioni
s
:
•
Bandwidth limitattion (Limitaazioni di banda):
b
perm
mette di sim
mulare diveersi tipi di
collegaamento di reete, controlllando il num
mero di byttes passati aattraverso il kernel. Se
il flussso di paccchetti è minore del bandwidth
b
desiderato, non effetttua alcuna
operaziione, altrim
menti ritardaa i pacchettii per soddisfare la conddizione inseerita. NIST
799
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Net perrmette di sccegliere se inviare
i
il daato, all’inizio, a metà o alla fine del
d periodo
di temppo.
•
Packet delay (Ritaardo dei paccchetti): perrmette di sim
mulare diveersi tipi di ritardo,
r
che
può esssere fisso, variabile controllato
c
dall’utentee o distribuuito, cioè variante
v
in
accordoo con il trafffico di paccchetti. NIST
T Net contieene una disttribuzione di
d ritardo di
default che lo moddifica in basse ad una tav
vola di distrribuzione nuumerica.
•
Packet reorderingg (Riordino dei paccheetti): divide lo stream ddi pacchettii in stream
i ognuno ddi essi. Se il
i ritardo è
separatti, inserendoo dei valorii di ritardo differenti in
abbastaanza elevato, uno streeam dovreb
bbe arrivaree significatiivamente prima
p
degli
altri, foornendo un semplice
s
algoritmo di riordino
r
deii pacchetti.
•
Packet loss (Perdiita dei paccchetti): si possono sim
mulare due ttipologie dii perdita di
pacchettti, o uniforrme o dipendente dal trraffico.
•
Packet duplication (Duplicaazione dei pacchetti): viene settaata la perccentuale di
duplicaazione dei pacchetti, può operrando in maniera
m
ranndom e siimulare la
ritrasm
missione di un
u pacchettoo.
•
Packet diversion (Deviazione
(
e dei paccheetti): si sim
mula la deviaazione di pacchetti da
pplicazioni
uno stream di dati verso un altro indirizzzo o un’altrra porta, dovve alcune ap
p
deeviati.
di rete catturano i pacchetti
d una simuulazione vieene scelto in
n base alle caratteristicche del sistema che si
Loo scenario di
inntendono siimulare, in modo da poter ved
dere il com
mportamentoo del sistem
ma in tali
sittuazioni.
N
NIST
Net inntercetta i pacchetti
p
d rete nel momento in
di
i cui attraaversano il kernel del
sistema operrativo. Dallla versione 2.2 in avaanti, il kerrnel Linux è stato pro
ogettato in
m
maniera
moddulare e consiste in due parti separate:
•
Funzionni “Core” compilate
c
neel kernel per fornire le funzionalitàà base al sisstema.
•
Modulii del kernel che possonno essere carricati e de-ccaricati succcessivamentte.
M
Molte
funziooni del Kernnel Linux soono state sp
postate in programmi
p
m
modulari ch
he possono
esssere caricatti e de-cariccati dal “coore” kernel in qualsiasii momento. L’applicazzione NIST
800
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
N è installaata come unn modulo del
Net
d kernel, e può esserre inserita o rimossa in qualsiasi
m
momento.
B.2
Tool di
d configu
urazione di NIST Net
N
Dopo aver caricato il modulo
m
di NIST
N
Net nel
n kernel, si
s può contrrollare il modo
m
in cui
“m
maneggia” il
i traffico dii rete. Questto può esserre fatto utiliizzando unoo dei due tool:
•
cnistneet (basato suu un’interfacccia testualee da linea dii comando)
•
xnistneet (un’interfa
faccia graficca X Window
ws)
Enntrambi poossono esseere usati peer avviare l’emulatoree di rete N
NIST Net e spegnere,
agggiungere, modificare e rimuovvere regole,, oltre ad ottenere sstatistiche. NIST Net
peermette di avviare
a
e teerminare l’eemulazione senza rimuuovere le regole di retee, inoltre si
puuò passare facilmente
f
d
dalle
operazzioni normaali a quelle di
d emulazionne di rete.
Laa regola di emulazionee può essere abilitata o disabilitatta, fornendoo grande fleessibilità ai
teest.
Il tool cnistnnet gestiscee regole basate su ind
dirizzi sorgeente e desttinazione in
nsieme alla
reegola.
Regole differrenti possonno essere usate
u
per modificare
m
ill comportam
mento del traffico
t
tra
G indirizzii sorgente e destinazzione posso
ono essere
diifferenti enndpoint sullla rete. Gli
sppecificati inn formato nuumerico o host-name, e formato host o retee. Un numerro di porta
TC
CP o UDP può
p anche essere
e
aggiuunto agli ind
dirizzi per inndicare un’applicazion
ne specifica
dii rete.
Dopo la definnizione degli indirizzi, vengono in
nseriti i speccifici valori di emulazio
one di rete,
coome il banddwidth, ritarddi, e perditee.
Il tool xnistneet fornisce le
l stesse funnzionalità del cnistnet, senza l’ambbiente grafico.
Sii possono definire glii indirizzi sorgente e destinazione usando gli stessi formati di
oppzione di cnnistnet, neglli opportunii box.
81
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
B.3
I tool opzionali di NIST Net
Oltre alle funnzioni base di emulazioone di rete, NIST Net fornisce
f
ancche e due moduli
m
addonn programm
mi e relativi programmii:
•
Murgebbox:
visualizzazione
delle
statistiche
s
dell’emulaazione
NIIST
Net,
separattamente dal modulo NIIST Net
•
Nistspyy: metodo per
p controllaare il trafficco di rete inn real time dda un indiriizzo di rete
separatto (la destinnazione può essere speccificato com
me un hostnaame o un in
ndirizzo IP,
e un numero
n
di porta
p
TCP)). Ridirigen
ndo tutto il traffico veerso una deestinazione
alternattiva, si puòò settare un’’applicazion
ne monito per
p controlllare tutto il traffico di
rete deffinito dalle regole di NIST
N
Net.
822
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
Biblioggrafia
[11]
Gerarddo Paolo Castellote, “OMG Data
D
Distrribution Service: Arrchitectural
Overview”, Military
M
Coommunications Conferrence (MILC
COM 20033)-Oct 2003
3, Vol.1 pg
2442-247
[22]
“OMG
G Data Diistribution Service: Real-Time
R
Publish/Suubscribe Becomes
B
a
Sttandard”, Jaanuary 20055 IndustryInnsight
[33]
“The Object
O
Manaagement Grroup (OMG))” www.om
mg.org
[44]
Russo, Savy, Cotrroneo, Sergiio “Introduzzione a COR
RBA”, 20022 McGraw-H
Hill
[55] “Data-ceentric pervvasive inforrmation is the wave of the fuuture”, Au
ugust 2006
DefenseElecttronics
[66] M. Xionng, J. Parsoons, J. Edm
mondson, H.
H Nguyen, D. C. Schm
midt, “Evalluating the
Peerformance of Publishh/Subscribe Platforms for
f Informaation Managgement in Distributed
D
Real Time annd Embeddeed System”,, Vanderbiltt Universityy
[77] www.wikkipedia.org
[88] D.L. Massart,
M
J. Smeyers-Ve
S
erbeke,a X. Caprona and Karin Schlesierb
b, “Visual
Prresentation of Data byy Means of Box
B Plots”, 01-APR-055 LCGC Euurope
[99] Matthew J. Rutherfo
ford Antonnio Carzanig
ga Alexandder L. Wollf , “Simulaation-based
teest adequacyy criteria forr distributedd systems”, 2006 Founndations of S
Software En
ngineering
[110] Prismtecch “OpenSpplice User Manual”
M
[111] Jason T.. Roff, “Fonndamenti di UML”, 200
03 McGraw
w-Hill
[112] www.gaanymed.ethzz.ch/ssh2
833
Un supporto auttomatico per la racccolta e l’analisi di dati sperimentalii
di un mid
ddleware per la distribuzione di datii
[113] www.jfreee.org/jfreecchart
[114] www.low
wagie.com//iText/
[115] P.Th. Eugester,
E
P.A
A. Felber, R. Guerrao
oui, A.-M. Kermarrec,, “The man
ny faces of
puublish/subsccribe”, ACM
M Computinng Surveys (CSUR) – June
J
20003
[116] RTI 20006 ”RTI Datta Distributiion Service – User’s Manual
M
v.4.11”
[117] Prismtecch “OpenSpplice User’s Manual”
[118] TAO Deeveloper’s Guide
G
[19] Mark Carrson, Darrin
n Santay “NIST
N
Net – A Linux-bassed Networrk Emulation
n Tool”
[220] www-x.antd.nist.goov/nistnet/
844
Scarica