Diagrammi di stato Statechart Diagrams

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Diagrammi di stato Statechart Diagrams"

Transcript

1 ,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH Bibliografia: Diagrammi di stato Statechart Diagrams - Slide UML Tutorial Series tratte dal sito: documento: ppt - Bozze del corso di Ambriola, Cigni, Mtangero, Semini modificate e integrate da R. Cte - Reference manual UML 1.4 Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Diagramma di stato <=> macchina a stati Diagramma di stato (o macchina a stati ) è un grafo di stati e transizii Di solito è associato a una classe Descrive la risposta di un istanza della classe agli eventi che riceve Può essere associato ad altre entità di modellazie (use-case, attori, sottosistemi, operazii, o metodi) Diagramma di stato (Statechart Diagram) Specifica il ciclo di vita degli oggetti di una classe, definendo le regole che lo governano. Quando un oggetto si trova in un certo stato può essere interessato da determinati eventi (e n da altri) Come risultato di un evento l oggetto può passare ad un nuovo stato (transizie) Utilizzato in situazii dove le transizii di stato so provocate da eventi asincri, per esempio da eventi esterni. Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato - 4 -

2 Diagramma di stato Una macchina il cui comportamento n è solo una diretta cseguenza dell evento corrente (input), ma anche della sua storia passata E caratterizzata da uno stato interno che rappresenta la sua passata esperienza Diagramma di stato Una macchina il cui comportamento n è solo una diretta cseguenza dell evento corrente (input), ma anche della sua storia passata E caratterizzata da uno stato interno che rappresenta la sua passata esperienza OFF Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Diagramma di stato Una macchina il cui comportamento n è solo una diretta cseguenza dell evento corrente (input), ma anche della sua storia passata E caratterizzata da uno stato interno che rappresenta la sua passata esperienza Diagramma di stato Una macchina il cui comportamento n è solo una diretta cseguenza dell evento corrente (input), ma anche della sua storia passata E caratterizzata da uno stato interno che rappresenta la sua passata esperienza OFF OFF Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato - 5 -

3 Diagramma di stato Una macchina il cui comportamento n è solo una diretta cseguenza dell evento corrente (input), ma anche della sua storia passata E caratterizzata da uno stato interno che rappresenta la sua passata esperienza Lamp On OFF Lamp Off OFF Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Uscite e azii Come la macchina cambia di stato, puo generare un uscita Uscite e azii Come la macchina cambia di stato, puo generare un uscita Lamp On /print( ) Lamp Off Mealy Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato - 7 -

4 Uscite e azii Come la macchina cambia di stato, puo generare un uscita Lamp On /print( ) n ) Lamp On print( ) Extended State Machines Aggiunta di variabili ( extended state ) Lamp Off Lamp Off Mealy Moore Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Extended State Machines Extended State Machines Aggiunta di variabili ( extended state ) Aggiunta di variabili ( extended state ) Lamp On ctr : Integer Lamp On /ctr := ctr + 1 /ctr := ctr + 1 Lamp Off Lamp Off Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato - 8 -

5 Extended State Machines Aggiunta di variabili ( extended state ) Una macchina estesa (modello Mealy) è definita da: ctr : Integer Lamp On Lamp Off /ctr := ctr + 1 un insieme di segnali di input (input alphabet) un insieme di segnali di output (output alphabet) un insieme di stati un insieme di transizii triggering signal acti un insieme di variabili di stato estese uno stato iniziale un insieme di stati finali (se vi è terminazie) Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Esempio di diagramma di stato Initial pseudostate top state top State Trigger Ready Transiti Final state De stop/ctr := 0 stop Acti Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato

6 Comportamento Diagramma di stato: esempio oggetto telefo Una macchina a stati è un modello di tutte le possibili tracce di un oggetto La macchina reagisce esclusivamente agli eventi sentiti dall oggetto (inviati all oggetto) La reazie csiste nel cambiamento di stato ed una eventuale esecuzie di un azie Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato

7 interazii: interazii: synchrous object operati invocati (call event) interazii: synchrous object operati invocati (call event) asynchrous signal recepti (signal event) interazii: synchrous object operati invocati (call event) asynchrous signal recepti (signal event) occorrenze di istanti di tempo (time event)

8 interazii: synchrous object operati invocati (call event) asynchrous signal recepti (signal event) occorrenze di istanti di tempo (time event) interval expiry interazii: synchrous object operati invocati (call event) asynchrous signal recepti (signal event) occorrenze di istanti di tempo (time event) interval expiry calendar/clock time interazii: synchrous object operati invocati (call event) asynchrous signal recepti (signal event) occorrenze di istanti di tempo (time event) interval expiry calendar/clock time il cambiamento del valore di una entità (change event) interazii: synchrous object operati invocati (call event) asynchrous signal recepti (signal event) occorrenze di istanti di tempo (time event) interval expiry calendar/clock time il cambiamento del valore di una entità (change event) Instanza d evento: capita ad un particolare istante e n ha durata

9 Evento Gerarchia di eventi <<signal>> InputEvent name Un evento è l occorrenza di un fenomeno collocato nel tempo (e nello spazio) Un evento occorre istantaneamente Un istanza (occorrenza) di un evento è chiamata istanza di un evento Un evento può avere dei parametri che lo caratterizzano Parametri dei segnali <<signal>> Mouse Butt Down <<signal>> Mouse Butt locati <<signal>> Mouse Butt Up <<signal>> UserInput device <<signal>> Keyboard Butt character Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Stato Uno stato descrive un periodo di tempo durante la vita di un oggetto Può essere caratterizzato come: Un insieme di valori qualitativamente simili Un periodo di tempo durante il quale un oggetto attende il verificarsi di un evento Un periodo di tempo durante il quale un oggetto svolge un attività Uno stato può essere opzialmente suddiviso in scomparti: Scomparto del nome Questa sezie ctiene il nome dello stato (optiale: n è desiderabile mostrare lo stesso nome più volte sullo stesso diagramma). Scomparto delle transizii interne Questa sezie ctiene una lista di azii o attività interne che so effettuate in quello stato. Inserisci password entry / set echo invisibile exit / set echo normale digit / elabora carattere Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato

10 Esempio di stati e transizii Altri tipi di stato Iniziale Finale Giunzie, storia, riferimento a una sottomacchina, stub Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Transizie Esempi di transizii Una transizie collega tra loro due stati L uscita da uno stato definisce la risposta dell oggetto all occorrenza di un evento Una transizie è associata a un evento, una cdizie (opziale), un azie (opziale), e uno stato di arrivo. Sintassi: evento [cdizie] / azie ricevi ordine [ ammtare > 25$] rifiuta in attesa valuta cancella ordine accetta /addebita() ricevi ordine [ ammtare < 25$] processa l ordine azie evento cdizie Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato

11 Tipi di transizie Esempi di transizii e azii Azie di ingresso: un azie eseguita all ingresso in uno stato Azie di uscita: azie eseguita all uscita di uno stato Transizie esterna: risposta a un evento che causa un cambio di stato e l esecuzie delle opportune azii Transizie interna: risposta a un evento che causa solo l esecuzie di opportune azii Azie di ingresso Azie di uscita Transizii interne Inserisci password entry / set echo to star; password.reset( ) exit / set echo normal digit / handle character clear / password.reset( ) help / dispay help Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Tipi di stato Esempio: prenotazie di un libro nome dello stato Semplice Not reserved entry: reservatis.clear() Nome stato Composto sequenziale: removereservati( R : Reservati ) [ reservatis.size() == 1 ] / reservatis.remove( R ) addreservati( R : Reservati ) / reservatis.add( R ) sott.st.1 sott.st.2 uno attivo per ogni istante Reserved sottostato 1 removereservati( R : Reservati ) [ reservatis.size() > 1 ] / reservati.remove ( R ) addreservati( R : Reservati ) / reservatis.add( R ) sottostato 2 Composto parallelo: i sottostati so attivi ctemporan. Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato

12 Esempio: ccorrenza Esempio: Stub Renato Cte - UML Diagrammi di stato Renato Cte - UML Diagrammi di stato Esempio: splitting e joining cdiziati Renato Cte - UML Diagrammi di stato

Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno Corso di Ingegneria del Software - B UML

Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno Corso di Ingegneria del Software - B UML v. 2.3 Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2008-09 Corso di Ingegneria del Software - B UML Diagramma di macchina a stati (state machine diagram) Renato Cte - UML Diagrammi

Dettagli

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Lezioni precedente: Descrizione del dominio: modello statico Questa lezione Descrizione del dominio:

Dettagli

Ingegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 7 - STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Un po di storia su state

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Unified Modeling Language (II) Modellazione Dinamica Il comportamento dinamico del sistema viene descritto in UML attraverso i seguenti diagrammi: Statechart diagram Sequence

Dettagli

Studio di caso: Bancomat Automated Teller Machine

Studio di caso: Bancomat Automated Teller Machine ,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH 80/ Studio di caso: Bancomat Automated Teller Machine (prima parte) Bibliografia: - Hassan Gomaa: Designing concurrent distribuited and real time applications with

Dettagli

UML e i diagrammi di stato

UML e i diagrammi di stato UML e i diagrammi di stato S i n t a s s i e L i n e e G u i d a Dr. Andrea Baruzzo andrea.baruzzo@dimi.uniud.it Page 2 Definizioni Un diagramma di stato rappresenta il ciclo di vita degli oggetti di una

Dettagli

I Diagrammi di Flusso OO

I Diagrammi di Flusso OO Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a

Dettagli

Esempio Modello DFD per ordini. Modelli di comportamento. Diagramma delle attività. Diagramma attività UML per ordini. Attività: Apri file da browser

Esempio Modello DFD per ordini. Modelli di comportamento. Diagramma delle attività. Diagramma attività UML per ordini. Attività: Apri file da browser Modelli di comportamento Esempio Modello DFD per ordini Sono usati per descrivere il comportamento globale del sistema Data processing model (ovvero Data Flow Diagram, DFD) Mostrano i passi per l elaborazione

Dettagli

Simulazione di sistemi non lineari Introduzione a Stateflow

Simulazione di sistemi non lineari Introduzione a Stateflow Simulazione di sistemi non lineari Introduzione a Stateflow Gianmaria De Tommasi 1 1 Università degli Studi di Napoli Federico II detommas@unina.it Ottobre 2012 Corsi AnsaldoBreda G. De Tommasi (UNINA)

Dettagli

LEZIONE 7 STATE MACHINE DIAGRAM

LEZIONE 7 STATE MACHINE DIAGRAM Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 7 STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software Guglielmo De

Dettagli

Note sugli Statechart Diagrams

Note sugli Statechart Diagrams Note sugli Statechart Diagrams Giacomo Gabrielli Sorgente: [Bolognesi05] 1 Diagrammi di Stato I diagrammi di stato (statechart diagram) permettono di descrivere il comportamento dinamico di un oggetto

Dettagli

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13 UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare

Dettagli

Bibliografia. Studio di caso: Bancomat Automated Teller Machine. uso dei diagrammi: use case, classi, collaborazione, stato

Bibliografia. Studio di caso: Bancomat Automated Teller Machine. uso dei diagrammi: use case, classi, collaborazione, stato ,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH 80/ Bibliografia Studio di caso: Bancomat Automated Teller Machine uso dei diagrammi: use case, classi, collaborazione, stato - Hassan Gomaa: Designing concurrent

Dettagli

Diagrammi di attività. Diagrammi di attività. Activity diagrams. Sintassi dei diagrammi di Attività (1) Sintassi dei diagrammi di Attività (2)

Diagrammi di attività. Diagrammi di attività. Activity diagrams. Sintassi dei diagrammi di Attività (1) Sintassi dei diagrammi di Attività (2) Diagrammi di attività,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH Diagrammi di attività Activity diagrams I diagrammi di attività, in UML, sono usati per descrivere il comportamento dinamico di un sistema

