Giovanni A. Cignoni 1

Documenti analoghi
Modelli e Metodi per la Simulazione (MMS)

MODELLISTICA DI IMPIANTI E SISTEMI Syllabus e Testi di Riferimento Prof. Giuseppe Iazeolla

Sistemi e modelli. Sistemi

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Modellazione di sistemi ingegneristici (parte 1 di 2)

IL PROCESSO di PROGETTAZIONE

Linee di programmazione

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Modulo Simulazione Parte 1. Simulazione ad Eventi Discreti: Concetti Base. Organizzazione del modulo

Il PROCESSO UNIFICATO

MATEMATICA e COMPLEMENTI di MATEMATICA

Gestione dello sviluppo software Modelli Base

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Corso di Laurea in Informatica Basi di Dati a.a

MATEMATICA e COMPLEMENTI di MATEMATICA

IL PROCESSO di PROGETTAZIONE

Progetto dell unità formativa di apprendimento Forze e moto. Gioacchina Giambelluca

Introduzione al Calcolo Scientifico

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Programmazione e Controllo della Produzione. Introduzione

Progettazione di basi di dati

Corso di Laurea Triennale in Ingegneria Informatica Ingegneria del software. Processo software. Marina Mongiello. il processo

Analisi e specifica dei requisiti

INTERAZIONE UOMO-MACCHINA

Modelli matematici e Data Mining

CAE. Ingegnerizzazione assistita da calcolatore

L adozione di MATLAB e Simulink nei Corsi di Ingegneria al Politecnico di Milano. Maurizio Magarini MATLAB EXPO Milano, 4 novembre 2014

SIMULAZIONE DISCRETA

Responsabile di produzione

2. Modellazione dei casi d uso

SISTEMI INFORMATIVI GEOGRAFICI (GIS)

Basi di dati Modelli e linguaggi di interrogazione

La simulazione è l'imitazione di un processo o di un sistema reale per un

Esperienze di Advanced Analytics nella statistica ufficiale: strumenti e progetti

CALCOLATORI ELETTRONICI

Introduzione alla OOP Object Oriented Programming

Università degli Studi della Repubblica di San Marino Corso di laurea triennale in Design. Anno Accademico 2016/17. I anno primo semestre

Cosa è l Informatica?

Stato dell arte sulle tecniche di testing di Sistemi Embedded

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven

NUMERI CASUALI E SIMULAZIONE

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

Dipartimento di Informatica Scienza e Ingegneria LAUREA MAGISTRALE IN INFORMATICA A.A. 2015/2016

Sistemi di Elaborazione delle Informazioni

Tecnologie dei Sistemi di Automazione

Prof. Rossella Cancelliere

MATERIALI PER LA DISCUSSIONE

Corso di. Fondamenti di Informatica T

Ore settimanali di lezione: 3 h di cui 2 in compresenza con l insegnante di Lab. di Informatica prof.ssa E.De Gasperi

Windchill ProjectLink Guida al curriculum

3. Ciclo di Vita e Processi di Sviluppo

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

MANUALE DI CONSERVAZIONE

Scenari e applicazione di scenari

Ricerca Operativa. Docenti. 1. Introduzione

SQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:

TECNICO PER L?AUTOMAZIONE INDUSTRIALE

Note introduttive alla probabilitá e alla statistica

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

I.I.S. N. PELLATI Nizza Monferrato - Canelli

Ricerca Operativa. Docente. 1. Introduzione

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Transcript:

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 1/22 Contenuti Modelli eseguibili Il processo di simulazione software Architetture software dei simulatori Motori continui e discreti Strumenti software per la simulazione Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 2/22 Sistema Sistemi, modelli ed esperimenti Un insieme di componenti che interagiscono Il dettaglio di un sistema può essere compreso solo per parti Il comportamento di un sistema non può essere compreso attraverso l analisi separata del comportamento delle parti Modello Riproduzione semplificata e trattabile di un sistema Limitata agli aspetti rilevanti Esperimento Un operazione empirica Per ricavare informazioni sul comportamento di un sistema Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 3/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 1

