Introduzione alla specifica di sistemi con proprietà temporali critiche.
Il formalismo degli automi temporizzati (Timed Automata):
La correttezza dei comportamenti in sistemi temporalmente critici (Time Critical) non dipende solo dalla forma e dai valori delle interazione con l’ambiente che avvengono nella computazione ma anche dai precisi istanti temporali in cui interazioni e scambi di valori avvengono.
Non basta il solo ordinamento delle transizioni/azioni o più in generale l’informazione causale tra le transizioni/azioni;
L’informazione temporale legata ad ogni transizione/azione in un comportamento non può essere trascurata (astratta).
Esempi di vincolo temporizzati per sistemi time critical
I formalismi di specifica fin ora considerati:
Gli automi temporizzati (Timed Automata) sono una estensione degli automi di Büchi.
Come gli automi di Büchi, i Timed Automata intrattengono un rapporto continuativo con l’ambiente (comportamento infinito)
I Timed Automata sono diagrammi stato-transizione decorati con vincoli temporali.
A differenza degli automi di Büchi ad ogni passo di reazione la scelta del prossimo stato non dipende solo dallo stato corrente e dallo stimolo fornito dall’ambiente ma può anche dipendere dai tempi in cui lo stimolo corrente e quelli
precedenti sono occorsi.
L’informazione temporale (avanzamento del tempo) è associata ad orologi (Clock) che registrano l’avanzare del tempo.
Operazioni sugli orologi:
Ad ogni istante, il valore temporale segnato da un orologio è pari al tempo trascorso dal suo ultimo azzeramento.
Un clock è una variabile interpretata su un dominio numerico positivo denso:
Con riferimento alla struttura di una transizione:
Una transizione può scattare quando il trigger viene recepito e la condizione temporale è soddisfatta.
Allo scatto della transizione gli orologi indicati vengono azzerati.
Per esprimere costanti temporali si assume di adottare il dominio temporale dei razionali positivi .
Dato un insieme di orologi C, l’insieme dei vincoli ,
è formato secondo la seguente sintassi
con .
Nella definizione:
Sono possibili definizioni alternative che prevedono
Sintatticamente gli automi temporizzati sono una estensione degli automi di Büchi.
Un Automa Temporizzato è una tupla
, dove
è l’alfabeto di input;
Loc è l’insieme finito delle locazioni (gli stati di un automa di Büchi);
è la locazione iniziale;
C è l’insieme degli orologi;
è la relazione di transizione;
è la funzione di invarianza;
è l’insieme delle locazioni finali.
La relazione di transizione descrive transizioni decorate da una tripla che comprende un simbolo di trigger, un vincolo temporale e un insieme di orologi da azzerare.
La funzione di invarianza associa un vicolo ad ogni locazione, vincolo che deve essere soddisfatto per poter permanere nella locazione associata.
La condizione di accettazione è uguale a quella degli automi di Büchi.
Il flusso delle interazioni tra ambiente e automa è descritto nel caso degli automi da sequenze temporizzate.
Una sequenza temporizzata è una sequenza di coppie
una sequenza infinita di simboli in che descrive la sequenza di interazioni.
una sequenza infinita di valori del dominio temporale che fornisce i tempi delle interazioni.
Alternativamente, si può vedere una sequenza temporizzata come una coppia di funzioni :
Esempio di automa temporizzato su un orologio x.
Le locazioni hanno invariante True (assenza di vincolo)
Le transizioni con trigger b e c azzerano l’orologio
La sequenza temporizzata è compatibile con due cicli iniziali che attraversano la locazione ed un terzo ciclo che attraversa la locazione .
Negli automi temporizzati il tempo di scatto di una transizione controllata da trigger è determinato dal tempo di trasmissione del trigger.
Se non vi sono transizioni interne, le uniche evoluzioni possibili (a parte lo scorrere del tempo), sono determinate dai trigger e dai loro tempi.
Viceversa, la risposta ad un trigger è obbligatoria. Un comportamento che non sia in grado di rispondere ad un trigger (eseguendo una transizione) al tempo di diffusione del trigger è escluso dai comportamenti di successo dell’automa (determina il blocco dell’automa e i comportamenti di successo sono infiniti).
Le transizioni interne o -transizioni, eventualmente presenti, permettono di avere transizioni di controllo che possono avvenire in assenza di trigger esterni.
Negli automi temporizzati il tempo di scatto di una -transizione:
Gli invarianti di stato sono l’unico strumento per forzare l’evoluzione di un automa temporizzato in assenza di trigger esterni.
In Figura, la transizione t potrebbe essere preferita alla transizione t’ perché la sua condizione temporale è soddisfatta prima.
Non è possibile forzare questa forma di urgenza.
Non è possibile neppure forzare l’esecuzione di almeno una delle due transizioni al tempo dovuto.
La transizione t” è invece forzata a scattare al più tardi quando l’orologio segna il tempo 3 (per tempi superiori l’invariante non è soddisfatto e non si può permanere nello stato sorgente).
Lo scatto avverrà necessariamente in un tempo che soddisfi .
All’interno dell’intervallo la scelta è non-deterministica.
Le sequenze temporizzate sono significative per la descrizione del comportamento di un sistema solo se soddisfano due proprietà:
Monotonia:
per ogni ;
Progresso:
per ogni .
Monotonia: impone compatibilità tra ordinamento dei trogger nella sequenza e ordine temporale.
Si osservi che la monotonicità consente che due o più interazioni con l’ambiente avvengano nel medesimo istante temporale.
Progresso: impedisce che vi sia un numero infinito di interazioni con l’ambiente concentrate in un intervallo finito di tempo.
Soddisfacimento di un vincolo temporale.
Una funzione di valutazione degli orologi è una funzione
che associa un valore temporale ad ogni orologio (il tempo passato dall’ultimo azzeramento).
Val(C) indica l’insieme di tutte le possibili valutazioni degli orologi in C
Si osservi che l’insieme Val(C) ha cardinalità infinita.
Data una valutazione degli orologi v, un vincolo temporale è soddisfatto se , dove
Aggiornamento di una valutazione per avanzamento temporale
Data una valutazione v, l’avanzamento temporale uniforme degli orologi per un quantitativo di tempo t è dato dalla valutazione v+t dove
Aggiornamento di una valutazione per azzeramento degli orologi
Data una valutazione v e un insieme di orologi Y contenuto in C, l’azzeramento temporale degli orologi in Y (reset) è dato dalla valutazione v-Y, dove
Sia un automa temporizzato.
La semantica degli automi temporizzati viene data definendo un LTS
Lo stato raccoglie informazioni sul controllo e sulla valutazione corrente degli orologi.
Gli stati iniziali hanno valutazione dei clock a tempo zero.
con
Due tipi di transizioni nell’LTS
(1) Il tempo avanza di un quantità t (avanzamento temporale).
L’automa non cambia locazione.
L’avanzare del tempo non deve violare l’invariante della locazione corrente.
Tutti gli orologi avanzano della medesima quantità di tempo t.
(2) L’automa cambia locazione (avanzamento controllo).
Il tempo è bloccato (non avanza).
La nuova locazione raggiunta deve soddisfare l’invariante temporale
Alfabeto delle transizioni dell’LTS
per avanzamento temporale.
per avanzamento del controllo.
L’LTS per l’automa
ha relazione di transizione
L’insieme di transizioni è l’unione dei due seguenti insiemi di transizioni
(1) Il tempo avanza di un quantità t:
(2) L’automa cambia locazione
Anche se il numero di locazioni dell’automa è finito, l’LTS della sua semantica ha
L’LTS definito è un LTS temporizzato che soddisfa la proprietà espressa in figura.
Se esite un avanzamento temporale t e t=t’+t” allora esiste anche un avanzamento t’ a cui fa seguito un avanzamento t”
Esempio di automa temporizzato che permette di esprimere caratteristiche legate alla densità del dominio temporale.
In generale:
In un intervallo finito di tempo possono verificarsi un numero finito ma arbitrariamente grande di interazioni con l’ambiente
la distanza di due interazioni successive può essere arbitrariamente piccola.
Nell’automa in figura i comportamenti accettati sono quelli in cui la sequenza delle differenze temporali tra una occorrenza di a e l’occorrenza successiva di b è strettamente decrescente.
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