Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · -...

56
Tecniche avanzate per la correttezza del software Automi temporizzati e Uppaal Università degli studi di Salerno Prof. Salvatore La Torre Studente: Vincenzo Ceci 1

Transcript of Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · -...

Page 1: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Tecniche avanzate per la correttezza del softwareAutomi temporizzati e Uppaal

Università degli studi di Salerno

Prof. Salvatore La Torre

Studente: Vincenzo Ceci

1

Page 2: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

• Introduzione

• Modellare il tempo

• Overview

• ω-automata

• Automa di Buchi

• Automi temporizzati

• Automa temporizzato di Büchi

• Uppaal

• Applicazione in Uppaal

• Controllo del vuoto

Indice

2

Page 3: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Introduzione• Gli automi permettono di descrivere con precisione e in maniera

formale il comportamento di molti sistemi presenti nel mondo reale

• automi temporizzati• Sequenza di stati o eventi di sistema (execution trace) associata ad una

temporizzazione

• Obiettivo: dare delle specifiche e verificare sistemi real-time modificando gli automi classici

3

Page 4: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Papers usati

• A Theory of Timed Automata (1994) Rajeev Alur and David Dill

4

• An introduction to timed Automata, Patricia Bouyer

• Decision problems for timed automata, Rajeev Alur

Page 5: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Modellare il tempo: tempo discreto

• Richiede che la sequenza temporale sia una sequenza monotona crescente di interi

• Vantaggio: può essere trasformato facilmente in un linguaggio formale classico attraverso dei particolari eventi silenziosi

• Svantaggio: non rappresenta efficientemente gli eventi del mondo reale

• Il tempo discreto descrive il tempo continuo utilizzando dei quantum interi di tempo

• Limitazione sull’accuratezza della rappresentazione

5

Page 6: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Modellare il tempo: tempo continuo

• Sono valori reali che aumentano monotonicamente senza limiti

• Vantaggio: è un modello più naturale per rappresentare i processi fisici

• Svantaggio: è difficile trasformarlo in un linguaggio formale classico

• Sono stati così realizzati linguaggi temporizzati e automi temporizzati per fare ragionamenti su tali sistemi

6

Page 7: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Overview• Analizzeremo gli automi temporizzati, automi a stati finiti con

un insieme finito di clock a valori reali.

• Gli automi temporizzati si basano su altri automi:• ω-automata• Automa di Buchi

• Gli automi temporizzati accettano timed-words• infinite sequenze in cui ad ogni simbolo è associato un tempo a

valori reali di avvenimento

• Caratteristiche• Reset del clock• Vincoli temporali• Transizioni possibili solo se i vincoli temporali sono soddisfatti

7

Page 8: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

ω-automata

• Un ω-linguaggio consiste di parole di lunghezza infinita

• Una ω-parola è una sequenza infinita di simboli su un alfabeto A

• Un ω-automa fornisce una rappresentazione finita per i ω-linguaggi

• E’ simile ad un NFA• Condizione di accettazione modificata per accettare ω-parole

• Formalmente: <Σ, S, S0, E>• Σ alfabeto finito di simboli• S insieme di stati• S0 insieme di stati iniziali• E ∈ S x S x Σ insieme di archi 8

Page 9: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automa di Büchi – definizione formale• Gli automi di buchi inseriscono le condizioni di accettazione

• Formalmente: <Σ, S, S0, E, F>

• Σ alfabeto finito di simboli

• S insieme di stati

• S0 insieme di stati iniziali

• E ∈ S x S x Σ insieme di archi

• F ∈ S

• Una esecuzione r è accettante se e solo se alcuni stati dell’insieme F si ripetono infinite volte lungo r. Formalmente:

• L(A) = {ω | ω ∈Σω ∧ A ha una esecuzione di accettazione su ω }

9

Page 10: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automa di Büchi - Esempio

10

Page 11: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automa di Büchi - Osservazioni

• Un ω-linguaggio è ω-regolare se e solo se è accettato da alcuni automi di Buchi.

• L’automa visto nell’esempio precedente è ω-regolare

