UML: Statechart diagram Corso IS I /03

Slides:



Advertisements
Presentazioni simili
Termodinamica Chimica
Advertisements

Real World UML Omid Ehsani Senior Consultant and Trainer Omid Ehsani Senior Consultant and Trainer
Specifiche Algebriche
UML: Use Cases Corso IS I /03
Richiesta finanziamento e Bioprocess design
Sequential Function Chart (SFC)
Each student will be able to ask an adult or stranger: What do you like to do? and What dont you like to …?
Specifiche senza JML: uso delle asserzioni. 2 Asserzioni in Java Dal jdk 1.4 (da Febbraio 2002) cè meccanismo per gestire asserzioni Asserzione: espressione.
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Corso IS I /03 Esame Scritto - Parte generale 4 Febbraio 2003 Punteggio massimo totale punti 18; soglia superamento prova 10 Avvertenza Si vuole.
Queuing or Waiting Line Models
11 1 Roma, 11 dicembre 2006 Laura Gasparini Garanzia su Portafogli Estero.
Gli studenti saranno in grado di usare limperfetto per descrivere cosa facevano da piccoli. Da Fare Ora: 1.Che programma televisivo hai guardato ieri?
UML: Collaboration diagram Corso IS I /03 Gianna Reggio Versione 1.0.
Il PASSATO PROSSIMO ESSERE E AVERE.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Indirect Object Pronouns
Briscola.
Calcolo dei costi di riferimento e simulazione
Oggi è il due marzo LO SCOPO: Usiamo il passato prossimo. FATE ADESSO: Tirate fuori il compito.
Da Fare Adesso: 1.Dove vai a provare l’abbigliamento quando sei al negozio? 2.Quando una donna va ad una festa elegante che cosa usa per mettere il rossetto?
UML: Activity diagram Corso IS I /03 Gianna Reggio Versione 0.1.
Slide 1 Lezione 7. Modelli a stati  [GJM91, sez ], [BRJ99, Capp. 19, 20, 21]  Finite State Machines - definizioni, applicabilita’, esempi  Prodotto.
1. Andro` in vacanza appena avro` finito il mio viaggio di affari. 2. Quando il negozio avra` venduto tutti i cappotti, ne ordinera` ancora. 3. La signora.
Microsoft Confidential Gabriele Castellani Developer & Platform Evangelism Microsoft.
4/20/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella.
Taccani1 7.4 Identification ANALISI DEI PERICOLI Hazard Analysis Identificazione Valutazione Misure di Controllo Control Measures Assessment.
© and ® 2011 Vista Higher Learning, Inc.6B.1-1 The imperfetto can be translated into English in several ways. Lia piangeva. Lia cried. Lia used to cry.
ANNUNCIO DI SEMINARIO Il giorno Venerdi' 21 Maggio 2004 alle ore 11:30 presso l'Aula C3.4 della Facolta' di Scienze Matematiche Fisiche e Naturali dell'Universita'
Specifiche. Scopo e significato delle specifiche (1) Lo scopo di una specifica è di definire il comportamento di un ’ astrazione. Gli utenti si baseranno.
Corso IS I /03 Esame Scritto - Parte generale 18 Febbraio 2003 Punteggio massimo totale punti 18; soglia superamento prova 10 Avvertenza Si vuole.
UML: Sequence diagram Corso IS I /03 Gianna Reggio Versione 0.0.
UML: Constraints-OCL Corso IS I /03
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Esercizi UML.
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
Each student will be able to ask an adult or stranger: What do you like to do? and What don’t you like to …?
SUMMARY Quadripoles and equivalent circuits RIEPILOGO Quadripoli e circuiti equivalenti RIEPILOGO Quadripoli e circuiti equivalenti.
Gestione partite SAP Best Practices. ©2013 SAP AG. All rights reserved.2 Finalità, vantaggi e passi fondamentali del processo Finalità  Descrizione dettagliata.
Analisi del Rischio Clinico
Gestione trasferte SAP Best Practices. ©2013 SAP AG. All rights reserved.2 Finalità, vantaggi e passi fondamentali del processo Finalità  Fornire una.
Gestione dei numeri di serie SAP Best Practices. ©2013 SAP AG. All rights reserved.2 Finalità, vantaggi e passi fondamentali del processo Finalità  Descrizione.
SUMMARY High efficiency motors RIEPILOGO Motori ad alta efficienza RIEPILOGO Motori ad alta efficienza.
SUMMARY Thyristors RIEPILOGO I thyristor RIEPILOGO I thyristor.
Geothermal energy Geothermal energy is a renewable energy and can be obtained by tapping into The heat of the earth's hydrothermal sites. The water that.
Tipologie e caratteristiche degli amplificatori a retroazione
SUMMARY A/D converters RIEPILOGO Convertitori A/D RIEPILOGO Convertitori A/D.
Filtri del secondo ordine e diagrammi di Bode
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Progetti 2015/2016. Proj1: Traduzione di regole snort in regole iptables Snort: – analizza i pacchetti che transitano in rete, confrontandoli con un database.
SI IMPERSONALE “One must pay attention if one wants to do well!”
Geneva 30 November – 1 December 2015 Ministero delle Infrastrutture e dei Trasporti DIREZIONE GENERALE PER IL TRASPORTO STRADALE E L’INTERMODALITA ’ “To.
Oggi è il quattordici maggio LO SCOPO: Date la prova e cominciamo il ripasso per l’esame finale. FATE ADESSO: Studiate per cinque minuti.
La governance europea. Governance without government J. N. Rosenau e E. O. Czempiel, Governance without government: order and change in world politics,
LE PREPOSIZIONI. Le Preposizioni semplici (Simple prepositions) A preposition describes a relationship between other words in a sentence. In itself, a.
Buon giorno, ragazzi oggi è il quattro aprile duemilasedici.
Titolo evento Luogo, data Seminario INSPIRE Bologna, luglio 2012 Profili, strumenti ed implementazioni dei metadati Antonio Rotundo Agenzia per l’Italia.
Crescita I: Paolo Sospiro Università di Macerata Macerata 29 Settembre 2014 Economia dello Sviluppo Università di Macerata.
Activity diagrams Data & Control Flows Esempi
Project IOLI Practical exemple in Italy and in Sicily Il presente progetto è finanziato con il sostegno della Commissione europea. L’autore è il solo responsabile.
STMan Advanced Graphics Controller. What is STMan  STMan is an advanced graphic controller for Etere automation  STMan is able to control multiple graphics.
I segnali odorosi Le piante comunicano tra loro attraverso la trasmissione di composti organici volatili (in forma gassosa). The plants communicate with.
MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard Facoltà di scienze della comunicazione Università della.
POSSIBLE ANSWERS The company is looking for a secretary/A secretarial position is vacant/A position as a secretary is vacant BBJ Co. Ltd advertised for.
Cyber Safety.
X. Specifications (IV).
Il condizionale.
La Grammatica Italiana Avanti! p
Transcript della presentazione:

UML: Statechart diagram Corso IS I - 2002/03 Gianna Reggio Versione 0.0

Stati & transizioni paradigma ben noto e abbastanza ovvio per descrivere il comportamento di entità dinamiche stati rilevanti dell’entità transizioni = possibili passaggi di stati, magari con annotazioni riguardo a cosa ha causato la transizione, o che cosa viene rilevato sulla transizione …... grande impatto visuale esempi: notazioni che conoscete … descrivere il comportamento del telefono durante una telefonata in termini di stati & transizioni

Statechart notazione visuale e formale sviluppata da D. Harel, fine anni 80, per descrive il behaviour di sistemi reattivi transizioni descrivono come il processo reagisce a degli eventi (generati dall’esterno o da se stesso) [sono triggered dagli eventi] una transizione può anche generare nuovi eventi (interni od esterni) Statechart diagram di UML adattazione delle statechart ad un mondo OO quindi descrivono il comportamento di oggetti operazioni su oggetti use case (dopo) …...

Statechart diagram Da UML specification (99-06-08.pdf) “A statechart diagram can be used to describe the behavior of a model element such as an object or an interaction. Specifically, it describes possible sequences of states and actions through which the element can proceed during its lifetime as a result of reacting to discrete events (e.g., signals, operation invocations).” “Statechart diagrams represent the behavior of entities capable of dynamic behavior by specifying its response to the receipt of event instances. Typically, it is used for describing the behavior of classes, but statecharts may also describe the behavior of other model entities such as use- cases, actors, subsystems, operations, or methods.”