Dettagli

UML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1

UML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1 UML Analisi Modellazione e altro Macchine a stati, Diagrammi di attività.. PROVVISORIO UML aa 2006/7 G.Bucci 1 Macchine a stati in UML Sono una versione estesa (derivante dalle StateChart [Harel]) delle

Dettagli

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi

Dettagli

UML State Diagrams. A. Fantechi 1/4/2010. Macchina a Stati Finiti. (Automa a stati finiti, Finite State Machine, FSM)

UML State Diagrams. A. Fantechi 1/4/2010. Macchina a Stati Finiti. (Automa a stati finiti, Finite State Machine, FSM) UML State Diagrams A. Fantechi 1/4/2010 Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM) Descrizione grafica del comportamento di una FSM on Lamp On on off Lamp Off off Macchina

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 7 - STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Riepilogo della lezione

Dettagli

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione

Somma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione RETI COMBINATORIE In una rete combinatoria l uscita è funzione dei soli ingressi u = f () ADDIZIONATORE PARALLELO Addizionatore parallelo (a propagazione di riporto - ripple carry) per numeri binari di

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando

Dettagli

Corso di Ingegneria del Software. Activity Diagram

Corso di Ingegneria del Software. Activity Diagram Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.

Dettagli

PRINCIPI GENERALI. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

PRINCIPI GENERALI. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari. PRINCIPI GENERALI Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 7 Marzo 2006 Francesca Mazzia (Univ. Bari) PRINCIPI GENERALI 7/03/2006

Dettagli

Elementi di UML (6): Diagrammi dinamici di flusso

Elementi di UML (6): Diagrammi dinamici di flusso Elementi di UML (6): Diagrammi dinamici di flusso Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio di Sistemi

Dettagli

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object

Dettagli

CLASS DIAGRAM PARTE 1

CLASS DIAGRAM PARTE 1 Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory CLASS DIAGRAM PARTE 1 UML The Unified Modeling Language Guglielmo De Angelis guglielmo.deangelis@isti.cnr.it

Dettagli

Reti sequenziali. Nord

Reti sequenziali. Nord Reti sequenziali Nord Ovest Est Semaforo a due stati verde/rosso Sud Vogliamo definire un circuito di controllo per produrre due segnali NS ed EO in modo che: Se NS è on allora il semaforo è verde nella

Dettagli

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi)

Pag. 1. Il Nucleo del sistema operativo (la gestione dei processi) shell Programmi utente Modo utente Il Nucleo del sistema operativo (la gestione dei processi) Interfaccia delle chiamate di sistema File system Gestione processi Device driver Gestione memoria HARDWARE

Dettagli

Microsoft Visio 2002 UML Sergio Colosio

Microsoft Visio 2002 UML Sergio Colosio Microsoft Visio 2002 UML Sergio Colosio Casi d uso Prima di definire un caso d uso è necessario definire cosa s intende per scenario. Uno scenario è una sequenza di passi che descrivono l interazione tra

Dettagli

Macchine a Stati finiti

Macchine a Stati finiti Macchine a Stati finiti Prof. Alberto Borghese Dipartimento di Scienze dell nformazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: Sezione B. /29 Sommario Macchine

Dettagli

Sommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches

Sommario. Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches Fondamenti di VHDL Sommario VHDL: premessa e introduzione Modellizzazione Sintassi Classi di Oggetti Tipi di Dati e Operatori Package e Librerie Processi Esempi di codice VHDL VHDL Testbenches Premessa

Dettagli

Corso di Ingegneria del Software. Esempi di casi d uso

Corso di Ingegneria del Software. Esempi di casi d uso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Casi d uso Sommario 1. 2. 3. Casi d uso e specifica dei requisiti 4. Esempio: sistema iscrizione ed esami 5. Bibliografia

Dettagli

LEZIONE 5 SEQUENCE DIAGRAM

LEZIONE 5 SEQUENCE DIAGRAM Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 5 SEQUENCE DIAGRAM Laboratorio di Ingegneria del Software Guglielmo De Angelis

