Introduzione alla simulazione
Roberta Cocchieri
[email protected]
Dipartimento di Informatica
Università degli Studi di Roma “La Sapienza”
Definizione
• Cos’è la simulazione?
– Simulazione = imitazione delle operazioni eseguite nel
tempo da un sistema o processo reale
• Esempi:
– Tamagotchi, simulatori di volo
• A cosa serve?
–
–
–
–
Analisi di sistemi ipotetici
Analisi delle prestazioni
Confronto di due sistemi
Scelta del valore ottimale dei parametri
Ambiti applicativi
• Sistemi:
–
–
–
–
–
–
–
–
elaborazione
comunicazione
trasporto
militari
sociali
naturali
economici
produzione e automazione
Alternative alla simulazione
• La simulazione è una tecnica di valutazione
• Le altre tecniche di valutazione:
– Modellazione analitica
– Misurazione
• Da cosa dipende la scelta?
–
–
–
–
Stadio in cui si trova il sistema
Tempo
Strumenti a disposizione
Livello di accuratezza
Meglio usare più tecniche!
Metodologia
•
•
•
•
•
•
•
•
Definire gli obiettivi
Definire i servizi offerti dal sistema
Scegliere le metriche (criteri di valutazione)
Scegliere i parametri (valori che
influenzano la performance)
Scegliere la tecnica di valutazione
Progettare gli esperimenti
Analizzare e interpretare i risultati
Presentare i risultati
Modello e sistema
• Modello = rappresentazione del sistema
• A cosa serve?
– Studiare il comportamento del sistema
– Studiare le relazioni fra le parti del sistema
• Un modello può omettere alcune
caratteristiche del sistema
• Il miglior modello è il più semplice che
consente di ottenere le misure desiderate.
Terminologia
• Variabili: di input, di output, di stato
• Evento
• Modelli:
– a tempo continuo/discreto
– a stato continuo/discreto a eventi continui/discreti
– statici/dinamici
Simulazione trace-driven
• Utilizza una traccia come input
• Traccia = insieme di eventi in ordine
temporale
• Usata spesso per analizzare algoritmi di
gestione di risorse
• Permette di validare facilmente il modello
• Richiede una modellazione dettagliata
Simulazione a eventi discreti
• Utilizza un modello a stati discreti del
sistema
• I valori del tempo possono essere sia
continui che discreti
• La simulazione ha diverse componenti:
–
–
–
–
Scheduler di eventi
Gestione del tempo
Variabili di stato del sistema
Routine associate agli eventi
Come simulare
• Linguaggi general-purpose
– C, Java
• Estensione di un linguaggio general-purpose
– GASP per il FORTRAN
• Linguaggi simulativi
– SIMULA, SIMSCRIPT
• Tool di simulazione
– NS, OPNET
OPNET
• Opnet è un simulatore ad eventi discreti
• L’interfaccia è grafica
• È costituito da diversi editor
– ogni editor corrisponde ad un diverso livello di
astrazione (rete, nodo, componente del nodo, ..)
– ogni editor si apre in una finestra distinta
• Editor principali:
– Project Editor, Node Editor, Process Editor
Editor principali
Scarica

Introduzione alla simulazione - TWiki