La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Automi temporizzati. -linguaggi e -automi (1) Un -linguaggio su un alfabeto finito e un sottoinsieme di, linsieme di tutte le stringhe infinite su. Una.

Presentazioni simili


Presentazione sul tema: "Automi temporizzati. -linguaggi e -automi (1) Un -linguaggio su un alfabeto finito e un sottoinsieme di, linsieme di tutte le stringhe infinite su. Una."— Transcript della presentazione:

1 Automi temporizzati

2 -linguaggi e -automi (1) Un -linguaggio su un alfabeto finito e un sottoinsieme di, linsieme di tutte le stringhe infinite su. Una tabella di transizione A e una quadrupla dove alfabeto di input S insieme finito di stati S 0 S insieme di stati iniziali E S S insieme di archi

3 -linguaggi e -automi (2) Lautoma descritto dalla tabella - parte da uno stato iniziale, - se E e si trova nello stato s leggendo il simbolo a passa nello stato s Per una stringa = … su r = s 0 s 1 s 2 … e un run di A su purche s 0 S 0 e E per i

4 -linguaggi e -automi (3) Per un run, linsieme inf(r) consiste degli stati s S tali che s=s i per un numero infinito di i 0.

5 Automi di Büchi (1) Un automa di Büchi e una tabella di transizione con un insieme addizionale F S di stati di accettazione. Un run di A su una stringa e un run di accettazione se inf(r) F. Almeno uno stato di accettazione deve essere ripetuto infinite volte.

6 Automi di Büchi (2) Il linguaggio accettato da A consiste delle stringhe tali che A ha un run di accettazione leggendo. s0s0 s1s1 a,b a a Lautoma accetta tutte le stringhe su {a,b} con un numero finito di b. Un -linguaggio e regolare se e accettato da un automa di Büchi.

7 Automi di Büchi (3) L 1 dopo una occorrenza di a ci sono occorrenze di b s0s0 s1s1 b,c a a,c b – L1 s0s0 s1s1 a,b,c a a,c

8 Automi di Büchi (4) tra due occorrenze di a, ce un numero pari di occorrenze di b e c (anche zero) s0s0 s1s1 b,c a a s2s2

9 Automi di Büchi (5) Teorema Se L da A e riconoscibile da un automa A (regolare) allora lo e anche –L. Inoltre e possibile costruire lautoma per –L. Teorema La classe degli -linguaggi regolari e chiusa sotto le operazioni booleane.

10 Automi di Büchi (6) Teorema E decidibile se il linguaggio riconosciuto da un automa di Büchi e vuoto. Teorema E decidibile linclusione tra due -linguaggi regolari L 1 e L 2. Dimostrazione Basta dimostrare che e vuota lintersezione L 1 w -L 2.

11 Automi di Büchi (7) Un automa di Büchi A= e deterministico se e solo se - ce un singolo stato iniziale (|S 0 |=1), - il numero di archi etichettati da, uscenti dallo stato s, e al piu uno per tutti gli stati s S e tutti i simboli. La classe dei linguaggi riconosciuti dagli automi deterministici e strettamente contenuta in quella degli -linguaggi regolari.

12 Automi di Büchi (8) s0s0 s1s1 a,b a a Non ce nessun automa deterministico che riconosce (a+b) * a

13 Automi di Muller (1) Un automa di Muller A e una tabella di transizione con una famiglia di insiemi di stati di accettazione, (S). Un run di A su una stringa e un run di accettazione se inf(r). Linsieme di stati ripetuti infinite volte e uguale a un insieme di.

14 Automi di Muller (2) = {{s 1 }} Automa di Muller deterministico che riconosce (a+b) * a Teorema La classe di linguaggi riconosciuta dagli automi di Muller e la stessa di quella riconosciuta da quelli di Büchi e da quelli di Muller deterministici. s0s0 s1s1 b a a b

15 Linguaggi temporizzati (1) Modello del tempo: numeri reali non negativi, R. Una sequenza temporale = … e una sequenza infinita di valori i R che soddisfa: 1.monotonicita: 1 2, i 1. 2.progresso: per ogni R ce un i 1 tale che i.

16 Linguaggi temporizzati (2) Una stringa temporizzata su e (, ) dove = … e una stringa infinita su e e una sequenza temporale. Un linguaggio temporizzato su e un insieme di stringhe temporizzate su. Una stringa temporizzata puo essere vista come input ad un automa. Il simbolo i e presentato al tempo i.