Dettagli

Diagrammi di stato e di attività: esercizi

Diagrammi di stato e di attività: esercizi Diagrammi di stato e di attività: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini) A.A. 2012-2013 Laboratorio Ingegneria del Software () Diagrammi di stato e di attività: esercizi A.A. 2012-2013

Dettagli

Macchine Sequenziali

Macchine Sequenziali Macchine Sequenziali CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Tassonomia dei circuiti digitali Circuiti combinatori» Il valore

Dettagli

ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI

ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI ANALISI E PROGETTO DI CIRCUITI SEQUENZIALI 1 Classificazione dei circuiti logici Un circuito è detto combinatorio se le sue uscite (O i ) sono determinate univocamente dagli ingressi (I i ) In pratica

Dettagli

Macchine a Stati finiti. Sommario

Macchine a Stati finiti. Sommario Macchine a Stati finiti Prof. Alberto Borghese Dipartimento di Scienze dell nformazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento al Patterson: Sezione B. /3 Sommario Macchine

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

ALU MICROPROGRAMMI. a. A + B A Leggi A,B Alu(A+B) C C A HALT. b. A * B A // A + + A B-1 volte a. Leggi A,B b. B D;

ALU MICROPROGRAMMI. a. A + B A Leggi A,B Alu(A+B) C C A HALT. b. A * B A // A + + A B-1 volte a. Leggi A,B b. B D; Si consideri un sistema la cui parte operativa è raffigurata in figura, dove l ALU (1) esegue la somma (output(alu) =A+B), (2) lascia passare l input sinistro (output(alu)=a), (3) lascia passare l input

Dettagli

Model Driven Software Development con Eclipse, StatechartUMC. Aldi Sulova. 21 dicembre 2009

Model Driven Software Development con Eclipse, StatechartUMC. Aldi Sulova. 21 dicembre 2009 Model Driven Software Development con Eclipse, StatechartUMC Aldi Sulova Istituto di Scienza e Tecnologie dell Informazione A. Faedo - CNR Via G. Moruzzi 1, 56124 Pisa, Italy aldi.sulova@isti.cnr.it 21

Dettagli

Richiami sui Concetti Fondamentali dei Processi

Richiami sui Concetti Fondamentali dei Processi Processi Processi 1 Richiami sui Concetti Fondamentali dei Processi Processi 2 Definizione Nell ambito dei sistemi operativi esistono diverse definizioni di processo, ad es. un programma in esecuzione

Dettagli

Sintesi di Reti sequenziali Sincrone

Sintesi di Reti sequenziali Sincrone Sintesi di Reti sequenziali Sincrone Sintesi di Reti Sequenziali Sincrone Una macchina sequenziale è definita dalla quintupla I è l insieme finito dei simboli d ingresso U è l insieme finito dei simboli

Dettagli

Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza

Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Università di Roma La Sapienza Facoltà di Ingegneria - Laurea in Ing. Gestionale Progettazione del Software Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università

Dettagli

Introduzione ai casi d uso

Introduzione ai casi d uso Introduzione ai casi d uso versione 16 marzo 2009 http://www.analisi-disegno.com Introduzione ai casi d uso Pag. 1 Obiettivo di questa introduzione fornire elementi di base sui casi d uso fornire indicazioni

Dettagli

Sistemi di controllo Time-driven e Event-driven. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo

Sistemi di controllo Time-driven e Event-driven. Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo Sistemi di controllo Time-driven e Event-driven Corso di Sistemi RT Prof. Davide Brugali Università degli Studi di Bergamo State Charts in UML State chart Diagrams Specifiche del problema 4 Si progetti

Dettagli

Modulo 11. Interazioni Diagrammi di sequenza Diagrammi di collaborazione. Descrivere il comportamento di un sistema software

Modulo 11. Interazioni Diagrammi di sequenza Diagrammi di collaborazione. Descrivere il comportamento di un sistema software Modulo 11 Interazioni Diagrammi di sequenza Diagrammi di collaborazione Descrivere il comportamento di un sistema software In un sistema object-oriented, gli oggetti interagiscono scambiandosi messaggi

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Analisi: UML State Diagrams Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2015/2016