• La classe dei linguaggi ω-regolari è chiusa in tutte le operazioni booleane.

11

Page 12: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati - Introduzione• Utilizzano timed-words caratterizzate da:

• Simbolo

• Valore di tempo ( il dominio del tempo è l’insieme dei numeri reali)

• Obiettivo:• estendere la definizione di ω-automa in modo che essi accettano le

timed-words

• realizzare una teoria per i linguaggi timed-regular

12

Page 13: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati - timed-words

• Una sequenza di tempo t= t1 t2 … è una sequenza infinita di valori di tempo ti ∈ R con ti>0, che soddisfano i seguenti vincoli:

• Monotonia: per ogni i>=1, ti < ti +1

• Progresso: per ogni p ∈ R, c’è qualche i>=1 tale che ti > p

• Una timed-word su un alfabeto Σ è una coppia (w,t) dove w=w1 w2

… è una parola infinita su Σ e t è una sequenza di tempo

• Se una parola temporizzata (w, t) è data in input ad un automa, al tempo ti viene letto il simbolo wi

13

Page 14: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati – Esempio 1

Temporizzato

Non

temporizzato

14

Page 15: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati – Esempio 2

15

Page 16: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati - Vincoli e interpretazione di clock

• I vincoli di clock possono essere definiti usando un insieme Φ(x) di vincoli δ

• Una interpretazione di clock v per un insieme di clock X assegna un valore reale ad ogni clock, ciò è possibile quando tutti i vincoli su quel clock sono soddisfatti

16

Page 17: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati - Definizione formale

• <Σ, S, S0,C, E>

• Σ alfabeto finito di simboli

• S insieme finito di stati

• S0 insieme di stati iniziali

• C insieme finito di clock

• E ∈ S x S x Σ x 2C x Φ(C)

• Un arco <s, s’, a, λ, δ> rappresenta una transizione dallo stato s allo stato s’ su input a. λ è l’insieme dei clock e δ è un vincolo di clock

17

Page 18: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automi temporizzati - Esecuzione temporizzata

• R è un’esecuzione in cui sono soddisfatti i seguenti requisiti:• Inizializzazione: <S0, V0>

• Successione

18

Page 19: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automa temporizzato di Büchi• Un automa temporizzato di Büchi (TBA) è una tupla <Σ, S, S0,C, E, F>

• Σ alfabeto finito di simboli• S insieme finito di stati• S0 insieme di stati iniziali• C insieme finito di clock• E ∈ S x S x Σ x 2C x Φ(C) • F insieme di stati finali

• Un’esecuzione r su una parola temporizzata (w,t) è chiamata esecuzione accettante se e solo se inf(r) F ∅.

• Per un TBA D, il linguaggio L(D) delle timed-words è:• {(w,t) | D ha una esecuzione accettante su (w,t)}

• Per ogni linguaggio ω-regolare L, il linguaggio temporizzato {(w, t)| w ∈ L} è regolare

• Un linguaggio temporizzato e’ regolare se esiste un automa di Büchitemporizzato che lo accetta.

• La classe dei linguaggi regolari temporizzati e’ chiusa sotto l’unione e l’intersezione, ma non sotto il complemento. 19

Page 20: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

20

Automa temporizzato di Büchi

Sia dato il seguente linguaggio e il relativo automa:

- Il complemento di questo linguaggio non può essere rappresentato da un TBA

- Il complemento dovrebbe assicurarsi che nessuna coppia di ‘a’ sia separata a distanza 1

- tenere traccia dei tempi di tutte le ‘a’ in una unità di tempo richiederebbe un numero infinito di clock.

Page 21: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automa temporizzato di Büchi - esempio

21

Page 22: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

22

Automa temporizzato di Büchi -Convergenza temporale

Per un linguaggio regolare temporizzato si possono verificare molti simboli in un intervallo di tempo finito.Inoltre, i simboli possono essere arbitrariamente vicino a ciascun altro.

Una parola accettata è:

Se richiediamo che tutti i valori di tempo τi siano multipli di qualche costante fissata ε, il linguaggio accettato dall’automa sarebbe vuoto.

