UML2Diagrammi delle Macchine a Stati
Andrea Polini
Laboratorio di Ingegneria del SoftwareCorso di Laurea in Informatica – L-31
Università di Camerino
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 1 / 24
Macchine a Stati
Strumento per la modellazione del comportamento dinamico deiclassificatori
Diagrammi delle Attività vs. Diagrammi delle Macchine a Stati
Elementi fondamentali di una SM sonoStatoeventotransizione
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 2 / 24
Entità reattive
Le SM descrivono bene il comporamento di entità reattive:rispondono ad eventi esternigenera e risponde ad eventi interniciclo di vita definito modellato tramite i concetti fondamentali di SMcomportamento dipende dalla storia di quanto avvenutoprecedentemente
Tipicamente associati a classificatori quali:classicasi d’usosottosistemiinteri sistemi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 3 / 24
Entità reattive
Le SM descrivono bene il comporamento di entità reattive:rispondono ad eventi esternigenera e risponde ad eventi interniciclo di vita definito modellato tramite i concetti fondamentali di SMcomportamento dipende dalla storia di quanto avvenutoprecedentemente
Tipicamente associati a classificatori quali:classicasi d’usosottosistemiinteri sistemi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 3 / 24
Entità reattive
Le SM descrivono bene il comporamento di entità reattive:rispondono ad eventi esternigenera e risponde ad eventi interniciclo di vita definito modellato tramite i concetti fondamentali di SMcomportamento dipende dalla storia di quanto avvenutoprecedentemente
Tipicamente associati a classificatori quali:classicasi d’usosottosistemiinteri sistemi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 3 / 24
Entità reattive
Le SM descrivono bene il comporamento di entità reattive:rispondono ad eventi esternigenera e risponde ad eventi interniciclo di vita definito modellato tramite i concetti fondamentali di SMcomportamento dipende dalla storia di quanto avvenutoprecedentemente
Tipicamente associati a classificatori quali:classicasi d’usosottosistemiinteri sistemi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 3 / 24
Entità reattive
Le SM descrivono bene il comporamento di entità reattive:rispondono ad eventi esternigenera e risponde ad eventi interniciclo di vita definito modellato tramite i concetti fondamentali di SMcomportamento dipende dalla storia di quanto avvenutoprecedentemente
Tipicamente associati a classificatori quali:classicasi d’usosottosistemiinteri sistemi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 3 / 24
Entità reattive
Le SM descrivono bene il comporamento di entità reattive:rispondono ad eventi esternigenera e risponde ad eventi interniciclo di vita definito modellato tramite i concetti fondamentali di SMcomportamento dipende dalla storia di quanto avvenutoprecedentemente
Tipicamente associati a classificatori quali:classicasi d’usosottosistemiinteri sistemi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 3 / 24
Tipologie
Macchine a stati del comportamentoMacchine a stati del comporamento possono contenere azioni daeseguire
Macchine a stati del protocollocondizioni per la chiamata delle operazionirisultati delle chiamate di operazioniordine delle chiamate
Quando usarle in UP?
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 4 / 24
Primo diagramma SM
Attenzione gli eventi sono considerati istantanei
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 5 / 24
Stati
condizione o situazione della vita di un oggetto durante laquale esso soddisfa una condizione, esegue un’attività oaspetta un evento The UML Reference Manual
Stato determinato da:valori degli attributirelazioni con gli altri oggettiattività che sta eseguendo
Attenzione a scegliere il giusto livello di astrazione. Stati differentidevono rappresentare una differenza semantica
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 6 / 24
Sintassi degli stati
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 7 / 24
Transizioni - SM comportamentali
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 8 / 24
Transizioni - SM protocollo
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 9 / 24
Stati giunzione
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 10 / 24
Stati Selezione
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 11 / 24
Eventi
la specifica di un’occorrenza di interesse che ha unacollocazione nello spazio e nel tempo
UML Reference Manual
Evento di chiamataEvento di segnaleEvento di VariazioneEvento temporale
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 12 / 24
Eventi di chiamata
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 13 / 24
Eventi di segnale
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 14 / 24
Eventi di variazione
Espressione booleana basata su:costanti, variabili globali, attributi, operazione della classe di contesto(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 15 / 24
Eventi temporali
Si possono usare parole chiavi:quandodopo
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 16 / 24
Stati compositi
stato che contiene altri stati annidati. Ogni transizione dello statocontenitore viene ereditata dagli stati contenuti.
È possibile nascondere uno stato composito
Stati compositi semplici con una singola regioneStati compositi ortogonali con due o più regioni
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 17 / 24
Stati compositi semplici
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 18 / 24
Stati compositi complessi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 19 / 24
Stati compositi complessi
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 20 / 24
Stati sottomacchine
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 21 / 24
Stati sottomacchine
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 22 / 24
Comunicazione
Permettono comunicazione asincrona tra sotto-macchine:
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 23 / 24
Stati con memoria
(Laboratorio di Ingegneria del Software) UML 2 – Diagrammi della Macchine a Stati 24 / 24