Dettagli

Analisi e Sintesi di circuiti sequenziali

Analisi e Sintesi di circuiti sequenziali Analisi e Sintesi di circuiti sequenziali Definizione Uscite combinatorie Porte logiche combinatorie Uscite di memoria Elementi di memoria Una macchina sequenziale è un sistema nel quale, detto I(t) l'insieme

Dettagli

Controllo di flusso negli script: if-then-else

Controllo di flusso negli script: if-then-else Controllo di flusso negli script: if--else Il coman condizionale if condition_command true_commands else false_commands esegue il coman condition command e utilizza il suo exit status per decidere se eseguire

Dettagli

Reti Logiche T. Esercizi reti sequenziali sincrone

Reti Logiche T. Esercizi reti sequenziali sincrone Reti Logiche T Esercizi reti sequenziali sincrone ESERCIZIO N. Si esegua la sintesi di una rete sequenziale sincrona caratterizzata da un unico segnale di ingresso (X) e da un unico segnale di uscita (Z),

Dettagli

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università

Dettagli

AUTOMA A STATI FINITI

AUTOMA A STATI FINITI Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate

Dettagli

Come scrivere bene codice? (1 di 1)

Come scrivere bene codice? (1 di 1) DIAGRMMI DI FLUSSO Come scrivere bene codice? (1 di 1) Prima di iniziare a scrivere un programma: Acquisire profonda comprensione del problema; Progettare un approccio per la risoluzione del problema.

Dettagli

Laboratorio di Sistemi Software Progetto Pattern Generator Specifica iniziale

Laboratorio di Sistemi Software Progetto Pattern Generator Specifica iniziale TITLE Laboratorio di Sistemi Software Progetto Pattern Generator Specifica iniziale Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Definizione del problema Pattern Generator Libreria Java per definire dei

Dettagli

UML State Diagrams. Nondeterminismo. Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM)

UML State Diagrams. Nondeterminismo. Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM) Macchina a Stati Finiti (Automa a stati finiti, Finite State Machine, FSM) Descrizione grafica del comportamento di una FSM on UML State Diagrams Lamp On A. Fantechi 1/4/2010 off on Lamp Off off Macchina

Dettagli

2. Modellazione dei casi d uso

2. Modellazione dei casi d uso 2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione ai sottoprogrammi Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione al corso, Paolo Bison, FI06, 2007-02-06 p.1 Struttura programma formato da vari elementi

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

Approfondimenti sul ciclo while

Approfondimenti sul ciclo while Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione In questa lezione... Mostriamo semplici esempi di uso dei cicli Ciascuno di

Dettagli

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

Dettagli

Le funzioni in JavaScript. Modularizzazione

Le funzioni in JavaScript. Modularizzazione Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi

Dettagli

21/10/14. Contatori. Registri: contatori. Sintesi del contatore modulo 8 (1) Sintesi del contatore modulo 8 (2) J 0 = K 0 = 1 J 1 = K 1 = y 0

21/10/14. Contatori. Registri: contatori. Sintesi del contatore modulo 8 (1) Sintesi del contatore modulo 8 (2) J 0 = K 0 = 1 J 1 = K 1 = y 0 //4 Contatori Un contatore è un registro usato per contare il numero di occorrenze di un determinato evento, sempre modulo un certo numero naturale. se formato da n FF, potrà contare fino a modulo n Tipicamente,

Dettagli

Le attività di stato. Capitolo 10. Introduzione

Le attività di stato. Capitolo 10. Introduzione Capitolo 10 Le attività di stato Non si può discendere due volte nel medesimo fiume e non si può toccare due volte una sostanza mortale nel medesimo stato, perché a causa dell impetuosità e della velocità

Dettagli

Sintassi dei diagrammi di Attività

