39
S. Balsamo - A.A. 2006-2007 Simulazione S1.1 Introduzione alla simulazione Obbiettivo: simulazione discreta per l’analisi quantitativa della QoS di sistemi costruzione di modelli di simulazione soluzione della simulazione: generazione e analisi della storia degli eventi del modello Studio, analisi del sistema al variare delle caratteristiche operative Sistema collezione di elementi (componenti, entità) interdipendenti e che interagiscono per raggiungere uno specifico obbiettivo

Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.1

Introduzione alla simulazione

Obbiettivo:simulazione discreta per l’analisi quantitativa della QoS di sistemicostruzione di modelli di simulazionesoluzione della simulazione: generazione e analisi della storia deglieventi del modelloStudio, analisi del sistema al variare delle caratteristiche operative

Sistemacollezione di elementi (componenti, entità) interdipendenti e cheinteragiscono per raggiungere uno specifico obbiettivo

Page 2: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.2

Sistemi e modelli

Sistema

Modello

Analisiimpiego

CreazioneFormalizzazione

Creazione di un modello : rappresentazione del sistemaObiettivo: studio del comportamento del sistema e delle relazione fra lesue componenti.

Processo di creazione ed uso del modello1. Definizione2. Parametrizzazione3. Valutazione

Page 3: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.3

Obbietivi

• Studio e valutazione delle caratteristiche del sistema (prestazioni, affidabilità)• Fase di progetto e di implementazione

– analisi di sistemi ipotetici– confronto tra due o più sistemi

• Fase di dimensionamento e acquisizione– ottimizzazione dei parametri– identificazione dei punti critici (bottlenecks)

• Fase di evoluzione della configurazione (struttura) e del carico– capacity planning– predizione delle prestazioni del sistema nel futuro

Studio del comportamento del sistema e sua valutazione intermini di costo/prestazioni e di affidabilità durante tutto il ciclodi vita del sistema

Page 4: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.4

Motivazioni

• Vantaggi della simulazione vs misurazione– Studio di sistemi non esistenti– Stime non misurabili sul sistema reale– Non interferisce con il sistema per la misurazione– Accuratezza– Ripetibilità dell’esperimento di analisi– Analisi di sistemi in condizioni estreme (eventi rari, condizioni rischiose)

• Vantaggi della simulazione vs modelli analitici– Generalità delle ipotesi

Page 5: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.5

Vantaggi e limiti della simulazione

• Vantaggi– Studio preventivo e test per sistemi non esistenti– Stime non misurabili sul sistema reale– Espansione o compressione del tempo simulato– Comprensione del sistema e di relazione causa-effetto di eventi– Identificazione di problemi– Identificazione di requisiti– Ripetibilità– Generalità di applicazione

• Limiti– Tempo di sviluppo e messa a punto del modello– Tempo di sperimentazione– Interpretazione dei risultati complessa

Page 6: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.6

Introduzione alla simulazione

• Strumenti– Simulatori, linguaggi di simulazione– Ambienti di simulazione

• Concetti– Tempo– Variabili di stato– Eventi– Attività e ritardi– Processi– Entità e attributi– Risorse– Gestione di liste

• Modelli di simulazione a eventi discreti– Sistema <-> Modello– Astrazione del sistema– Possibilie descrizione procedurale delle variabili e delle regole di

trasformazione

Page 7: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.7

Introduzione alla simulazione

• Specifica del modello di simulazione– Semplicità– Accuratezza– Aderenza alla realtà– Approssimazione

• Simulazione digitale : basata su elaborazione digitale• Programma di simulazione : produce una storia degli stati del modello da

cui si ottengono informazioni relative all'evoluzione temporale delsistema

• Variabili di stato : esogene / endogene• Sistema

– aperto / chiuso– continuo / discreto– stocastico / deterministico

• Storia degli stati : cambiamenti di stato : continui / discreti• → Simulazione continua / discreta

Page 8: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.8

Tipi di simulazione

• Emulazione– simulazione che coinvolge componenti del sistema hw e firmware

• es. emulatore di terminale hw, emulatore di processore: emula uninstruction set di un altro processore