Ingredienti [semplici] (1) Stati = situazioni rilevanti nella vita dell’entità modellata nome dello stato Aperte Iscrizioni FaseEliminazioni FaseFinale stato iniziale [solo uno] stato finale Transizione event-expr [ guard-condition ] / action-expression Target Source evento che fa scattare la transizione condizione: se falsa blocca la transizione viene eseguita quando scatta la transizione guard-condition è opzionale action-expression è opzionale Target può essere uguale a Source, o a

Ingredienti (2) Eventi: “An event is a noteworthy occurrence. For practical purposes in state diagrams, it is an occurrence that may trigger a state transition. Events may be of several kinds (not necessarily mutually exclusive).” call event il ricevimento di una chiamata di una operazione op(X1,…, Xn) X1, …, Xn event parameter timed event il passaggio di un dato periodo di tempo a partire da un certo momento (di solito l’entrata nello stato corrente) after 5 s o lo scoccare di un certo tempo/data when data = 1 Gennaio 2002 change event quando una data condizione (espressione booleana) diventa vera mentre prima era falsa when cond signal event il ricevimento di un segnale (prossimamente)

Ingredienti (3) Condition, action expressi usando OCL, linguaggi di programmazione,…. [ricordare queste parti non sono fissate in UML]

Esempio: behaviour dei tornei timed event Aperte Iscrizioni start() iscrivi(P) [completo()=False] after 3 Months playFinale() / executeFinale() FaseEliminazioni inizioEliminazioni() [completo()=True]/ setUpTableua() risultatoMatch(m,r) / record(m,r) FaseFinale when not exists M. toBePlayed(M) change event (not OCL, my pet notation) Es.1) Definire la classe Torneo, ed eventuali altre, in modo che gli eventi, le espressione e le azioni che appaiono nella statechart sopra siano ben definite. Es. 2) Modificare la statechart in modo che le condizioni siano espresse in OCL.

Ingredienti (4) azioni associate agli stati entry action exit action viene eseguita quando si entra nello stato exit action viene eseguita quando si lascia lo stato internal transitions hanno forma event / action vengono eseguite quando il sistema è nello stato e accade il relativo evento do action “This label identifies an ongoing activity (“do activity”) that is performed as long as the modeled element is in the state or until the computation specified by the action expression is completed (the latter may result in a completion event being generated).”

Ingredienti (5) notazione per le azioni associate agli stati nome dello stato FaseEliminazioni entry / for all P in registered P.sendMessage(“Inizio Eliminazioni”) exit / for all P in registered P.sendMessage(“Fine Eliminazioni”) iscrivi(P) / P.sendMessage(“Troppo tardi”) internal action

Stati composti (1) uno stato può essere decomposto (strutturato) dettagliando cosa fa l’entità modellata quando è in quello stato la decomposizione di uno stato si può riportare a parte [migliora la leggibilità] uno stato può essere decomposto ortogonalemente (in sottostati mutuamente esclusivi) StatoOrtogonale ……. ……. è come se la avessero tutti gli stati interni un’altra statechart con stato iniziale e finali si entra nello stato iniziale viene presa quando si raggiunge uno stato finale interno sono ammesse anche transizioni che entrano direttamente in uno stato interno

Stati composti (2) uno stato può essee decomposto concorrentemente (in sottostati paralleli) StatoConcorrente un’altra statechart con stato iniziale e finali ……. si entra negli stati iniziali di tutti i sottostati un’altra statechart con stato iniziale e finali scatta quando tutti i sottostati raggiungono lo stato finale

Stati composti uno stato può essere decomposto ortogonalemente (in sottostati mutuamente esclusivi) concorrentemente (in sottostati concorrenti) StatoOrtogonale ……. ……. è come se la avessero tutti gli stati interni un’altra statechart con stato iniziale e finali si entra nello stato iniziale viene presa quando si raggiunge uno stato finale interno

Esempio: stato concorrente FaseFinale risultatoFin(r) / st.notifica(“F”,r) GiocaFinale entry / P1.gioca(P2) risultatoSemi(r) / st.notifica(“S”,r) GiocaSemiFinale entry / P3.gioca(P4)

Esempio: stato ortogonale Iscrizione RicevutaRichiesta entry / P.chiediConFerma() conferma(P) RicevutaConfermata entry / DB.registra(self,P) registrato(P)

Domanda Le informazioni ricevute fino ad ora sono sufficienti per capire come funzionano le state charts ? Semantica precisa run-to-completion event queue self call methods