17 Linguaggi temporizzati (3) Il Linguaggio L 1 ={(, )| per ogni i, ( i 5.6) ( i a)} su {a,b} e il linguaggio delle stringhe temporizzate in cui non ci sono b dopo il tempo 5.6. Il Linguaggio L 1 ={((ab), )| per ogni i, ( 2i 2i-1 ) ( 2i+2 2i+1 )} su {a,b} e il linguaggio delle sequenze di a e b in cui le differenze tra i tempi delle a e delle b aumentano.

18 Linguaggi temporizzati (4) Per un linguaggio L su, Untime(L) e l -linguaggio composto dalle stringhe tali che per (, L per qualche sequenza temporale. Esempio Untime(L 1 )=(a+b) * a Untime(L 2 )=(ab)

19 Automi temporizzati (1) La tabella di transizione e estesa a tabella di transizione temporizzata. Lo stato successivo dipende non solo dal simbolo letto, ma anche dal tempo del simbolo letto rispetto ai tempi dei simboli precedenti. Alla tabella e associato un insieme di orologi. Un orologio puo essere azzerato da una transizione. In qualsiasi istante il valore di un orologio da il tempo passato dal suo ultimo azzeramento. Ogni transizione puo avere un vincolo sul valore degli orologi.

20 Automi temporizzati (2) s0s0 s1s1 a, x:=0 a, (x<2)? L 1 ={((ab), )| per ogni i, 2i 2i-1 }

21 Automi temporizzati (3) s0s0 s1s1 a, x:=0 c, (x<1)? L 1 ={((abcd), )| per ogni i, ( 4j+3 4j+1 ) e ( 4j+4 4j+2 ) } s2s2 s3s3 b, y:=0 d, (y>2)?

22 Automi temporizzati (4) Dato un insieme di orologi X, linsieme (X) di vincoli sugli orologi e definito induttivamente come = x c | c x | | 1 2 c costante intera Uninterpretazione per un insieme di orologi X e una funzione da X a R, X R. Una interpretazione per X soddisfa un vincolo se e solo se e valutato a vero per i valori dati da.

23 Automi temporizzati (5) Per R, denota linterpretazione che assegna a x il valore (x). Per Y X, [Y ]n denota linterpretazione che assegna a ciascun orologio y Y e assegna (z) a tutti gli orologi z Y.

24 Automi temporizzati (6) Una tabella di transizione temporizzata A e data da una quintupla, dove alfabeto di input S insieme finito di stati S 0 S insieme di stati iniziali C insieme di orologi E S S (C) (C) insieme di archi Una transizione e dove C da linsieme di orologi che la transizione azzera. Un automa di Büchi ha in piu linsieme F degli stati di accettazione.

25 s0s0 s1s1 b b, (x<2) L 1 ={((ab), )| per ogni i esiste j i: 2j 2j-1 } s2s2 s3s3 a, {x} Automi temporizzati (7) a a, {x}

26 s0s0 a,b, x<3 L 1 ={(, )| per ogni i esiste j i: j i e j a} a, {x}, x=3 Automi temporizzati (8)

27 s0s0 s1s1 a, {x}, x=1 L 1 ={((ab), )| per ogni i: ( 2i-1 i) e ( 2j 2j-1 2j+2 2i+1) } La differenza dei tempi di una a e la b successiva e strettamente decrescente. Se non usassimo il tempo denso ( R ) per i tempi il linguaggio sarebbe vuoto. s2s2 s3s3 b, {y} Automi temporizzati (9) b, {y}, y<1 In un linguaggio temporizzato i simboli possono essere arbitrariamente vicini

28 Automi temporizzati (10) Un linguaggio temporizzato e regolare se esiste un automa di Büchi temporizzato che lo accetta. Teorema La classe dei linguaggi regolari temporizzati e chiusa sotto lunione e lintersezione. Teorema Sia L un linguaggio temporizzato regolare. Per ogni parola, Untime(L) se e solo se esiste una sequenza tale che i Q per ogni i>1 e (, ) L. Gli automi non distinguono tra R e Q.

29 Automi temporizzati (11) Teorema Dato un automa di Büchi temporizzato A=, e decidibile se il linguaggio accettato da A e vuoto. Teorema Dato un automa di Büchi temporizzato A=, e indecidibile se il linguaggio accettato da A e linsieme di tutte le stringhe su. Teorema Dati due automi A 1 e A 2, e indecidibile se L(A 1 ) L(A 2 ). Corollario La classe dei linguaggi non e chiusa per complemento.

30 Automi temporizzati (12) Un automa temporizzato di Muller A= e una tabella di transizione temporizzata,, piu una famiglia di insiemi (S). Una stringa temporizzata e accettata se e solo se linsieme degli stati attraversati infinite volte appartiene a.

31 Automi temporizzati (13) e {{s0,s2}} Ogni parola accettata dellautoma soddisfa: (a(b+c))* (ac) 2.per ogni i 1 ( 2i-1 2i-2 ) e minore di 2 se il simbolo di indice 2i e uguale a c, minore di 5 altrimenti. s0s0 s1s1 a, x<5s2s2 b, {x} a, x<2 c, {x}

32 Automi temporizzati (14) Teorema Un liguaggio temporizzato e accettato da un automa temporizzato di Muller se e solo se e accettato da un automa di Büchi.

33 Automi temporizzati (15) Sia A= un automa di Muller. Notiamo che L(A)= F L(A F ) dove A F =, quindi e sufficiente costruire, per ogni insieme F, un automa di Büchi A F che accetta L(A F ). Assumiamo F={s 1, s 2, … s k }, lautoma A F usa il non determinismo per ipotizzare lingresso del ciclo in F. Quando in F, si usa un contatore per assicurarsi che ogni stato e visitato infinite volte. Gli stati di A F sono della forma dove i {0,1, … k}. Per ogni transizione di A, lautoma A F ha una transizione,,a,, >. In aggiunta, se s F anche,,a,, >. Per ogni transizione di A con s,s F, per ogni 1 i k lautoma A F ha una transizione,,a,, > such that j=((i+1)mod k)+1 se s=s i, i=j altrimenti. Il solo stato di accettazione e.

34 Automi temporizzati (16) e {{s1,s2}} s1s1 s0s0 a, x<5s2s2 b, {x} a, x<2 c, {x} a, x<5 b, {x} a, x<2 c, {x} a, x<5 a, x<2 c, {x} c, {x} a, x<2 c, {x}

35 Automi temporizzati (17) Data una tabella temporizzata, uno stato esteso e dato da una coppia, dove s S e e una interpretazione per i clock C. In generale gli stati estesi sono infiniti, ma si possono raggruppare in un numero finito di insiemi con le stesse proprieta. Se per due stati estesi i valori clock hanno la stessa parte intera e lo stesso ordinamento sulla parte frazionaria di tutti i clock, allora i cammini a partire dai due stati sono gli stessi. Dato t R, fract(t) denota la parte frazionaria e t la parte intera. t = t +fract(t)

36 Automa delle regioni (1) Sia A= una tabella temporizzata. Per ogni x C sia c x la piu grande costante tale che x c x o x c x occorre in E. La relazione di equivalenza e definita sullinsieme delle interpretazioni per C: se e solo se valgono le seguenti condizioni: 1.per tutti gli x C (x) e (x) hanno lo stesso valore oppure (x) e (x) sono entrambi maggiori di c x 2.per tutti gli x,y C con (x) c x e (y) c y, fract( (x)) fract( (y)) se e solo se fract( (x)) fract( (y)) 3.per tutti gli x C con (x) c x, fract( (x)) 0 se e solo se fract( (x)) 0 Una clock region e una classe di equivalenza di, denotata [ ]

37 Automa delle regioni (2) Si consideri una tabella temporizzata con due orologi, x e y, e c x =2, c y = y x Regioni 6 vertici (es. [(0,1])) 14segmenti (es. 0 x y 1) 8 regioni (es 1 x 2 0 y 1 fract(x) fract(y))

38 s1s1 s0s0 a, {y} s2s2 s3s3 b, y=1c, x<1 c, x=1 a, {y}, y<1 d, x>2 Automa delle regioni (intuizione) y x (x)=1.2, (y)=0.9 (x)=1.4, (y)=0.7 (x)=1, (y)=0.6 (x)=1, (y)=0.4 (x)=1.5, (y)=2.2 (x)=1.5, (y)=1.9

39 Automa delle regioni (3) Dato A= costruiamo lautoma delle regioni (A). Uno stato di (A) consiste in uno stato di A e di una classe di equivalenza del valore degli orologi. Lidea e che quando A si trova nello stato esteso, (A) si trova nello stato,s,[ ]>. Una regione e un successore temporale della regione se e solo se per ogni, esiste un t R, positivo, tale che +t.

40 Automa delle regioni (4) Costruiamo i successore temporali di una regione Ricordiamo che una regione e definita da: 1.per ogni orologio un vincolo x c, c-1 x c oppure x c x. 2.per ogni coppia x e y tale che c-1 x c e d-1 y d compaiono in 1. lordine tra fract(x) e fract(y). linea dei successori temporali y x

41 Automa delle regioni (5) Prendiamo linsieme C 0 dei clock x tali che soddisfa il vincolo x c, con c c x. Supponiamo C 0 non vuoto. La prima regione successore,, di e data da: 1.per x C 0, se soddisfa x=c x soddisfa x>c x altrimenti se soddisfa x=c soddisfa c

42 Automa delle regioni (6) Se il caso precedente non si applica, prendiamo linsieme C 0 dei clock x tali che non soddisfa x c x e che hanno la parte frazionaria massima. Cioe per tutti gli orologi y tali che non soddisfa x c x, fract(y) fract(x). 1.per x C 0, se soddisfa c-1

43 Automa delle regioni (6) Dato A= il corrispondente automa delle regioni (A) e definito nel modo seguente: 1.Gli stati di (A) sono coppie dove s S e e una regione. 2.Gli stati iniziali sono della forma dove s 0 S 0 e 0 (x)=0 per tutti gli orologi di C. 3. (A) ha un arco,,a> se e solo se ce un arco E e una regione tale che (1) e un successore temporale di, (2) soddisfa, e (3) =[ 0].

44 Automa delle regioni (7) s1s1 s0s0 a, {y} s2s2 s3s3 b, y=1c, x<1 a, {y}, y<1 d, x>1 a a a a a aa b b b c dd d d d d d d s 0 x=y=0 s 1 0=y

45 Automa delle regioni (8) Per un automa temporizzato A=, il suo automa delle regioni puo essere utilizzato per accettare Untime(L(A)) Teorema Dato un automa temporizzato A=, esiste un automa di Büchi su che accetta Untime(L(A)). Lautoma delle regioni puo essere utilizzato per dimostrare che il linguaggio accettato da un automa temporizzato e vuoto.

46 Corollario La classe dei linguaggi non e chiusa per complemento. Ancora sugli automi temporizzati s1s1 s0s0 a, {x} s3s3 a, x=1 aaa L={(a, )| esiste i 1: esiste j i: j = i +1}

47 Automi di Muller deterministici Un automa temporizzato A= di Muller e deterministico se e solo se - ha solo uno stato iniziale |S 0 |=1 - per tutti gli s S, per tutti i, per ogni coppia di archi della forma e, e sono mutamente esclusivi ( 1 2 e insoddisfacibile) Teorema La classe dei linguaggi accettati da automi deterministici di Muller e chiusa per unione, intersezione e complemento. Ancora sugli automi temporizzati

48 A||A accetta la composizione di stringhe accettate da A e A in cui gli eventi comuni avvengono allo stesso tempo Composizione parallela s1s1 s0s0 a, x=1,{x} b s1s1 a c s0s0 L={(a(bc+cb)), )| i-2 i}