• simulazione MonteCarlo– non esiste o non è rilevante l’asse del tempo– utilizzata per modellare fenomeni che non cambiano nel tempo– richiede generazione di numeri pseudo-casuali– anche valutazione di espressioni non probabilistiche

• es. calcolo di integrali, calcolo di Pigreco, ecc.

Page 9: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.9

Tipi di simulazione

• Simulazione Trace-driven– simulazione basata su una sequenza di eventi ordinati per tempo

registrati dal sistema reale (traccia)– vantaggi:

• credibile: non basata su ipotesi e distribuzioni di input• semplice validazione• nessuna assunzione sul workload e correlazione• possibile fare una buona analisi di sensitività• minori variabilità (varianza minore) che permette una stima più

accurata e/o veloce• il confronto tra sistemi è certamente equo (fairness)

Page 10: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.10

Tipi di simulazione

• Simulazione Trace-driven

– svantaggi• complessità del modello è maggiore (di solito)• rappresentatività: difficoltà di ricavare una traccia rappresentativa dei

carichi possibili (soprattutto per sistemi diversi e molto dinamici)• lunghezza: la traccia è lungo e legato alla situazione in cui è registrato,

problema della scelta della parte di traccia da utilizzare• convalida: occorrono molte tracce diverse per motivare e dimostrare i

risultati• comportamenti transienti devono essere registrati nella traccia• tracce diverse per ogni diverso carico (workload)

Page 11: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.11

Tipi di simulazione

• Simulazione ad eventi discreti (DES)

• simulazione che usa un modello del sistema a tempodiscreto

• opposto di simulazione a eventi continui• può essere basata su stato continuo o discreto• le variabili di stato cambiano solo in corrispondenza ad

eventi discreti, determinati a loro volta da attività e ritardi

Page 12: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.12

Tempo, stato• Simulazione discreta

– il cambiamento di valore delle variabili di stato avviene ad istanti discreti– sistemi stocastici : una o più variabili di stato è stocastica (varia con casualità)

• Modello– a tempo continuo/discreto– a stato continuo/discreto

• Analisi del comportamento– stazionario: per sistemi stabili– transiente: variazioni continue, instabilità => simulazione a termine

• Variabili di stato– Descrizione dello stato del sistema al tempo t, al livello di astrazione fissato– Sono definite da strutture dati del modello– L’evoluzione del modello (la simulazione) può essere fermata e ripresa tramite

le variabili di stato

Page 13: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.13

Eventi, Attività• Evento

– Cambiamento di stato– È associato ad un tempo di occorrenza (istante di tempo)

– Eventi interni / esterni -> relativo a variabili endogene / esogene

– Esempio: sistema di elaborazione: inizio di un servizio di elaborazione, arrivodi un job dall’esterno

• Attività– Collezione di operazioni che trasformano lo stato di una componente– Caratterizzata da una durata di tempo– La durata può essere rappresentata da una variabile casuale– La durata può essere indefinita, dipendente dalla evoluzione del

sistema (delay)– Compresa fra due eventi: inizio attività e fine attività

• Esempio: eventi: arrivo job, completamento dell’elaborazione di un jobattività tempo

t_completamentot_arrivo

Page 14: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.14

Processi, Tempo• Processi

– Sequenza di eventi ordinati nel tempo

• Tempo– reale: tempo del sistema da simulare– simulato: tempo rappresentato nel modello

• clock : variabile del modello il cui valore è il tempo simulato corrente– di esecuzione: tempo di elaborazione del programma di simulazione

Nota: il tempo di esecuzione dipendedalle componenti del modello edalla complessità dei cambiamenti di stato rappresentati, e

non dalla scala del tempo simulato

Possibile contrazione / espansione temporale

Page 15: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.15

Entità, attributi, risorse

• Entità - elementi che eseguono transazioni– Oggetti definiti nel modello– Determinano l’accadere di eventi o reagiscono ad eventi– Possono competere per l’uso di risorse o essere accodato nelle code di attesa

• Attributi - delle entità– valori locali alle entità

• Esempio:– tempo di arrivo di un job,– domanda di richiesta di servizio

• Risorse– entità che forniscono servizi passivi o attivi (server) ad entità dinamiche (che

richiedono risorse passive o un server)– Risorse richieste possono provocare code di entità in attesa– Possono fornire servizi in parallelo per servire diverse entità concorrentemente

Page 16: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.16

Liste, run di simulazione

• Liste– Strutture dati usate per implementare code– Possono essere ordinate in base a valori di specifici attributi– Algorithmi di scheduling (discipline di servizio o di coda)

• Simulazione discreta– Evoluzione delle variabili di stato => storia degli stati

• Esperimento di simulazione– Esecuzione di un insieme di run o repliche– Uso di generazione di numeri pseudo-casuali per rappresentare la

stocasticità– Da ogni run si ricavano delle osservazioni possibilmente

i.i.d. indipendenti e identicamente distribuite– Dalle osservazioni si ricavano le stime delle grandezze di interesse

Page 17: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.17

Run di simulazione

• Run di simulazione–Esecuzione del modello di simulazione–Uso di un meccanismo di avanzamento del tempo simulato (clock T)

• Un modo per eseguire la simulazione: ciclicamente, fino alla fine della simulazione– avanza il tempo di simulazione T– esegue tutti gli eventi o i processi del tempo T

Eventi e tempi di occorrenza

tempo

Page 18: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.18

Un semplice schema di simulazione

Inizializzazione

Fase di aggiornamento e movimento delle entità

Aggiornamento del clock

Fine simulazione?

NO

Fase di rapporto

Page 19: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.19

Aanzamento del tempo di simulazione 1/2

• Clock: variabile che rappresenta l’evoluzione temporale• Meccanismi di avanzamento del tempo di simulazione

• Per eventi• Per intervalli fissi

• Avanzamento del tempo per intervalli fissi– il tempo di clock, t, è incrementato di una quantità fissa Δ (es. 1min, 1

sec., 1 µs)– si esamina il sistema per determinare gli eventi che devono aver luogo

(ovvero tutti gli eventi con tempo di occorenza ti∈(t, t+Δ]) per i quali sieffettuano le necessarie trasformazioni

– Scelta dell'incremento Δ.– Eventi con diversi tempi di occorrenza possono essere trattati come

eventi simultanei– Possibili intervalli vuoti

Page 20: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.20

Aanzamento del tempo di simulazione 1/2

• Avanzamento del tempo per eventi– Si incrementa il clock fino al tempo di occorrenza del prossimo (primo)

evento– t ← t1– Incrementi non regolari– Eventi simultanei solo se hanno ugual tempo di occorrenza– Si evitano i tempi di inattività del sistema– Meccanismo più semplice e maggiormente utilizzato.

Page 21: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.21

Componenti di un simulatore

• Routine di inizializzazione– Definizione dello stato iniziale

• Parametri, variabili di stato, generatori di numeri pseudocasuali,…

• Routine– di gestione di eventi– di scheduling di processi

• Fase di rapporto– Calcolo di stime ed elaborazione delle osservazioni raccolte– Eseguita al termine della simulazione

• Routine di traccia– Procedure per la notifica di eventi o per la valutazione di stime a run-time

• Gestione dinamica della memoria– Garbage collection

Page 22: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.22

Specifica del modello di simulazione

• Modello di simulazione– Definito da

• processo stocastico da studiare• parametri e caratteristiche operative• eventi• variabili di stato dipendenti dagli eventi• variabili endogene e regole di generazione• regole di trasformazione di stato• regole di trasformazione delle variabili endogene

• Implementazione del modello– Traduzione o codifica del modello in un programma di simulazione– Modello operazionale– Scelta della tecnica o schema di simulazione– Scelta e definizione di strutture dati, algoritmi di gestione, funzioni e procedure

di supporto

• Verifica e convalida

Page 23: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.23

Schemi del modello di simulazione

• Strutture per modelli di simulazione

–Simulazione per sequenziamento di eventi–Simulazione per scansione di attività–Simulazione per interazione di processi

–Simulazione e ‘tre fasi’

Page 24: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.24

Simulazione per sequenziamento di eventi

• Evento -> procedura• Si basa su un insieme di

procedure(sottoprogrammi),ognuna associata ad unevento, che realizzano letrasformazioni di statorelative

• Schema del programmadi controllo

• Il programma terminaquando viene raggiunto iltempo di finesimulazione, stabilito conun criterio opportuno

