Diagramma di macchina a stati Flashcards

(9 cards)

1
Q

Cos’è e cosa fa un diagramma di macchina a stati

A

Prendo un oggetto e descrivo come oggetto evolve nel tempo in funzioni di eventi.

Cosa sono gli eventi? Metodi dell’oggetto

Non racconto più evento ma dico che ho un oggetto in uno stato e descrivo serie di eventi che fanno passare da quello stato ad un altro stato.

→ Grafo stati-transizioni che descrive il comportamento delle istanze di una classe

  • stati significativi in cui si può trovare un oggetto durante la sua vita
  • come da ciascuno di questi stati l’oggetto può passare (transire) ad un altro

Le transizioni si attivano in risposta ad un evento, ad esempio:

  • messaggi inviati da altri oggetti
  • eventi generati internamente
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Cosa sono stati e transizioni

A

Lo stato si identifica con aggetti o participi passati
La transizione uscente da uno stato:

  • Definisce risposta dell’oggetto all’occorrenza di un evento
  • Viene presa solo se la condizione è vera quando occorre l’evento
  • Comporta l’esecuzione delle azioni specificate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cos’è un evento

A

Un evento occorre istantaneamente e va introdotto solo se ha degli effetti
Se un evento occorre in uno stato che
* non ha transizioni per quell’evento, viene ignorato
* ha più transizioni per lo stesso evento, ne viene scelta una in modo non-deterministico
Tipi di evento
* Operazione o segnale → ricezione di una chiamata di metodo
o un segnale con parametri (e tipi) compatibili, es. op(a:T)
* Evento di variazione «when(exp)» → l’espressione exp
(tempo assoluto o condizione) diventa vera
* Evento temporale «after(t)» → l’oggetto è stato fermo per un tempo t nello stato di partenza

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cosa sono e fanno do entry exit

A
  • entry → azione di entrata, eseguita all’ingresso in uno stato
  • exit → azione di uscita, eseguita all’ingresso in uno stato
  • do → azione interna, eseguita in modo continuato mentre l’oggetto si trova in quello stato
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cos’è uno stato composto

A

Include un’ulteriore macchina a stati
Ingresso: transizione che arriva nello stato
* se arriva sul bordo, si prosegue dallo stato
iniziale della macchina interna
* se arriva su uno stato interno, si prosegue
da tale stato (non nell’esempio)
Uscita: transizione che esce dallo stato
* una transizione (etichettata) che parte dal
bordo è attivabile da qualsiasi stato interno
* dallo stato finale della macchina interna, si prosegue nella transizione di completamento (che non ha evento)
* transizioni uscenti da stati interni possono «attraversare il bordo» (non nell’esempio)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Differenza tra stati composti sequenziali e paralleli

A

sequenziale ⇒ solo un sottostato attivo in ogni istante
parallelo ⇒ più sottostati attivi contemporaneamente, uno per regione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

cosa sono le transizioni di completamento

A

Le transizioni di completamento (senza evento) scattano
* quando si raggiunge la terminazione di un’attività composita, aka
* stato finale in un stato composito sequenziale
* stati finali di tutte le regioni ortogonali di un stato composito parallelo
* un exit point
* alla terminazione delle attività entry e/o do
(NB: l’attività exit viene eseguita quando scatta la transizione di completamento)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Come decidere tra attività o stati?

A

Qual è il focus?

  • Mostrare evoluzione di un oggetto in risposta a eventi → Diagramma di macchina a stati (descrive l’evoluzione delle istanze di un classificatore)
  • Mettere in ordine azioni da fare → diagramma di attività (descrive un flusso di azioni da svolgere)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly