Finite State Machines
in COMET
Dove si usano ?
User
Requirement
Modeling
Analysis
Modeling
Desing
Modeling
Incremental
Software
Construction
Throwaway
Prototyping
Incremental
Prototyping
Incremental
Software
Integration
System
Testing
Customer
Che cosa vediamo
Flat statechart
Eventi
Esempio
Evento ``Timer``
Condizioni
Esempio
Azioni
Esempio
Azioni Entry
Azioni Exit
Attivita`
Esempi
Statechart
Notazione UML per definire finite state
machines
Ripresa dalle statechart di D.Harel
in UML statechart diagram
in COMET statechart
Flat = senza parallelismi interni
in UML detta simple
In COMET anche quelli gerarchici
In UML detti compositi
Eventi
Occorrenza ad un certo punto nel tempo
Occorrenza atomica
Vedi UML
Esempi di statechart con eventi
Account statechart
ATM statechart
ATM statechart proposto
Evento ``Timer``
evento speciale che specifica un
evento dopo un certo intervallo di
tempo
Notazione
after (elapsed time)
 after (10 seconds)

Condizioni
definiscono un aspetto del sistema che
puo` essere vero o falso in un certo
momento
sono associate agli events
Notazione
 event [condition]
Esempio di Condizioni
ATM partial statechart
Azioni
Computazione eseguita come risultato di
una transizione
Eseguita istantaneamente durante la
transizione
Notazione
 event/action
Esempio di Azioni
ATM partial statechart
Azioni Entry
Azione eseguita tutte le volte che si entra in
uno stato
Eseguita prima di qualsiasi attivita` interna
Notazione
 entry/action
Quando usare le azioni entry
Se c`e` piu` di una transizione che va in uno
stato
Se una stessa azione necessita di essere
rappresentata in ogni transizione
Esempio di azioni entry
ATM partial statechart
Azione Exit
Azione eseguita tutte le volte che si esce da
uno stato
Eseguita solo dopo il completamento di tutte
le attivita` interne
Notazione
 exit/action
Quando usare le azioni exit
Se c`e` piu` di una transizione che lascia
uno stato
Se un`azione necessita di essere
rappresentata in ogni transizione
Esempio di azione exit
Cruise Control partial statechart
Attività
Sono computazioni eseguite per tutta la
durata di uno stato
Sono abilitate all`entrata in uno stato e
disabilitate all`uscita di uno stato
Notazioni
 event/enable activity
 event/disable activity
 do/activity
Osservazioni
In caso di combinazione di azioni – attivita`
abilitate/disabilitate
L`attivita` nello stato in cui si esce e`
disabilitata
Le azioni vengono eseguite
L`attivita` nello stato in cui si entra e`
abilitata
Cruise Control statechart
Cruise Control statechart
Scarica

ferraris