Diagramma degli stati UML
Lo State Chart Diagram UML o Diagramma degli stati UML detto anche Pallogramma è un diagramma previsto dall'UML per descrivere il comportamento di entità o di classi in termini di stato (macchina a stati).[1]
Il diagramma mostra gli stati che sono assunti dall'entità o dalla classe in risposta ad eventi esterni.
Il concetto di stato è spesso posto in relazione al ciclo di vita; l'insieme completo di stati che un'entità o una classe può assumere, dallo stato iniziale a quello finale, ne rappresenta il ciclo di vita.
Gli elementi rappresentati da uno State Chart Diagram sono lo stato (distinguendo tra iniziale, intermedio e finale), l'evento, l'azione e la guardia.
Lo stato descrive una qualità dell'entità o classe che si sta rappresentando (pratica aperta, in lavorazione, sospesa, chiusa); l'evento è la descrizione dell'azione che comporta il cambiamento di stato, l'azione è l'evento che ne consegue, la guardia è l'eventuale condizione che si deve verificare perché si possa compiere l'azione.
Il diagramma degli stati UML è una variante a oggetti del diagramma di stato di Harel,[2] adattato ed esteso da UML.[1][3]
L'obiettivo del diagramma degli stati UML è quello di superare le principali limitazioni delle tradizionali macchine a stati finiti, pur mantenendone i principali vantaggi. I diagrammi di stato UML introducono, rispetto a queste ultime, i concetti di stati gerarchicamente annidati e di regioni ortogonali, estendendo al contempo la nozione di azioni. Le macchine a stati UML hanno sia caratteristiche delle macchine di Mealy che delle macchine di Moore. Supportano azioni che dipendono sia dallo stato del sistema sia dall'evento scatenante, come nelle macchine di Mealy, nonché azioni di ingresso e di uscita, che sono associate agli stati piuttosto che alle transizioni, come nelle macchine di Moore.[4]
Note
[modifica | modifica wikitesto]- ^ a b Unified Modeling Language 2.5.1, su omg.org.
- ^ Statecharts: A Visual Formalism for Complex Systems (PDF), su wisdom.weizmann.ac.il.
- ^ Modelling and verification using UML statecharts, su elsevier.com.
- ^ A crash course in UML state machines, su embedded.com.
Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su Statechart Diagram