INIZIO

INIZIALIZZAZIONE

Determina il prossimo evento

Gestione

evento 1 …Gestione

evento

FINE SIM.

Poni clock=0

FINE

Aggiorna il clock

Passa il controllo alla procedura

relativa all'evento selezionato

Gestione

evento 2Gestione

evento N

SEQUENZIATORE

Il numero e la struttura delle procedure dipende dagli eventi considerati nel modello e dall'approccio seguito

Page 25: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.25

Simulazione interazione di processi

• Entità -> processo• Comportamento del sistema : insieme di processi (programmi in

esecuzione quasi parallela)

• Ogni processo viene eseguito ciclicamente– esempio: sistema di elaborazione uniprocessore con periferiche

•un processo per ogni job nel sistema,•un processo per la CPU, uno per ogni periferica

–consideriamo il processo CPU :–centro di servizio; assumiamo che i job in coda per ottenere l'elaborazione

(il servizio) siano gestiti secondo la disciplina First In First Out

• il servizio è realizzato valutandone il ritardo introdotto

Page 26: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.26

Simulazione interazione di processi• il processo ripete ciclicamente fino all'evento di fine simulazione iseguenti passi

1- Esamina la coda, se è vuota vai al passo 52- Preleva un utente dalla coda3- Esegui il servizio* per il job selezionato4- Vai al passo 15- Attendi l'arrivo del prossimo utente; al suo arrivo vai al passo 1

* servizio -> ritardo

• processo -> algoritmoIl passo 4 non viene eseguito finchè il clock non è avanzato di un tempopari al tempo di servizio richiesto

→ sospensione temporanea del processo• Il passo 4 viene eseguito dopo il ritardo corrispondente al servizio

→ il passo 4 è un punto di riattivazione del processo• Il passo 5 differisce dal passo 4:

la durata del tempo di sospensione non è prevedibilela riattivazione avviene solo tramite un altro processo

→ il processo è allora in uno stato passivo (bloccato)

Page 27: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.27

Simulazione interazione di processi

• Un processo può essere• attivo• sospeso• passivo

• nella simulazione per interazione fra processi una routine gestisce icambiamenti di stato dei processi

• Una routine salva lo stato del processo se questo viene sospeso o bloccato

• Due liste di processi:• {processi sospesi} (oggetti sospesi)• {processi bloccati} (oggetti passivi)

• La routine di controllo riattiva un processo al verificarsi della condizione diriattivazione.

• Un oggetto di tipo servente può essere• attivo : sta eseguendo le azioni specificate nella definizione• sospeso : è caratterizzato da un tempo di riattivazione• passivo : non è attivo e il tempo di riattivazione dipende da un altro oggetto• terminato : ha terminato tutte le azioni

Page 28: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.28

Simulazione interazione di processi

INIZIO

INIZIALIZZAZIONE

ROUTINE DI CONTROLLO

PROC.

ARRIVI

PROC.

JOB 1

PROC.

JOB N… PROC.

CPU

PROC.

PERIF.

PROC.

OSS.

FINE

SIM.

FINE

OGGETTI

SOSPESI

OGGETTI

PASSIVI

Page 29: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.29

Simulazione interazione di processi

• Lista dei processi sospesi: insieme dei processi in attesa deltermine del periodo di sospensione autodeterminato, ordinaticronologicamente

• Il primo processo è un oggetto attivo, corrispondente al processoattualmente in esecuzione

• Lista degli oggetti passivi: insieme dei processi in attesa di essereriattivati da altri processi al verificarsi delle condizioni di riattivazione.

• es.: processo CPU bloccato per coda vuota; condizione diriattivazione: arrivo di un utente, generato dal processo arrivi

Simulazione per interazione fra processi: approccio naturale allasimulazione

Realizzazione semplificata dall'uso di linguaggi appropriati, orientati adoggetti, forniti di primitive per la gestione di oggetti, di liste,dell'avanzamento del tempo simulato.

Page 30: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.30

Simulazione per scansione di attività

Attività → procedura (segmento di programma)Si basa sulla descrizione delle attività delle componenti del modello

Se è applicato il meccanismo diavanzamento per intervallifissi Δ, ad ogni avanzamentovengono esaminate tutte leattività per stabilire lecondizioni di inizio / fineattività.