Analisi o studio di un sistema Simulazione software Tramite esperimenti che esercitano un modello eseguibile Sistemi dinamici modellati come successioni di stati Cose da fare Definire un modello del sistema che sia eseguibile Costruirne un implementazione Progettare gli esperimenti, eseguirli e studiarne i risultati Un processo Centrato su un prodotto software Da affrontare con gli strumenti dell ingegneria del software Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 4/22 Il processo di simulazione software Decomposizione delle attività Per identificare gli obiettivi Per identificare le competenze Per quantificare l impegno, i tempi e i costi È uno strumento di comprensione e pianificazione Attività principali Formulazione del problema Realizzazione dell ambiente di simulazione Modellazione dei dati di ingresso Verifica e validazione del modello Esecuzione degli esperimenti Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 5/22 Analogie con i processi software Non è un ciclo di vita del software Molto impegno va per realizzare il software Ma il software si usa e se ne studiano i risultati L uso è spesso confinato nel tempo Sequenze e iterazioni Le attività non sono una sequenza prescritta di fasi Ma la sequenzialità è abbastanza forte Soluzioni e tecniche comuni Interazioni con il committente Documentazione Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 6/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 2

Definizione degli obiettivi Obiettivi del progetto di simulazione Confini e obiettivi del modello Livello di dettaglio del modello Pianificazione del progetto Formulazione del problema Definiti gli obiettivi, stabilire i vincoli: tempi, risorse, costi Garantire lo svolgimento di tutte le attività Definizione del modello concettuale Condiviso con il committente e gli esperti del dominio Uso di tecniche e linguaggi condivisi Esplicitazione delle assunzioni Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 7/22 Specifica del modello Implementazione del modello Identificazione di classi, attributi, entità, insiemi, agenti,... Identificazione di eventi, attività, processi,... Specifica in un linguaggio di modellazione Generico (UML, SysML,...) o specifico di uno strumento Sviluppo del simulatore Traduzione della specifica in un sistema software Vecchia maniera, a mano Secondo pattern definiti Per interpretazione diretta (tipico di strumenti commerciali) Per generazione di codice Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 8/22 Completamento dell ambiente Supporto all esecuzione degli esperimenti Strumenti per l analisi e la modellazione dei dati Strumenti per la generazione dei dati Strumenti per la registrazione dei risultati Strumenti per l analisi dei risultati Strumenti per la visualizzazione dei risultati Realizzazione di componenti Ad hoc Tramite applicazioni, dal foglio di calcolo in su Integrazione con il simulatore Programmazione a livello più alto (script,...) Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 9/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 3

Non solo parametri Modellazione dei dati di ingresso Le simulazioni possono dipendere da volumi di dati Sequenze di eventi Dati con cui costruire la popolazione delle entità Reperire i dati Da collezioni, basi di dati o registrazioni Da campionamenti, selezioni studiate su collezioni Per ipotesi di distribuzioni e generazione Validazione dei dati Analisi e pulizia, nel caso di uso di dati reali Verifica delle distribuzioni ipotizzate Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 10/22 Verifica e validazione Il modello è stato implementato correttamente? Sono coinvolti gli sviluppatori Tecniche tradizionali di prova e di debugging Eliminazione delle componenti non deterministiche Sostituita da interpretazione o generazione di codice In ogni caso prove di carico e valutazione delle prestazioni È stato realizzato il modello corretto? Sono coinvolti il committente e gli esperti del dominio Prove su insiemi di dati con risultati noti Revisioni di terze parti Confidenza per incapacità di trovare difetti Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 11/22 Per questo si è lavorato finora Esecuzione degli esperimenti Progettazione degli esperimenti Predisposizione dei dati di ingresso Definizione della durata dei cicli di simulazione Definizione delle condizioni iniziali (analisi del transitorio) Definizione, a fini statistici, del numero di esperimenti Sperimentazione e analisi dei risultati Non è solo una questione di tempo macchina L analisi dei risultati può cambiare la direzione dello studio Documentazione, versionamento e tracciabilità Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 12/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 4