Page 23: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal - panoramica- Strumento utilizzato per la modellazione, validazione e verifica di

sistemi real-time modellati come reti di automi temporizzati

- Sviluppato in collaborazione con la Uppsala University e la Aalborg

University

- Consiste in due parti principali:

- Una Graphical User Interface (GUI)

- Un model-checker engine

23

Page 24: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal - panoramica- Tecnica «on-the-fly» per risolvere il problema dell’esplosione

combinatoria

- Tecnica simbolica semplificata per ridurre il problema della verifica in

semplici sistemi di vincoli lineari

- Verifica basata sulla costruzione dell’automa delle regioni [slide

integrative]

- Trasformazione in un automa il cui problema del vuoto è finito

- Esecuzione di diversi algoritmi (reachability, safety ecc)

- Utilizzo di «zone di clock» per risolvere ulteriormente eventuali

esplosioni di stati

24

Page 25: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

25

Uppaal – panoramica – automa delle regioni

- Negli automi temporizzati si ha un numero infinito di configurazioni

- coppie (stato – tempo) infinite

- Sono state sviluppate tecniche simboliche e astrazioni, che tengano

comunque in considerazione le proprietà specifiche degli automi

temporizzati

- L’automa delle regioni riduce il modello da temporizzato a non

temporizzato

- Non tutto si può ridurre ad un caso non temporizzato finito, infatti il

problema dell’universalità degli automi temporizzati è indecidibile.

Page 26: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

26

Uppaal – panoramica – automa delle regioni

- Automa delle regioni: a partire dall’automa temporizzato, creare una

astrazione con comportamenti finiti

- La verifica della reachability property in un automa temporizzato si riduce

alla verifica della reachability property in un automa a stati finiti.

- Partizionamento in regioni:

- Insieme finito di clock X

- R partizione finita di di Tx

- C insieme finito di vincoli di X

- Tre condizioni di compatibilità su R :- Due valutazioni equivalenti soddisfano gli stessi clock

- L’intercorrere del tempo non distingue due valutazioni equivalenti

- Il reset dei clock non distingue due valutazioni equivalenti

Page 27: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

27

Uppaal – panoramica – automa delle regioni

- Se R soddisfa queste tre condizioni, diremo che R è un gruppo di

regioni per l'insieme dei vincoli C

- R definisce una relazione di equivalenza tra le valutazioni

- v ≡R v’ se e solo se per ogni regione R di R, v ∈ R ⇐⇒ v’ ∈ R

- L’automa delle regioni simula in qualche modo l’automa

temporizzato di partenza:

- Un gruppo di transizioni simula azioni discrete, mentre il

secondo tipo di transizioni simula l’intercorrere del tempo

Page 28: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Per un’esecuzione r di A del tipo:

Definiamo la sua proiezione [r] = (s, [v]) come:

28

Uppaal – panoramica – automa delle regioni

Page 29: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

29

Uppaal – panoramica – automa delle regioni

Proprietà fondamentale:- Sia A un automa temporizzato con insieme di vincoli C. Assumiamo che possiamo costruire un insieme di regioni R per C. Allora

- Dove L(ΓR (A)) è il linguaggio (non temporizzato) accettato da ΓR (A)- Più precisamente, ogni volta che in A è possibile attendere qualche ritardo

e poi viene effettuata la transizione su ‘a’, allora in ΓR (A) è possibile

prendere diverse ε- transizioni e poi effettuare la transizione su ‘a’, e viceversa.

- In questo modo la verifica della reachability property in A si riduce alla verifica della reachability in ΓR (A).

Page 30: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal – ambiente di sviluppomenu

icone

tabs

30

Page 31: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal - editor

- Un modello sviluppato in Uppaal è visto come un insieme di processi

concorrenti (rete di automi), scritti con un linguaggio simil C.

- Ogni processo è graficamente visto come un automa temporizzato

- Un automa temporizzato è costruito all’interno della finestra «editor»

attraverso gli elementi grafici, tipici di un automa.

31

Page 32: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal - editor - archiGli archi sono generalmente annotati con guardie, updates,

synchronizations:

Un update è un’espressione di assegnamento, utilizzata per cambiare lo

stato del sistema

Una guardia è un’espressione che utilizza le variabili e i clock per

indicare quando una transizione è permessa

32

Page 33: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal – editor - archiLa sincronizzazione è il meccanismo usato per coordinare l’azione di due o più processi.

- Dichiarata attraverso un channel c (all’interno del file «declarations» , dichiara con «chan

c» ). Successivamente un processo avrà un arco annotato con «c!» e gli altri processi

avranno l’annotazione sugli archi con «c?»

3 tipi di sincronizzazioni:

- regular channel (dichiarato con «chan c», c! si sincronizza con un unico ricevente c?)

- urgent channel (dichiarato con «urgent chan c», la transizione viene effettuata subito.

Non possono essere specificati vincoli di tempo sugli archi)

- broadcast channel (dichiarato con «broadcast chan c», c! si sincronizza con un numero

arbitrario di riceventi c?))33

Page 34: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal – editor - positions e invariants

- Hanno un nome opzionale

- Possono essere di tre differenti tipi

- Normal: classico

- Urgent: blocca il tempo

- Committed: blocca il tempo, inoltre il sistema

dovrà uscire dallo stato committed prima che

ricominci ad avanzare il tempo

- E’ possibile assegnare a dei positions delle

invarianti

- Le invarianti sono condizioni che devono essere sodisfatte mentre l’automa si trova in

quella position. Essi possono essere definite attraverso variabili e clocks 34

Page 35: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal – simulatore- permette all’utente di simulare in modo interattivo e grafico il

comportamento dinamico del sistema

- 3 modalità: manuale, random, selezione

35

Page 36: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal – Verificatore- La fase successiva è verificare che il modello verifica delle proprietà

- Le proprietà devono essere scritte in un linguaggio per query specifico di Uppaal (TCTL)

- I tipi di proprietà che possono essere espresse in «Uppal query language» possono essere classificate

come:

- Reachability properties: «proprietà di raggiungibilità»

- E<> p : partendo dallo stato iniziale,

esiste un path e uno stato in cui p è

soddisfatta.

36

Page 37: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

- Safety properties: «proprietà di sicurezza»

Uppaal – Verificatore

- A[] p : Partendo dallo stato iniziale, per ogni

path e per ogni stato la proprietà P è

soddisfatta.

- E[] p : Partendo dallo stato iniziale, esiste un pathtale che per ogni stato la proprietà P è soddisfatta.

37

Page 38: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

- A<>p : Partendo dallo stato iniziale, per ogni

path esiste uno stato per cui P è soddisfatta

Uppaal – Verificatore- Liveness properties:

- . qp: Partendo dallo stato iniziale, per ogni

path in cui Q è soddisfatta, allora anche P lo

sarà durante il path.

- Deadlock properties: . Uno stato è in deadlock se è impossibile che un modello si evolva ad uno stato successivo.

- E<> deadlock, esiste un deadlock.

- A[] not deadlock, non c’è un deadlock. 38

Page 39: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Uppaal – Verificatore

39

Page 40: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Applicazione in Uppaal – Editor (1)- Rappresentazione del sistema: Attraversamento di un treno in un passaggio a livello

- Due automi che interagiscono tra loro:

- Treno: può trovarsi lontano, vicino al passaggio a livello, sul passaggio a livello;

- Barriera: può essere alzata, in abbassamento, abbassata, in alzamento.

Automa «Treno» File «Declarations» dell’automa «Treno»

Modellazione del treno:

40

Page 41: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Automa «Barriera» File «Declarations» dell’automa «Barriera»

Modellazione della barriera:

Applicazione in Uppaal – Editor (2)

41

Page 42: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Applicazione in Uppaal – Editor (3)

File «Declarations» globale

Dichiarazione variabili globali

- Exit: determina l’avvenuto attraversamento

del treno

- app: determina l’imminente arrivo del treno

File «System declarations»

Dichiarazione dei sistemi modellati

«Treno» e «Barriera»

42

Page 43: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Applicazione in Uppaal - Simulatore