49 Si specifica il sistema mediante un automa temporizzato A. Si specificano i comportamenti corretti mediante un automa temporizzato deterministico P. Si verifica che il linguaggio accettato da A e contenuto in quello accettato da P. Verifica di proprieta (1)

50 Un esempio: controllo di un passaggio a livello con tre componenti: TRAIN GATE CONTROLLER Il sistema e dato dalla loro composizione parallela Verifica di proprieta (2)

51 Verifica di proprieta (3) s1s1 s0s0 approach, {x} id T s2s2 in, x>2 out s3s3 exit, x<5 TRAIN

52 Verifica di proprieta (4) s1s1 s0s0 lower, {y} id G s2s2 down, y<1 raise, {y} s3s3 up, (y>1) (y<2) GATE id G

53 Verifica di proprieta (5) s1s1 s0s0 approach, {z} id C s2s2 lower, z=1 exit, {z} s3s3 raise, z<1 CONTROLLER

54 Verifica di proprieta (6) s0s0 in, ~down s2s2 s1s1 down Safety: quando in treno e nel passaggio a livello, questo deve essere chiuso up, ~out in out in, ~up up

55 Verifica di proprieta (7) s0s0 ~down s1s1 down, {x} Liveness: il passaggio a livello non sta chiuso mai per piu di dieci minuti up up, x<10

56 transizioni Aggiungendo le transizioni senza simboli si aumenta la potenza del formalismo. Non esiste nessun automa temporizzato senza transizioni e che accetta il seguente linguaggio: L 1 ={(, )| per ogni i, i (i,i+1] e ( i =i+1 e i =a) oppure ( i (i,i+1) e i =b)} s0s0 a, {x}, x=1 s1s1 b, 0


Scaricare ppt "Automi temporizzati. -linguaggi e -automi (1) Un -linguaggio su un alfabeto finito e un sottoinsieme di, linsieme di tutte le stringhe infinite su. Una."

Presentazioni simili


Annunci Google