Sintassi dei diagrammi di Attività Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2008-09 Corso di Ingegneria del Software UML Diagrammi di attività Activity diagrams Diagrammi di attività I diagrammi di attività, in

Dettagli

Specifica parte IIA. Leggere Sez , 5.5.2, Ghezzi et al.

Specifica parte IIA. Leggere Sez , 5.5.2, Ghezzi et al. Specifica parte IIA Leggere Sez. 5.5.1, 5.5.2, 5.5.3 Ghezzi et al. Specifiche operazionali l Diagrammi di flusso di dati l Diagrammi UML l Macchine a stati finiti Specifica 2A 2 Diagrammi di flusso di

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici RETI LOGICHE: RETI SEQUENZIALI Massimiliano Giacomin 1 LIMITI DELLE RETI COMBINATORIE Nelle reti combinatorie le uscite dipendono solo dall ingresso Þ impossibile far dipendere

Dettagli

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali

Reti Logiche 1. Prof. B. Buttarazzi A.A. 2009/2010. Reti Sequenziali Reti Logiche Prof. B. Buttarazzi A.A. 29/2 Reti Sequenziali Sommario Analisi di Reti Sequenziali Sintesi di Reti Sequenziali Esercizi 3/6/2 Corso di Reti Logiche 29/ 2 Analisi di Reti Sequenziali Passare

Dettagli

Scopo del laboratorio

Scopo del laboratorio p. 1/1 Scopo del laboratorio Imparare ad usare programmi che implementino metodi di ottimizzazione: simplesso, branch and bound ecc. utilizzarli per risolvere un problema proposto Modellatori Solver p.

Dettagli

coda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms

coda arrivo burst P 1 A 0 20ms P 2 C 10 25ms P 3 B 15 20ms P 4 A 25 20ms 1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva l algoritmo di scheduling nel sistema Windows Vista (e

Dettagli

Giovanni A. Cignoni 1

Giovanni A. Cignoni   1 UML per la modellazione discreta Lezione n. 6 Corso di Laurea in Informatica Applicata Università di Pisa, sede di La Spezia Giovanni A. Cignoni www.di.unipi.it/~giovanni 1/24 Contenuti UML in poche parole

Dettagli

Gestione dei Processi

Gestione dei Processi Gestione dei Processi Informatica B Che cosa è un processo per il SO? Processo programma! Rappresenta un istanza di un programma composta da: codice eseguibile (il programma stesso) dati del programma

Dettagli

Corso di Ingegneria del Software. Casi d uso

Corso di Ingegneria del Software. Casi d uso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. 2. 2.1 Il linguaggio dei casi d uso 2.2 Esempi 3. Bibliografia Sommario 1. 2. 2.1 Il linguaggio dei casi d uso

Dettagli

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1

Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni. Lab Shell. Lab-Shell 1 Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab Shell Lab-Shell 1 Scelta della shell La prima riga di un file comandi deve specificare quale shell si vuole utilizzare:

Dettagli

OO - Introduzione. Oggetti. OO - Panoramica. Progettazione orientata agli oggetti

OO - Introduzione. Oggetti. OO - Panoramica. Progettazione orientata agli oggetti OO - Introduzione Progettazione orientata agli oggetti Introduzione alle tecniche orientate agli oggetti Modelli ad oggetti Oggetti, classi, associazioni, aggregazione Il compito del programmatore: collegare

Dettagli

Flip-flop, registri, la macchina a stati finiti

Flip-flop, registri, la macchina a stati finiti Architettura degli Elaboratori e delle Reti Lezione 9 Flip-flop, registri, la macchina a stati finiti Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell nformazione Università degli Studi di

Dettagli

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

LEZIONE 4. Hardware (periferiche) Software (algoritmi) LEZIONE 4 Hardware (periferiche) Software (algoritmi) Prof. Valle Prof. Folgieri Lez4 Hardware e Software 1 PERIFERICHE DI INPUT E DI OUTPUT Periferiche di INPUT: Tastiera Mouse Trackball, touch pad, joystick

Dettagli

Introduzione alla programmazione strutturata

Introduzione alla programmazione strutturata FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio

Dettagli

Fortran. Funzioni e Subroutine.

Fortran. Funzioni e Subroutine. Fortran Funzioni e Subroutine http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Dal Fortran II del 1958, Fortran consente di

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone Sintesi di Reti Sequenziali Sincrone Maurizio Palesi Maurizio Palesi 1 Macchina Sequenziale Una macchina sequenziale è definita dalla quintupla (I,U,S,δ,λ ) dove: I è l insieme finito dei simboli d ingresso

Dettagli

Utilizzato per trattenere entità che vengono poi successivamente rilasciate e tipicamente per: trattenere entità che devono ricevere un

Utilizzato per trattenere entità che vengono poi successivamente rilasciate e tipicamente per: trattenere entità che devono ricevere un Utilizzato per trattenere entità che vengono poi successivamente rilasciate e tipicamente per: trattenere entità che devono ricevere un autorizzazione; controllare lo stato di una macchina o di un operatore

Dettagli

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano

Dettagli

Ingegneria del Software

Ingegneria del Software Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 Lezione 8: Gli Statecharts Obiettivi della lezione Comprendere il formalismo degli statecharts Ciclo di vita del Software

Dettagli

SISTEMA DI ELABORAZIONE

SISTEMA DI ELABORAZIONE SISTEMA DI ELABORAZIONE Una macchina M capace di eseguire programmi scritti in un linguaggio L adeguato DATI P(L) L M Osservazioni: M e' funzionalmente definita da L (L->M) Se L->M e L->M', allora M e'

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

Prof. G. Ascia. Sistema Operativo

Prof. G. Ascia. Sistema Operativo Sistema Operativo In parte tratto dal capitoli 13 del libro Mandrioli, Ceri, Sbattella, Cremonesi, Cugola, "Informatica: arte e mestiere",3a ed., McGraw-Hill Fondamenti di Informatica 1 Il Sistema Operativo

Dettagli

COGNOME NOME COGNOME NOME

COGNOME NOME COGNOME NOME Esercitazione N. 15 Una rete sequenziale asincrona ha due ingressi x,y ed una uscita z. Gli ingressi non cambiano mai di valore contemporaneamente e non presentano mai entrambi il valore 1. L uscita può

Dettagli

Informatica 3 V anno

Informatica 3 V anno Informatica 3 V anno Teoria degli automi Introduzione agli automi Un particolare tipo di sistemi dinamici è rappresentato dagli automi. L automa è un modello di calcolo molto semplice da utilizzare, adatto

Dettagli

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

i. Diagramma di GANTT relativo all esecuzione dei quattro processi: 1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva il funzionanmento di un server web basato su thread multipli.

Dettagli

2. Simulazione discreta: L uso di UML per la modellazione

2. Simulazione discreta: L uso di UML per la modellazione 2. Simulazione discreta: L uso di UML per la modellazione Anno accademico 2008/09 UML: un linguaggio di modellazione Per rappresentare graficamente i modelli di simulazione useremo la grafica e la sintassi

Dettagli

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Lezioni precedenti: Descrizione del dominio: modello statico Descrizione del dominio: modello dinamico

Dettagli

Richiami Java e Arrays

Richiami Java e Arrays Richiami Java e Arrays concetti base G.T. 1 casting G.T. 1.3.3 e 2.5 uso array G.T. 3.1 lista semplice G.T. 3.2 1 Concetti base Oggetto istanza (di una classe) classe (tipo di un oggetto) variabili di

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

Web Application Engineering

Web Application Engineering Web Application Engineering analisi del dominio cristian lucchesi IIT-CNR Pescara, 15-16 Maggio 2007 Alei Ud A 1 Analisi del dominio l'obiettivo è di arrivare alla definizione sufficientemente rigorosa

Dettagli

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set

Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME. Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema PATH HOME USER PWD SHELL HOSTNAME Per visualizzare il valore di tutte le variabili d ambiente si usa il comando set Shell: variabili di sistema Per visualizzare il valore di

Dettagli

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli