Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Un esempio applica
tivo
Intr oduzione
La teoria delle macchine agli stati finiti stata sviluppata come un approccio
al progetto di sistemi logici deterministici guidati da eventi. Una macchina
agli stati finiti descrive un sistema in
termini di stati e transizioni, dove lo
stato che attivo viene determinato dal
verificarsi di un evento sotto certe condizioni. I diagrammi delle transizioni di
stato sono rappresentazioni grafiche
basate su questo approccio.
Nel 1983 il dottor David Harel, del
Weizmann Institute of Science in Israele, present una versione modificata dei
diagrammi delle transizioni di stato
chiamati statechart.
Gli statechart forniscono molti importanti miglioramenti rispetto ai diagrammi delle transizioni di stato, come la
gestione della gerarchia, del parallelismo, delle giunzioni e della storia.
Stateflow incorpora i benefici sia dei
diagrammi delle transizioni di stato sia
degli statechart e vi aggiunge molte
innovazioni come la gestione dei diagrammi di flusso e la generazione efficiente di codice C. Queste caratteristiche rendono Stateflow ideale per lo sviluppo di sistemi di controllo embedded
nel campo automobilistico cos come in
quello aerospaziale e in applicazioni che
riguardano le telecomunicazioni.
21
Figura 1
22
Figura 2
Sappiamo che la pressione del tasto sinistro, gi definito nel modello Simulink,
scatena un evento (Sinistro) che ci porta
nello stato Select. Se a questo punto il
sistema sente che il puntatore (la pallina) si sta muovendo (il dato Muove
assume un valore uguale ad uno), transiteremo nello stato Drag; a questo
punto il rilascio del tasto Sinistro ci
porta nello stato Drop. Se il mouse
ancora in movimento lo stato di arrivo
sar Movimento, mentre se nel frattempo (o anche dopo che si andati
nello stato Movimento) il puntatore si
fermato, andremo nello stato Inattivo.
Naturalmente qualche definizione pu
sembrare mancante a proposito della
determinazione dellappropriato comportamento dellevento Sinistro; in
effetti, dobbiamo dire che levento
Sinistro (come anche altri) viene intercettato dal sistema sia sulla rampa di
salita che su quella di discesa. Vale a
dire che consideriamo un evento di tipo
Sinistro come generato da Simulink e
correttamente ricevuto da Stateflow sia
quando il tasto viene premuto (switch
portato sulla posizione corrispondente
alla costante uno), sia quando il tasto
viene rilasciato. Per fare questo ci si
avvale di unapplicazione a corredo di
Stateflow che viene chiamata Explorer.
Lultimo compito che ci manca quello
che riguarda la definizione del codice di
riconoscimento degli stati, il quale ha il
compito di informare il sistema esterno
Simulink su quale sia il comportamento
della logica del nostro mouse, in modo
che il nostro ipotetico computer sia in
grado di interpretare correttamente i dati
di posizione e di movimento che provengono dalla logica.
Figura 3
Figura 4
23
Inviando
la cartolina allegata,
ricever
la documentazione
gratuita
su Stateflow.
24