Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Dettagli di Stato e transizioni

Vediamo come indicare un evento
Vediamo come indicare un evento
Link copiato negli appunti

è possibile indicare sugli State Diagram un evento che causa il verificarsi di una transizione (un evento trigger) e l'azione che viene eseguita che fa sì che il cambio di stato possa avvenire.

Per aggiungere graficamente eventi e azioni si scrive vicino la linea di transizione una descrizione di essi, utilizzando una barra per separare un evento di trigger da un'azione.

Qualche volta può accadere che un evento causi una transizione senza azioni associate e, qualche altra volta una transizione si verifica perchè uno stato completa un'attività (piuttosto che a causa di un evento). Questo tipo di transizione viene chiamata transizione senza trigger (triggerless transition).

è anche possibile inserire una condizione di controllo (guard condition). Quando la si incontra, la transizione ha luogo. (Per esempio lo screen saver viene attivato quando l'intervallo di tempo di x minuti viene raggiunto).

Gli State Diagrams consentono, inoltre, di definire degli stati all'interno di altri stati. In tal caso, gli stati interni verranno definiti sotto-stati (substates) i quali, a loro volta, possono essere disinti in sottostati sequenziali e sottostati concorrenti
I primi, come si evince dal nome stesso, rappresentano una sequenza di stati che vengono raggiunti uno susseguentemente all'altro. I sottostati concorrenti, invece, rappresentano due o più sottostati sequenziali che si verificano allo stesso tempo. Tutto ciò viene rappresentato graficamente con una linea tratteggiata tra gli stati concorrenti. Per comprendere meglio questi concetti, comunque, si faccia riferimento all'esempio del paragrafo successivo.

L'UML fornisce un simbolo che mostra che uno stato composto ricorda i suoi attivi sottostati quando l'oggetto effettua transizioni fuori dallo stato composto. Il simbolo usato è:

figura

unito da una linea continua ai sottostati "ricordati", con una freccia che punta al sottostato opportuno.

Un messaggio che causa una transizione in un oggetto dello State Diagram (che riceve il messaggio stesso) viene chiamato segnale (signal).

Nel mondo orientato agli oggetti, il mandare un segnale viene visto allo stesso modo come la creazione di un oggetto Segnale e la trasmssione di questo ad un oggetto Ricevente. L'oggetto Segnale può avere delle proprietà che saranno rappresentate da attributi.
Infine, poiché un segnale è un oggetto, è anche possibile creare gerarchie di ereditarietà di segnali.


Ti consigliamo anche