Responsabilità e competenze Raramente concentrate in un unico individuo Committente, chi, dai risultati della simulazione, decide Esperti del dominio, progettisti e utenti del sistema reale Esperti di modellazione e degli strumenti di simulazione Analisti dei dati e dei risultati della sperimentazione Il professionista della simulazione Formazione, pratica di strumenti, esperienza di dominio Aperto, dubbioso, non imbarazzato a chiedere Conoscenza pratica di statistica e probabilità Competenze informatiche (integrazione) Il posto degli informatici? Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 13/22 Simulatori di sistemi dinamici Generica architettura di un sim Engine Tools Model Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 14/22 Motore Generale Gestione del tempo e dei cambiamenti di stato Logica del modello Particolare, realizzata dal modellatore Codificata o da interpretare Strumenti Gestione di ingressi & uscite Generazione di dati pseudocasuali Strumenti di registrazione dati Strumenti di analisi e di visualizzazione Componenti Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 15/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 5

Tempo Dentro il motore In una simulazione gli eventi avvengono al tempo corretto Anche quando la simulazione non è in tempo reale Anche quando gli eventi sono casuali Meccanismi di agenda, previsti da tutti i motori Agenda Programmare i cambiamenti di stato Decidere quando è il momento di produrli Preservando la sequenza Preservando il tempo (reale o meno) Preservando la contemporaneità Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 16/22 Tracciabilità dei componenti Componenti del sistema reale Componenti del modello Componenti software Vantaggi Ordine concettuale, permeabilità ai vari ruoli Verificabilità e modificabilità Costituzione di librerie e riuso Costi Frammentazione e accoppiamento Gestione delle interazioni Modellazione fisica Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 17/22 Nel mondo reale Parallelismo naturale La sincronizzazione semplicemente succede Nel simulatore Software (thread, processi) Hardware (processori) Preservare l unità del tempo Soluzioni sequenziali, semplici e sicure Parallelismo Se non ci sono processori evitare architetture inutili Costi: aggiornamento degli stati vs sincronizzazione Spesso è più conveniente parallelizzare gli esperimenti Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 18/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 6

Time sliced Il tempo avanza per passi discreti uniformi Piccoli a piacere Agenda Calendario banale Ottimizzazioni sulle componenti da aggiornare Applicazioni Sistemi modellati con equazioni alle differenze Sistemi modellati con sistemi di equazioni Sistemi modellati con agenti autonomi Motori continui Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 19/22 Next event Il tempo avanza per passi discreti non uniformi Intervalli calcolati (predetti) di volta in volta Agenda Calendario degli eventi programmati Componenti interessate ad ogni evento Applicazioni Motori discreti Sistemi modellati a livello logico più che fisico Quel che succede fra un evento e l altro è trascurabile Sempre possibile creare eventi in successioni uniformi Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 20/22 Strumenti Nastran (NASA 70, NEi, Siemens,...) Modelica (Dymola, Simulationx, Openmodelica) Arena (Rockwell) Anylogic (XjTech) Simulink & Matlab (Mathworks) Mathematica (Wolfram res.) Excel, Calc,... Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 21/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 7

G. Gallo, Note di Simulazione cap. 1 Riferimenti M. Pidd, Computer Simulation in Management Science, capp. 1, 2, 3 S.M. Sanchez, Work smarter, not harder: guidelines for designing simulation esperiments, Winter Conference, 2007 Giovanni A. Cignoni Simulazione www.di.unipi.it/~giovanni 22/22 Giovanni A. Cignoni www.di.unipi.it/~giovanni 8