Proprietà di decisione negli automi temporizzati
Il problema di decisione del vuoto consiste nello stabilire se un automa temporizzato accetta almeno una sequenza temporizzata.
E’ come visto un problema essenziale per la verifica di sistemi in quanto usato nell’approccio alla verifica mediante teoria degli automi per determinare se esiste almeno una sequenza temporizzata che viola le proprietà desiderate del sistema.
La possibilità di decidere il problema del vuoto e la complessità della decisione sono dunque fattori essenziali nelle attività di verifica e in particolare di model checking.
Situazione nel caso non temporizzato (Automi di Büchi)
L’LTS di un automa di Büchi è finito (numero finito di stati e di transizioni)
Il problema della raggiungibilità di uno stato è un semplice problema di raggiungibilità di un nodo dal nodo iniziale in un grafo (complessità lineare nella taglia dell’LTS).
Il problema del vuoto è un semplice problema di raggiungibilità, in un grafo, di un ciclo contenente almeno uno stato finale (complessità lineare nella taglia dell’LTS).
Situazione nel caso temporizzato (Automi Temporizzati)
L’LTS di un automa temporizzato definito dalla semantica ha taglia non finita per la presenza di un dominio temporale infinito (denso).
L’ LTS definito dalla semantica presenta un numero infinito di stati.
Ad uno stato è associato ad una delle possibilmente infinite funzioni di valutazione degli orologi.
L’ LTS definito dalla semantica presenta un numero infinito di transizioni.
Anche in presenza di un numero finito di stati il numero di possibili transizioni che regolano l’avanzamento temporale in un dominio denso sono infinite.
Fortunatamente, ai fini della risoluzione del problema del vuoto, l’informazione contenuta nell’LTS è ridondante.
E’ possibile trovare una rappresentazione finita dell’LTS che permetta di risolvere equivalentemente il problema del vuoto.
La tecnica per la astrazione dell’informazione temporale si chiama regionalizzazione.
La rappresentazione dell’LTS equivalente ai (soli) fini della risoluzione del problema del vuoto si chiama Automa delle regioni (di fatto, un automa di Büchi).
Tecnica per l’astrazione dell’informazione temporale (valutazioni degli orologi).
Idea: definire una relazione di equivalenza che metta in relazione una coppia di valutazioni solo quando possano in tutte le occasioni influenzare allo stesso modo l’evoluzione dell’automa temporizzato in considerazione.
Se due valutazioni v e v’ degli orologi sono poste in relazione di equivalenza
allora deve essere rispettata la seguente proprietà di correttezza
Per ogni locazione Loc e per ogni transizione t
esiste una transizione mediante t dallo stato (Loc,v)
se solo se
esiste una transizione mediante t dallo stato (Loc,v’)
Il problema diventa ora:
Notazione
La relazione di equivalenza è tale per cui
se e solo se le tre seguenti condizioni sono soddisfatte
Una classe di equivalenza indotta dalla reazione di equivalenza è detta regione.
Regioni puntuali corrispondenti a valutazioni intere (condizioni 1 e 2 di equivalenza)
X=0, y=0
X=0, y=1
X=1, y=0
X=1, y=1
Semirette (condizioni 1 e 2 di equivalenza)
X=0, y > 1
X=1, y > 1
X > 1, y=0
X > 1, y=1
Segmenti di retta
X = 0, 0 < y < 1
X = 1, 0 < y < 1
0 < x < 1, y = 0
0 < x < 1, y = 1
0 < x < 1, 0 < y < 1, x=y
Aree
X > 1, y > 1
X > 1, 0 < y < 1
0 < x < 1, y > 1
0 < x < 1, 0 < y < 1, x < y
0 < x < 1, 0 < y < 1, x > y
Come illustrato nell’esempio tutte le regioni possono essere descritte da una opportuna combinazione di disequazioni sui valori degli orologi.
Ogni regione può essere rappresentata scegliendo.
Per ogni orologio x una disequazione dall’insieme
Per ogni coppia di orologi x e y se i vincoli scelti sono entrambi della forma
si sceglie uno dei seguenti vincoli.
Visto l’aspetto combinatorio è possibile dare la seguente limitazione superiore al numero di regioni.
Il numero di regioni è finito.
Dipende esponzialmente dal numeo di orologi e dalla costante massima nei vincoli.
La nozione di tempo-successore tra le regioni permette di stabilire come ci si sposta tra le regioni quando il tempo avanza.
Una regione R’ è tempo-successore di una regione R (succ(R,R’)) se e solo se per ogni valutazione esiste un tempo t tale che
Esempio: le regioni tempo-successori di
R(0 < x <1,y=0) sono le regioni toccate dalla semiretta tracciata in figura:
X =
1,0<y<1
0 < x < 1, y = 0
0 < x < 1, 0 < y < 1, x>y
X > 1, y > 1
X > 1, 0 < y < 1 X > 1, y = 1
L’insieme delle regioni definito permette di costruire un automa delle regioni per l’automa temporizzato TA.
L’automa delle regioni è un automa di Büchi i cui stati sono coppie.
Una locazione dell’automa TA (parte di controllo).
Una regione che codifica l’informazione temporale astratta sull’esecuzione.
Ciascuna transizione dell’automa delle regioni riassume tre passi fondamentali.
Un avanzamento temporale da una regione R si sceglie una regione successore R” tale che succ(R,R”).
Una transizione di TA che soddisfa i suoi vincoli temporali nella regione R”.
Una operazione di reset degli orologi che modifica la regione R” nella regione R’ da associare alla locazione di destinazione della transizione.
Sia e Reg(TA) l’insieme delle regioni per TA.
L’automa delle regioni è un automa di Büchi
(la regione della valutazione iniziale)
Vale il seguente risultato.
Un automa temporizzato TA accetta il linguaggio vuoto se e solo se il suo automa delle regioni RA(TA) accetta il linguaggio vuoto.
Il problema del vuoto per gli automi temporizzati è decidibile perché il problema del vuoto su un automa di Buchi può essere risolto in tempo lineare.
La complessità dell’algoritmo proposto per il problema del vuoto dipende dalla taglia dell’automa delle regioni.
La taglia dell’automa delle regioni dipende direttamente dal numero delle regioni dell’automa (esponenziale nel numero degli orologi e delle costanti di confronto nelle valutazioni temporali)
La costruzione evidenzia che, nel caso generale, il problema di verificare un sistema temporizzato ha in genere un costo computazionale superiore a quello della verifica di un sistema non temporizzato.
E’ dimostrabile che la complessità del problema del vuoto per Automi temporizzati è PSPACE-completo.
Nell’esempio sono riportati solo gli stati effettivamente raggiungibili dallo stato iniziale.
Si osservi che nell’esempio l’analisi dell’automa temporizzato porta a predire che il linguaggio accettato non è vuoto: esiste infatti un ciclo che comprende stati di accettazione (comprendenti le locazioni o
.
Si osserva che non tutti gli stati hanno archi uscenti.
Ad esempio, dallo stato con regione x>1, y=0 non è possibile trovare alcuna regione successore che soddisfi il vincolo x=1.
Le computazioni che arrivino ad un tale stato non potendo proseguire non potranno essere computazioni accettanti.
1. Introduzione ai metodi formali di specifica
2. Semantica dei formalismi di specifica
3. Astrazione e Bisimulazione debole
4. FSM: Macchine a Stati Finiti
5. FSM: Non-determinismo e succintezza
7. FSM e Parallelismo – seconda parte
8. FSM e Parallelismo – terza parte
9. Promela
10. Specifica e verifica in SPIN
11. Proprietà di liveness in SPIN
12. Specifica di proprietà in Logica Temporale Lineare
13. Comportamenti infiniti: Automi di Büchi
14. Model checking di LTL basato su automi
15. Specifica di sistemi real time: Automi Temporizzati
16. Proprietà degli Automi Temporizzati
17. Problemi di decisione negli Automi Temporizzati
18. Il sistema di verifica UPPAAL