Verifica e del Simulatore I 4 passi principali del processo simulativo Formulare ed analizzare il problema Sviluppare il Modello del Sistema Raccolta e/o Stima dati per caratterizzare l uso del Modello Attività modellistica Workload analysis Implementazione del (kernel del) Simulatore Verifica e validazione del Simulatore Implementazione e run simulatore Progettare la campagna di esperimenti per valutare le alternative Analisi statistica dell output Analisi risultati Identificare la soluzione e presentare i risultati di supporto Michele Colajanni, Impianti di Elaborazione, 2003 2
Assumi sempre che le tue assunzioni non siano valide [Robert F. Tatman] Michele Colajanni, Impianti di Elaborazione, 2003 3 Il Nucleo funziona! E adesso? Il Simulatore è una corretta implementazione del Modello? Il Modello è una ragionevole rappresentazione del Sistema? Michele Colajanni, Impianti di Elaborazione, 2003 4
Realtà Concettuale Modello Sistema Verifica Simulatore Michele Colajanni, Impianti di Elaborazione, 2003 5 Premesse importanti Un Modello di Simulazione di un Sistema complesso può solo essere una sua approssimazione. Non è, né pretende di essere, un modello assoluto di Validità. Un Modello di Simulazione, infatti, è sempre sviluppato per un insieme di obiettivi. Un Modello Valido per uno scopo potrebbe non esserlo per un altro. La non va effettuata solo dopo che il Modello di Simulazione venga completamente sviluppato e solo se ci sono tempo e denaro disponibili. Un Modello di Simulazione e i suoi risultati hanno credibilità se il Manager (committente) e le altre persone coinvolte nel progetto lo accettano come corretto Michele Colajanni, Impianti di Elaborazione, 2003 6
Relazioni tra, Verifica e Conferma della Credibilità VALIDAZIONE CONCETTUALE (per stabilire Credibilità) VERIFICA VALIDAZIONE Credibilità confermata Sistema Modello Concettuale Simulatore Risultati corretti disponibili Utilizzo dei risultati nel processo decisionale Analisi e dati Programmazione Esecuzione Esposizione dei risultati al committente Michele Colajanni, Impianti di Elaborazione, 2003 7 VALIDAZIONE CONCETTUALE
Interazioni periodiche con il manager/committente E estremamente importante per il modellatore interagire con il manager/committente su basi regolari. Questo approccio ha i seguenti benefici: quando si inizia uno studio di Simulazione può non esserci un idea chiara del problema da risolvere. Quando lo studio procede e la natura del problema diventa più chiara, tale informazione deve essere comunicata al manager che riformulerà gli obiettivi dello studio. La conoscenza di un Sistema da parte del manager contribuisce alla validità e credibilità del Modello. Michele Colajanni, Impianti di Elaborazione, 2003 9 Mantenere un documento di ipotesi ed eseguire un Walk-Through Strutturato E bene registrare le ipotesi fatte in un Modello di Simulazione in un documento chiamato Modello Concettuale. Questo documento dovrebbe essere scritto con un formalismo comprensibile da ingegneri, manager, ecc. e dovrebbe contenere: Un paragrafo con la visione d insieme in cui discutere gli scopi del progetto, i risultati specifici devono essere indirizzati al particolare studio di Simulazione. Michele Colajanni, Impianti di Elaborazione, 2003 10
Descrizioni dettagliate di ogni sottosistema e come essi interagiscono. Quali ipotesi semplificative sono state fatte e perché. Sommari contenenti i dati, la Media Campionaria e l istogramma di un insieme di dati. Un appendice contenente la Distribuzione di Probabilità che meglio si adatta ad un certo insieme di dati. Sorgenti di informazioni importanti e cause di dibattiti/polemiche. Michele Colajanni, Impianti di Elaborazione, 2003 11 Raccogliere informazioni di alta qualità e dati sul Sistema L analista dovrebbe fare uso di informazioni esistenti includendo i seguenti punti: Conversazioni con soggetti esperti Un Modello non è un astrazione sviluppata da un analista che lavora in isolamento, ma è frutto di un team di sviluppo Osservazioni sul Sistema Se esiste un Sistema simile ad uno di interesse, allora bisogna utilizzare i dati da esso risultanti per la costruzione del Modello Michele Colajanni, Impianti di Elaborazione, 2003 12
VERIFICA Relazioni tra, Verifica e Conferma della Credibilità VALIDAZIONE CONCETTUALE (per stabilire Credibilità) VERIFICA VALIDAZIONE Credibilità confermata Sistema Modello Concettuale Simulatore Risultati corretti disponibili Utilizzo dei risultati nel processo decisionale Realtà Analisi e dati Sistema Concettuale Modello Programmazione Esecuzione Verifica Esposizione dei risultati al committente Simulatore Michele Colajanni, Impianti di Elaborazione, 2003 14 Michele Colajanni, Impianti di Elaborazione, 2003 5
Verifica Si interessa di determinare se il Modello di Simulazione concettuale è stato correttamente tradotto in un programma per computer (debugging del programma). Sebbene la Verifica sia semplice in teoria, il debugging di programmi di Simulazione a larga scala è un compito difficile dovuto alla concorrenza virtuale (la correttezza o meno delle esecuzioni dipendono dal tempo) e dal gran numero di percorsi logici potenziali. Michele Colajanni, Impianti di Elaborazione, 2003 15 Tecniche per la verifica di programmi di Simulazione TECNICA #1 Nello sviluppo di un Modello di Simulazione scrivere il programma in moduli o sottoprogrammi in modo da facilitare il debugging. TECNICA #2 Nello sviluppo di Modelli di Simulazione è opportuno avere più di una persona che riesamini il programma, poiché un unico programmatore potrebbe non essere un buon critico: Structured walk-through of the program Michele Colajanni, Impianti di Elaborazione, 2003 16
TECNICA #3 Eseguire la Simulazione considerando una grande varietà di parametri di input e controllando che l output sia ragionevole TECNICA #4 Una delle tecniche migliori che possono essere usate per la correzione di un programma di Simulazione a Eventi- Discreti è quella basata su tracciamento. Lo stato del Sistema (contenuto della lista degli eventi, tempo simulato, variabili di stato, contatori statistici, ecc ) è mostrato dopo l accadimento di ogni evento, per poi essere confrontato con calcoli/percorsi fatti a mano per controllare il funzionamento del programma. Michele Colajanni, Impianti di Elaborazione, 2003 17 TECNICA #4 (cont.) Una Traccia Batch-Mode spesso produce un grande volume di output che deve essere controllato evento per evento, alla ricerca di errori. Possibili problemi: potrebbero essere presenti alcune/molte informazioni non richieste dall analista altre informazioni utili potrebbero mancare ovvero un certo tipo di errore potrebbe non essere rilevabile durante una esecuzione di debugging limitata (per durata e/o insieme di dati). Sarebbe preferibile utilizzare un debugger interattivo che permetta ad un analista di fermare la Simulazione in un preciso istante, esaminare ed eventualmente modificare il valore di alcuni parametri Michele Colajanni, Impianti di Elaborazione, 2003 18
TECNICA #5 Il Modello deve essere eseguito, quando possibile, sotto ipotesi semplificative per parametri che portano ad una semplice stima degli eventi attesi. Michele Colajanni, Impianti di Elaborazione, 2003 19 Verifica (1) Il Simulatore è una valida implementazione del Modello? Diverse tecniche Semplice ispezione Walk-Through comparativi del Modello e del Simulatore Run di casi semplificati per individuare errori logici ( Risultati più facilmente confrontabili) Michele Colajanni, Impianti di Elaborazione, 2003 20
Test di Consistenza Verifica (2) Verificare che il Simulatore produca risultati simili per parametri di input che hanno effetti analoghi. Es., 2 sorgenti per 100 pacchetti/min., 4 sorgenti per 50 pacchetti/min. Test di Indipendenza dai Semi La scelta dei semi non deve influenzare significativamente i risultati del Simulatore Test di Confronto con Modelli deterministici Test Comparativi con Modelli risolubili analiticamente Costruzione del modello analitico semplificando il Modello Michele Colajanni, Impianti di Elaborazione, 2003 21 Strumenti per il Debugging Operativamente deve essere effettuato prima della verifica analitica. Trace Visualizzazioni grafiche on-line Antibugging (introduzione mirata di bug) Run di casi semplificati, con complessità incrementale, per individuare errori nel funzionamento Test Degenerativi (configurazioni estremali del Simulatore e/o dei parametri) Michele Colajanni, Impianti di Elaborazione, 2003 22
Strumenti per il Debugging (2) Test di Continuità Si eseguono numerosi run con valori leggermente differenti dei parametri di input. Ogni variazione significativa dei valori di output deve essere oggetto di indagine Per il Debugging si utilizzano tecniche analoghe a quelle necessarie per testare un qualsiasi prodotto software di una certa complessità. Michele Colajanni, Impianti di Elaborazione, 2003 23 Realtà Concettuale Modello Sistema Verifica Simulatore Michele Colajanni, Impianti di Elaborazione, 2003 24
VALIDAZIONE Relazioni tra, Verifica e Conferma della Credibilità VALIDAZIONE CONCETTUALE (per stabilire Credibilità) VERIFICA VALIDAZIONE Credibilità confermata Sistema Modello Concettuale Simulatore Risultati corretti disponibili Utilizzo dei risultati nel processo decisionale Realtà Analisi e dati Sistema Concettuale Modello Programmazione Esecuzione Verifica Esposizione dei risultati al committente Simulatore Michele Colajanni, Impianti di Elaborazione, 2003 26 Michele Colajanni, Impianti di Elaborazione, 2003 5
Perché serve sia la Verifica che la? Verifica: Processo per stabilire che il programma funziona correttamente : Processo di verifica che il livello di accuratezza tra il modello ed il sistema è rispettato Verifica Va li da zio ne NO SI NO? Il Simulatore non implementa correttamente assunzioni realistiche SI Il Simulatore implementa correttamente assunzioni (non realistiche) Il Simulatore è una valida implementazione di assunzioni realistiche Michele Colajanni, Impianti di Elaborazione, 2003 27 Il Modello rappresenta adeguatamente il comportamento del Sistema? Adeguatamente va messo in relazione con il tipo e gli obiettivi del problema. Il valore di un Modello può essere definito solo in relazione all uso che se ne fa. Quindi, la validazione è un processo per determinare se un Modello di Simulazione è una rappresentazione accurata del Sistema per gli obiettivi prefissati. P.es. La scelta tra due Modelli in cui uno supera in prestazioni l altro in modo evidente, richiede un dettaglio modellistico più approssimato rispetto ad un Modello critico. Michele Colajanni, Impianti di Elaborazione, 2003 28
(2) UTILITA Valore del Modello Costo del Modello Benefici/Costo 0 0,5 VALIDITA Michele Colajanni, Impianti di Elaborazione, 2003 29 1 (Modelli di Progetti Sistemi non esistenti) Nel caso in cui il Sistema non esiste, la è effettuata soprattutto per REVIEW (difficoltà più elevata): Il Modello viene esaminato alla luce del progetto di Sistema Ogni assunzione e astrazione viene attentamente controllata Michele Colajanni, Impianti di Elaborazione, 2003 30
(Modelli di Progetti Sistemi non esistenti) Approccio Generalmente è necessario coinvolgere un team. La, in questo caso, si basa più sul giudizio e l esperienza che su dati concreti. Individuare delle similitudini tra progetto del Sistema e il Modello è fondamentale. Più il Modello assomiglia al progetto, più è facile che sia valido e più facilmente può essere compreso dal team che effettua la REVIEW. Michele Colajanni, Impianti di Elaborazione, 2003 31 di Modelli di Sistemi Esistenti Obiettivo della Simulazione Valutare una o più proposte di modifica del Sistema (p.es., per Capacity Planning) Tecnica per la Confrontare i risultati ottenuti dal Simulatore con quelli misurati nel Sistema BLACK-BOX VALIDATION La semplicità della in questo caso è più apparente che reale. Michele Colajanni, Impianti di Elaborazione, 2003 32
di Modelli di Sistemi Esistenti (2) Metodologia Concettuale Analizzare il WORKLOAD del Sistema in un periodo di tempo Raccogliere i dati prestazionali del Sistema nello stesso periodo Far eseguire il Simulatore con lo stesso WORKLOAD Confrontare i risultati del Simulatore con quelli ottenuti dal Sistema Michele Colajanni, Impianti di Elaborazione, 2003 33 Difficoltà nella (Sistemi Esistenti) Nella realtà possono sorgere diversi problemi : Misure Le misure possono essere difficili, costose o addirittura impossibili da ottenere Può essere difficile ottenere (= misurare) le prestazioni che si riferiscono effettivamente ad un determinato WORKLOAD (p.es. agli estremi del periodo ) Le misure possono essere incomplete, inconsistenti, sovrapposte e con il livello di dettaglio voluto Michele Colajanni, Impianti di Elaborazione, 2003 34
non Superata La differenza tra valori misurati e valori simulati è più alta di quanto siamo disposti a tollerare. Soluzione Model Calibration Individuare l errore effettuato nel processo modellistico Spesso è un errore di omissione per cui i parametri del Modello risultano inferiori. Talvolta si sono effettuate assunzioni (implicite o esplicite) semplificative non valide. Altre volte il problema è nella raccolta dei dati P.es. il sistema operativo fornisce spesso misure incomplete riguardo al tempo di overhead Michele Colajanni, Impianti di Elaborazione, 2003 35