È possibile creare macchine a stati per descrivere classi e sistemi con funzionalità importante. Non tutti gli oggetti richiedono macchine a stati. Se la funzionalità di un oggetto è basilare, se memorizza o richiama semplicemente i dati, potrebbe non essere importante e non richiedere l'utilizzo di una macchina a stati. Le macchine a stati possono contenere anche stati nidificati che rappresentano diversi livelli di stati gerarchici. È possibile utilizzare stati nidificati per esaminare modifiche di stato complesse negli oggetti.
È possibile aggiungere diagrammi a una macchina a stati per descrivere diverse prospettive della funzionalità di un oggetto. Ogni diagramma viene aperto come una finestra separata ma gli stessi elementi di modello vengono visualizzati in tutti i diagrammi. I diagrammi in una macchina a stati sono sincronizzati per impostazione predefinita. Le modifiche apportate a una regione nella vista Esplora progetto vengono visualizzate negli altri diagrammi che appartengono alla stessa macchina e le modifiche apportare a una regione in un diagramma vengono visualizzate nella stessa vista Esplora progetto. È possibile modificare le impostazioni di modifica di una regione su false in modo che le modifiche apportate a una regione nella vista Esplora progetto non vengano visualizzate nei diagrammi corrispondenti della macchina a stati per consentire la modifica di una regione indipendentemente da altri diagrammi nella stessa macchina a stati, modificando il valore di proprietà canoniche di una regione su false.
Le macchine a stati sono supporti di modellamento utili per sviluppare sistemi in tempo reale o basati su eventi, perché mostrano una funzionalità dinamica. È possibile sviluppare macchine a stati durante tutte le fasi di un progetto software e per modellamento aziendale. È possibile utilizzare tali macchine nelle seguenti situazioni:
È possibile utilizzare le macchine a stati per modellare la funzionalità basata sull'evento. Eventi quali tempo, segnali o operazioni possono causare la modifica allo stato di un oggetto. Un evento non ha durata e può precedere o seguire un altro evento. Gli stati che modellano la funzionalità basata su eventi continuano nello stesso stato fino all'arrivo di un evento. Dopo la risposta dello stato a un evento, il processo ritorna a uno stato stabile pronto a ricevere l'evento successivo.