Le relative procedureaggiornano lo stato delleentità

Si può applicare unmeccanismo di avanzamentodel tempo distribuito nelleprocedure delle attività(analogo all'avanzamento pereventi)

INIZIO

INIZIALIZZAZIONE

Gestione attività 1

Prevedi il primo evento

FINE

Aggiorna il clock

Gestione attività 2

Gestione attività M

Gestione attività FINE SIM.

Page 31: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.31

Pianificazione di uno studio di simulazione

1 - Formulazione del problema2 - Definizione degli obbiettivi

3 -Astrazione del modello 4 -Raccolta dei dati

5 - Codifica del modello

6 -Verifica

7 -Validazione

No

No No

8 - Progetto degli esperimenti di simulazione9 - Esecuzione e analisi dei dati

- Accuratezza ?10 -Documentazione e presentazione dei dati

Page 32: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.32

Pianificazione della simulazione - 1

1.Formulazione del problema

• Definire e verificare la corretta e completa formulazionedel problema attraverso un dialogo tra cliente e analista

• Definire le assunzioni delle specifiche e delle definizionidel sistema adottate

• Perché?

Page 33: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.33

Pianificazione della simulazione - 2

2 Definizione degli obiettivi

• Preparazione di una proposta

• Obiettivi: cosa?• Definire le risposte attese dalla simulazione• Definire gli scenari oggetto di indagine• Definire i tempi necessari• Definire le risorse necessarie• Definire i costi• Definire le fasi dell’analisi

Page 34: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.34

Pianificazione della simulazione - 3

3 Astrazione del modello concettuale– Relazioni logiche, matematiche e causali delle componenti e strutture del

sistema• Modello: livello di astrazione• componenti, attributi, caratteristiche funzionali relazioni• complessità strutturale, solubilità

4 Metodologia Top-Down– Partire dalle cose semplici ed estendere il modello fino a raggiungere il

grado di complessità descrittiva necessario– La complessità descrittiva non necessaria all’analisi aumenta rischio di

errori, costi e tempi– Coinvolgimento del “cliente” nella costruzione del modello

Page 35: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.35

Pianificazione della simulazione - 4

4 Raccolta dei dati• caratterizzazione del carico (workload characterization)• analisi e indagine sui dati che caratterizzano il modello• le discipline di accesso e servizio• i tempi medi di permanenza, attesa e servizio• le distribuzioni di probabilità• tecniche di misurazione

Page 36: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.36

Pianificazione della simulazione - 5

5 Codifica del modello• Il modello concettuale ottenuto viene codificato in una

forma interpretabile dal calcolatore, ottenendo unmodello operazionale

• Tecniche di codifica– approccio object-oriented– simulazione distribuita– ambienti di simulazione

Page 37: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.37

Pianificazione della simulazione - 6-7

6-7 Verifica e validazione del modello

– verifica della correttezza del modello operazionale (soluzione) delmodello

– convalida del modello concettuale come adeguatarappresentazione del sistema

– convalida della adeguatezza di: modello, obbiettivi, risultati

possibile iterazione ai punti (2), 3, 4 o 5 con relative modifiche

Page 38: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.38

Pianificazione della simulazione - 8-9

8 Progetto degli esperimenti di simulazione– lunghezza della simulazione– numero di prove– simulazione a termine o stazionaria– esperimenti pilota

9 Esecuzione e analisi dei dati – scelta del metodo di analisi– intervalli di confidenza e stimatori - feedback a 8– interpretazione dei risultati– analisi comparativa

Page 39: Introduzione alla simulazionebalsamo/vp/S1.1x.pdfS. Balsamo - A.A. 2006-2007 Simulazione S1.7 Introduzione alla simulazione •Specifica del modello di simulazione –Semplicità –Accuratezza

S. Balsamo - A.A. 2006-2007 Simulazione S1.39

Pianificazione della simulazione - 10

10 Documentazione– obbiettivi– assunzioni– modello– tecniche di analisi dei risultati– risultati degli esperimenti

Analisi di sensitività – scelta del metodo di analisi– intervalli di confidenza e stimatori - feedback a 8– interpretazione dei risultati– analisi comparativa