SIMULAZIONE DISCRETA
|
|
|
- Demetrio Corona
- 9 anni fa
- Просмотров:
Транскрипт
1 SIMULAZIONE DISCRETA Prof. Michele Colajanni Corso di Impianti di Elaborazione Ingegneria Informatica Università di Modena e Reggio Emilia Origini della Simulazione Discreta Nata nell ambito della ricerca operativa e delle scienze gestionali verso la fine degli anni 50 Usata come ultima risorsa quando un sistema complesso non poteva essere analizzato in nessun altro modo Risultava estremamente dispendiosa soprattutto per i lunghissimi e costosi tempi di elaborazione che la caratterizzavano I report erano spesso difficili da interpretare e da diffondere 2
2 La Simulazione Discreta: ieri e oggi I linguaggi e i tooldi simulazione hanno ridotto molto lo sforzo necessario per la costruzione del simulatore. La diffusione delle workstation (e dei PC) hanno in pratica eliminato i costi di elaborazione connessi ai mainframe. I tooldi animazione grafica rendono molto più semplice il compito di verifica della correttezza di un simulatore. Le aree applicative continuano ad espandersi (es., sistemi di produzione, impianti chimici, sistemi distribuiti, trasporti, aziende di servizio, centri di elaborazione, ecc.). 3 La Simulazione Discreta: ieri e oggi (2) UNICO PROBLEMA La tecnologia simulativa è avanzata molto più rapidamente di quanto non abbia fatto l informazione al suo riguardo. 4
3 Allocazione dei tempi: IERI IERI B A C A) Costruzione simulatore: 50% B) Esperimenti: 10% C) Modello e Raccolta dati: 40% 5 Allocazione dei tempi: OGGI OGGI A B C A) Costruzione simulatore: 25% B) Modello e Raccolta dati: 40% C) Esperimenti: 35% 6
4 Caratteristiche del Simulazionista (1) Ingredienti per la costruzione di un buon Simulatore: Conoscenza dell area in cui vi è il problema da simulare (o stretta collaborazione con esperti dell area) Esperienza programmativa Nozioni di Statistica Tempo per la campagna di esperimenti 7 Caratteristiche del Simulazionista (2) A C B A) Statistica 25% B) Conoscenza del sistema, Modellistica 35-45% C) Esperienza programmativa 30-40% 8
5 Caratteristiche del Simulazionista (3) Che differenza c è tra Programmare Programmare un Simulatore? e Risposta: dal momento che la Simulazione è uno strumento utilizzato per studiare la dinamica dei sistemi, bisogna avere in più il feeling per processi che avanzano virtualmente in parallelo e che hanno interazioni dinamiche. Un buon riferimento è la programmazione concorrente in sistemi operativi multi-tasking. 9 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 10
6 Modelli di Simulazione Discreta (1) Modelli in cui lo stato è rappresentato da variabili interne che assumono soltanto valori discreti. Limitando l attenzione a: Formalismi logico-funzionali Modelli con variabile indipendente unica (tempo, di tipo continuo o discreto) 11 Modelli di Simulazione Discreta (2) Componenti del sistema da individuare RISORSE (forniscono servizio e nella maggior parte dei casi devono gestire l accodamento delle richieste) UTENTI (circolano nel sistema richiedendo servizio) La complessità della simulazione dipende dalla concorrenza tra gli utenti e dalla loro competizione nell acquisire le risorse. 12
7 Sistema per Modello Discreto (1) RISORSE:forniscono un servizio (possono essere a lungo o a breve termine) UTENTI: circolano nel sistema muovendosi da una risorsa all altra e richiedendo l esecuzione di un servizio. Esempi Sistema Risorse Utenti COMPUTER FABBRICA SUPERMERCATI TRASPORTO PUBBLICO CPU, Memoria Macchina utensile Banco salumi Linee autobus, treni, Metropolitana Job Pezzi Clienti Passeggeri 13 Esempio (modello aperto) - Sistema: 3 risorse, 1 sorgente, 1 pozzo - Ciascun utente, dopo l arrivo, richiede servizio alla risorsa A - Dopodiché, vi sono 3 possibilità: richiede un nuovo servizio alla risorsa A, oppure richiede servizio alla risorsa B o alla risorsa C -Dopo aver richiesto servizio alla risorsa B o C, l utente può decidere di uscire dal sistema, oppure può ritornare a richiedere servizio alla ris orsa C Sorgente esterna (arrivi) B Pozzo (uscite) A C 14
8 Esempio (modello chiuso) Sistema: 3 risorse, N utenti (per tutta la durata dell esperimento) [1] Ciascun utente richiede servizio alla risorsa A [2] Dopodiché, vi sono 3 possibilità: richiede un nuovo servizio alla risorsa A, oppure richiede servizio alla risorsa B o alla risorsa C [3] Dopo aver richiesto servizio alla risorsa B o C, l utente può tornare a richiedere servizio alla risorsa C oppure ritorna ad [1] A B C 15 Esempio (modello a capacità limitata) Sistema: 3 risorse, massimo M utenti nel sottosistema in esame [1] Se nel sistema vi sono già M utenti, l utente in arrivo attende in una coda esterna [2] Ciascun utente che entra nel sottositema a capacità limitata, richiede servizio alla risorsa A [3] Dopodiché, vi sono 3 possibilità: richiede un nuovo servizio alla risorsa A, oppure richiede servizio alla risorsa B o alla risorsa C [4] Dopo aver richiesto servizio alla risorsa B o C, l utente può tornare a richiedere servizio alla risorsa C oppure uscire dal sottosistema a capacità limitata, ovvero ritornare ad [1] Sorgente esterna (arrivi) Pozzo (uscite) Max M utenti A B C 16
9 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 17 Implementazione di un simulatore Scelta del Tipo di Simulatore Scelta del linguaggio Implementazione Debugging 18
10 Modelli di Simulazione Discreta(2) Tipologie di Simulatori Discreti Modelli a Sequenziamento di Eventi Modelli per Interazione di Processi Modelli a Scansione di Attività 19 Modello a Sequenziamento di eventi (1) L evoluzione nel tempo dei componenti del sistema (risorse e utenti) è scandita dall occorrenza dei relativi eventi. I principali componenti del Simulatore sono : Calendario degli Eventi Routine di Evento Clock (Avanzamento per Eventi) Sequenziatore o Scheduler 20
11 Modello a Sequenziamento di eventi (2) Il clock non è da confondere col tempo di esecuzione del programma il modello eseguibile (simulatore) costruito è un mondo virtuale che avanza in tempi indipendenti dal tempo di esecuzione reale. Problema: Quale unità di misura temporale scegliere? Tempi adimensionali, scelti in base alla granularità! Tutte le routine di gestione degli eventi possono aggiornare il Calendario, ma solo il Sequenziatore può leggerlo per attivare la successiva routine 21 Modello a Sequenziamento di eventi (3) L Evento è un cambiamento di stato dei componenti di un sistema. Inizializzazione modello Sequenziatore eventi Arrivo Fine Servizio1 Fine Servizio n Fine Simulazione Osservazione STOP 22
12 Modello a Scansione di attività (1) Il Modello descrive le attività intraprese dai vari componenti del sistema. Sequenziatore (Attività limitata) Inizializzazione del Modello Clock Clock+Dt Attività Sorgente Attività Servizio 1 Attività Servizio n Procedure fine Simulazione Routine di Osservazione STOP 23 Modello a Scansione di attività (2) ATTIVITA : successione di operazioni intraprese da un componente, che modificano lo stato. Viene gestito l evento la cui attività al tempo t+ t è conclusa. ASPETTO CRITICO: scelta di t t piccolo t grande Troppi cicli Vengono considerati come simultanei eventi che in realtà non lo sono 24
13 Modello per interazione di processi (1) Il comportamento del sistema è descritto da un insieme di processi eseguiti virtualmente in parallelo. Oggetti Sospesi Oggetto Attivo xxx Inizializzazione del Modello Routine di controllo Oggetti Passivi Processo sorgente Processo Utente m Processo Servizio n Processo di Osservazione Processo Utente 1 Processo Servizio 1 Processo di fine Simulazione STOP 25 Modello per interazione di processi (2) Esiste un processo per ogni componente del sistema: 1. Sorgente 2. Utenti 3. Risorse 4. Osservazione/i I processi possono trovarsi in 4 stati: 1. Attivo ( in esecuzione) 2. Sospeso ( pronto, ma non in esecuzione) 3. Passivo ( bloccato) 4. Terminato 26
14 Implementazione di un simulatore Scelta del Tipo di Simulatore Scelta del linguaggio Implementazione Debugging 27 LINGUAGGI DI SIMULAZIONE (DISCRETA) In fin dei conti, un linguaggio di SIMULAZIONE non è indispensabile per simulare. Un linguaggio di simulazione, tuttavia, semplifica la vita [Mitrani, 1986; Simulation techniques for discrete systems ]
15 Categorie di linguaggi per implementare un Simulatore Linguaggi general-purpose Linguaggi general-purpose + librerie Linguaggi specializzati per la Simulazione Tool (GPSS, SIMSCRIPT, SIMULA, MODSIM II, ) 29 Proprietà dei Linguaggi di Simulazione Linguaggio di Simulazione completo Proprietà algoritmico computazionali + Proprietà sistemistiche + Proprietà statistiche 30
16 Categorie per la caratterizzazione di un Linguaggio di Simulazione Discreto Manipolazione di Entità Creazione, manipolazione e distruzione di ENTITA ; inserimento ed estrazione di ENTITA da insiemi ordinati (code, pile, liste, ecc.) Manipolazione del tempo e degli eventi Gestione di un CLOCK e di un CALENDARIO DEGLI EVENTI Gestione di numeri pseudo casuali Generazione di numeri da diverse distribuzioni, generazione da uno o più stream Raccolta di statistiche (Rappresentazione grafica dell output) 31 Scelte del Corso di Impianti, 2003 Linguaggio C/C++ integrato con libreria CSIM (general purpose) Ambienti: Linux, Windows Libreria ns2 (special purpose reti) Ambienti: Linux, Unix 32
MODELLISTICA DI IMPIANTI E SISTEMI Syllabus e Testi di Riferimento Prof. Giuseppe Iazeolla
Syllabus e Testi di Riferimento MIS 1 di 7 MODELLISTICA DI IMPIANTI E SISTEMI Syllabus e Testi di Riferimento Prof. Giuseppe Iazeolla Syllabus da testo 1 (la numerazione fa riferimento ai capitoli del
I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas
I sistemi operativi (prima parte) Le esigenze dell informatica moderna Computer facili da usare Gestione di grandi archivi di dati Esecuzione di più programmi sulla stessa macchina Collegamento in rete
Giovanni A. Cignoni 1
Simulazione software di sistemi dinamici Simulazione Lezione n. 2 Corso di Laurea in Informatica Applicata Università di Pisa, sede di La Spezia Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni
interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.
Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,
Sistemi e modelli. Sistemi
Sistemi e modelli Obbiettivo: sviluppare metodologie e strumenti di analisi quantitativa della QoS di sistemi costruzione e soluzione di modelli per la valutazione di prestazioni e affidabilità di sistemi
Modelli e Metodi per la Simulazione (MMS)
Modelli e Metodi per la Simulazione (MMS) [email protected] Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di
Modulo Simulazione Parte 1. Simulazione ad Eventi Discreti: Concetti Base. Organizzazione del modulo
Modulo Simulazione Parte 1 Simulazione ad Eventi Discreti: Concetti Base Ing. R.G. Garroppo Organizzazione del modulo Simulazione ad eventi discreti: concetti base Testo: J. Banks, J.S. Carson, B.L. Nelson
Dipartimento di Informatica Scienza e Ingegneria LAUREA MAGISTRALE IN INFORMATICA A.A. 2015/2016
Dipartimento di Informatica Scienza e Ingegneria LAUREA MAGISTRALE IN INFORMATICA A.A. 2015/2016 Laurea Magistrale in Informatica Primo Anno Il Corso di Laurea Magistrale in Informatica offre tre curricula
La simulazione è l'imitazione di un processo o di un sistema reale per un
1 2 La simulazione è l'imitazione di un processo o di un sistema reale per un determinato periodo di tempo. La simulazione è l'imitazione di un processo o di un sistema reale per un determinato periodo
Gestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
Processi decisionali e modelli di simulazione
Anno accademico 2008/09 Il Processo decisionale Realtà Sistema Modello Simulazione Decisioni Il sistema e i suoi confini Modelli I modelli sono lo strumento normale con cui interagiamo con la realtà, la
PIANO DI LAVORO. Programmazione Didattica per Competenze. Indirizzo Informatica e Telecomunicazioni. Articolazione Informatica DOCENTE:
PIANO DI LAVORO Programmazione Didattica per Competenze Indirizzo Informatica e Telecomunicazioni Articolazione Informatica DOCENTE: ITP: MATERIA: CLASSE: ORE SETTINALI: CANTARELLA ALFREDO NATALE LUIGI
MATERIALI PER LA DISCUSSIONE
SETTORE TECNOLOGICO MATERIALI PER LA DISCUSSIONE ISTITUTO TECNICO INDIRIZZO ARTICOLAZIONE TELECOMUNICAZIONI INFORMATICA E TELECOMUNICAZIONI ESITI DI APPRENDIMENTO Regolamento, Art. 5 comma 1 Nota: Le Competenze,
Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì
Le aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
Il Sistema Operativo
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore
Linee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
SIMULAZIONE. Prof. Michele Colajanni. Corso di Impianti di Elaborazione Ingegneria Informatica Università di Modena e Reggio Emilia
SIMULAZIONE Prof. Michele Colajanni Corso di Impianti di Elaborazione Ingegneria Informatica Università di Modena e Reggio Emilia La Simulazione è un Esperimento condotto con un Modello La Simulazione
Sommario PREFAZIONE...XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLA PROGRAMMAZIONE IN C...
Sommario PREFAZIONE...XI Aggiornamenti e novità... xi Lo scopo di questo libro... xii Diagramma delle dipendenze... xii La metodologia di insegnamento... xiii Panoramica sul libro... xvi Ringraziamenti...
Il calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
Politecnico di Milano Dipartimento di Elettronica e Informazione. - 1 - Introduzione. Laboratorio di Reti di Telecomunicazione
Politecnico di Milano Dipartimento di Elettronica e Informazione - 1 - Introduzione Laboratorio di Reti di Telecomunicazione Programma Introduzione al concetto di simulazione Simulazionediretiditelecomunicazioni
Introduzione alla simulazione
Introduzione alla simulazione [email protected] http://www.uniroma2.it/didattica/mmi I fondamenti (1) Per studiare scientificamente un Sistema è spesso necessario fare delle assunzioni semplificative
Simulazione. D.E.I.S. Università di Bologna DEISNet
Simulazione D.E.I.S. Università di Bologna DEISNet http://deisnet.deis.unibo.it/ Introduzione Per valutare le prestazioni di un sistema esistono due approcci sostanzialmente differenti Analisi si basa
Progettazione curricolo verticale percorso formativo per Unità di Apprendimento (UDA)
Progettazione curricolo verticale percorso formativo per Unità di Apprendimento (UDA) Dipartimento di Informatica e Telecomunicazioni Articolazione Telecomunicazioni L asse scientifico-tecnologico Allegato1
Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven
Tesi di laurea in Informatica Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Relatore Ch.mo Prof. Giuseppe Trautteur Candidato Gioacchino Del
32 Laurea magistrale in Informatica Scienze
32 Laurea magistrale in Informatica Scienze Il corso prepara alle professioni di (codifiche ISTAT): Analisti e progettisti di software Analisti di sistema Analisti e progettisti di applicazioni web P I
Prof. Rossella Cancelliere
Laboratorio di Informatica e Statistica Chimica Industriale a.a 2004/05 Prof. Rossella Cancelliere Dip. Informatica Univ.Torino C.so Svizzera 185,Torino email:[email protected] tel: 011/670 67 77 Obiettivi
BOX ONE, ERP PER SCATOLIFICI E CARTOTECNICHE. Metti le ali alla tua azienda!
BOX ONE, ERP PER SCATOLIFICI E CARTOTECNICHE Box - One Metti le ali alla tua azienda! BOX ONE SOLUZIONE COMPLETA E MODULARE 1 Box One è la soluzione gestionale dedicata alla gestione dell area produttiva
Lab 1: Java Multithreading
Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli [email protected] Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading
Sistemi Operativi. Lezione 3 Processi e Thread
Lezione 3 Processi e Thread Introduzione Sino ai sistemi batch la CPU di un sistema svolgeva un attività, la portava a termine e solo allora avviava un altra attività Con l avvento della multiprogrammazione
SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
SIMULAZIONE A.A. 2016/2017
SIMULAZIONE A.A. 2016/2017 Orario delle Lezioni: Lunedì: 16-18, Aula M1 Mineralogia; Mercoledì: 16-18, Aula Vitali MatemaHca; Venerdì: 13-15, Aula Vitali MatemaHca. SIMULAZIONE A.A. 2016/2017 Libri di
Laboratorio di Reti Locali e Geografiche
Laboratorio di Reti Locali e Geografiche A.A. 2008/2009 Walter Cerroni Il corso Complemento pratico/applicativo dei corsi dell area di Reti di Telecomunicazioni Obiettivo: effettuare esperienze didattiche
Modulo: Informatica. Chi sono. Obiettivi del corso. Preparazione all esame. Andrea Colitta
Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Chi sono Andrea Colitta E-mail: [email protected]
Cosa è un programma. Informatica di Base -- R.Gaeta 18
Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
Sistema Operativo (Software di base)
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
Introduzione al Calcolo Scientifico
Introduzione al Calcolo Scientifico Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico 1 / 14 Calcolo Scientifico Insieme degli