43

Page 44: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Applicazione in Uppaal - Verificatore

44

Page 45: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

SLIDE INTEGRATIVE

45

Page 46: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoIntroduzione

• Ci concentriamo sugli automi di Buchi su parole untimed

• Useremo, come restrizione dei vincoli di clock, delle costanti intere

• Per il controllo del vuoto realizzeremo un automa equivalente, chiamato «automa delle regioni»

• Stati visti come «regioni di clock»

• Archi realizzati attraverso il concetto del «time successor»

46

Page 47: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoStato esteso

Dato un automa temporizzato < Σ,S,S0,C,E>, uno stato esteso è dato da

una coppia <s,v>, dove sS e v è una interpretazione per i clock C.

Se per due stati estesi i valori dei clock hanno la stessa parte intera e lo

stesso ordine sulla parte frazionaria, allora i cammini a partire dai due

stati sono gli stessi.

Dato tR, fract(t) denota la parte frazionaria e t la parte intera. t = t

+fract(t)

47

Page 48: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Sia A=<S,S,S0,C,E> un automa temporizzato.

Per ogni xC sia cx la piu’ grande costante tale che xcx o xcx

che occorre in E.

La relazione di equivalenza ~ è definita sull’insieme delle

interpretazioni per C: v~v’ se e solo se valgono le seguenti

condizioni:

1. per tutti gli xC v(x) e v’(x) hanno lo stesso valore oppure

v(x) e v’(x) sono entrambi maggiori di cx

2. per tutti gli x,yC con v(x) cx e v(y) cy, fract(v(x)) fract(v(y))

se e solo se fract(v’(x)) fract(v’(y))

3. per tutti gli xC con v(x) cx, fract(v(x)) =0 se e solo se

fract(v’(x)) =0

Una regione di clock è una classe di equivalenza di ~, denotata [v]

Controllo del vuotoStato esteso e regione di clock

48

Page 49: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoStato esteso e regione di clock – esempio (1)

• Si consideri un automa temporizzato con due clock, x e y, e cx=2, cy=1.

6 vertici (es vertice rosso: X=0 y=1)

14 segmenti (es linea rossa: 0<x=y<1)

8 regioni (es area rossa: 1<x<2

0<y<1 fract(x)<fract(y))

49

Page 50: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoStato esteso e regione di clock – esempio (2)

50

Page 51: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

• Una regione a’ è un time-successor della regione a se e solo se per ogni va, esiste un tR, positivo, tale che v+ta’.

Controllo del vuotoTime successor

51

Page 52: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoAutoma delle regioni • Indicheremo con R(A) una regione dell’automa temporizzato A

Stati:

• Uno stato della regione è caratterizzato da <Si, [vi]>

• Quando A si trova nello stato esteso <s, v>, R(A) si trova nello stato <s, [v]>

• Lo stato iniziale dell’automa della regione è <S0, [v0]>

Archi:

• R(A) ha un arco < <s, [v]>, <s’, [v’]>, a> se e solo se:

• C’è un arco <s, s’, a, λ, δ> ∈ E e una regione [v’’] tale che:

• [v’’] è un time successor di [v]

• [v’’] soddisfa i vincoli temporali δ

52

Page 53: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoAutoma delle regioni - Esempio

53

Page 54: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoEsecuzioni a confronto

Per un’esecuzione r di A del tipo:

Definiamo la sua proiezione [r] = (s, [v]) come:

54

Page 55: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

Controllo del vuotoOsservazioni

• Un automa temporizzato accetta il linguaggio vuoto se e solo se il suo automa delle regioni accetta il linguaggio vuoto

• Il vuoto viene calcolato sull’automa delle regioni che si riduce ad un semplice problema di raggiungibilità dei grafi

• La complessità dell’algoritmo del vuoto dipende dalla taglia dell’automa delle regioni

55

Page 56: Automi temporizzati e Uppaal - INTRANETlatorre/didattica/TACS/Seminari/AutomiTempori... · - Strumento utilizzato per la modellazione, validazione e verifica di sistemi real-time

GRAZIE PER L’ATTENZIONE

56