La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Metodi formali nel progetto dellinterazione Anna Labella.

Presentazioni simili


Presentazione sul tema: "Metodi formali nel progetto dellinterazione Anna Labella."— Transcript della presentazione:

1 Metodi formali nel progetto dellinterazione Anna Labella

2 Due aspetti La struttura del tempo Il tipo di interazione

3 Tempo discreto Tempo continuo a gradini Tempo continuo la struttura del tempo Qual è più facile e quale più utile?

4 Handshaking Broadcasting a braccetto Controllo Rilevamento di segnale Rendez-vous ecc. Il tipo di interazione

5 Esempi tratti dallinterazione Combinazione di diversi processi Per mezzo di rendez-vous

6 Esempi tratti dallinterazione Interfacce come tipici esempi di coesistenza di diversi tipi di tempo

7 Cosa ci interessa e cosa no Eventi istantanei Eventi a distanza sempre più ravvicinata Eventi che si svolgono e/o si evolvono in un intervallo di tempo Eventi che devono aspettare input dallesterno Latenze in informatica musicale Interpretazione legata alle durate (es. doppio click)

8 Il problema cruciale: linterpretazione Riconoscimento di comportamento

9 Una possibile soluzione: diversi livelli di astrazione Mieke Massink Giorgio P. Faconti, A reference framework for continuous interaction UAIS, 1 (2002) 237-251 http://www.springerlink.com/index/10.1007/s10209-002-0027-5 fisico percettivo proposizionale concettuale di gruppo Linee guida per disegnare interfacce ibride continue

10

11 Gestire linterazione trasformando linformazione dai sensori agli effettori Philip Barnard, Jon May, David Duke, David Duce Systems, interactions, and macrotheory ACM TOCHI,7 (2000) 222--262 http://doi.acm.org/10.1145/353485.353490

12

13 Gli automi ibridi Una soluzione? Automa ibrido X n-uple di variabili reali, (V,E) grafo di controllo, modalità ed interruttori init, inv, flow condizioni che etichettano le modalità jump condizione che etichetta gli interruttori eventi Thomas A. Henzinger, The Theory of Hybrid Automata, Proc. 11th LICS Conf. (1996) 278-292

14 Gli automi ibridi Una soluzione? Sistema di transizione temporizzato Q,Q 0 V Rn, (v,x) Q sse inv(v)[X:=x] vero (v,x) Q 0 sse inv(v)[X:=x] e init(v)[X:=x] veri A= R + eventi e durate :(v,x) (v,x) sse cè e E v v jump(e)[X,X:=x,x] event(e)= :(v,x) (v,x) sse cè f:[0, ] R n differenziabile f(0) = x f( ) = x inv(v) [x:= f( ) ] 0 flow(v ) [x, := f( ), f( )] veri Thomas A. Henzinger, The Theory of Hybrid Automata, Proc. 11th LICS Conf. (1996) 278-292.x.x

15 Esempio: un termostato off on = - 0,1 x = 5- 0,1 x x18 x22 x=20 x>21 x<19.x.x.x.x

16 Marionette virtuali

17 Il sistema Allesterno è un processo veramente continuo, almeno a tratti, che viene rilevato secondo certi intervalli di tempo dai sensori. Questi innescano delle procedure allinterno costanti, ma su intervalli di tempo reali (almeno in prima approssimazione). Esistono uno o più sistemi temporali sia interni che esterni.

18 Descrizione del sistema interno

19 Usare soltanto durate e corrispondenze temporali Non ci domandiamo perché e come accadano certe transizioni, Ma le osserviamo

20 Osservabilità e nondeterminismo Un processo può essere descritto osservando il suo comportamento dallesterno. Non è detto che la stessa osservazione porti nello stesso stato È suggerita una struttura ad albero a bc d a bc

21 La nozione di processo a.P a P P i a Q i P 1 +P 2 a Q i ed altri operatori…..

22 Il tempo discreto N 0 1 3 2 4 A = {a,b,c,d,…} aacb

23 Alberi discreti N 0 1 3 2 Set

24 Il tempo continuo a gradini A = {a,b,c,d,…} (a,r 1 ) (a,r 2 - r 1 ) (c, r 3 - r 2 ) (b, r 4 - r 3 ) R+R+ 0 r1r1 r2r2 r3r3 r4r4

25 Il tempo continuo F = {f,g,h,k,…} (f |r 1 ) (f |r 2 - r 1 ) (h |r 3 - r 2 ) (g |r 4 - r 3 ) R+R+ 0 r1r1 r2r2 r3r3 r4r4

26 Alberi continui Set R+R+ 0 r1r1 r2r2 r3r3 r4r4

27 Le categorie di alberi Un albero è un insieme di cammini etichettati ed incollati lungo unetichetta che è un prefisso comune. Questo significa che, a sua volta un albero è una categoria arricchita su una 2-categoria localmente posetale L Un morfismo di L-alberi è un L-funtore: una funzione tra cammini che rispetta strettamente letichettatura e può far crescere lincollamento, cioè una simulazione che tende a diminuire il non determinismo

28 Esempi di 2-categorie di base: le strutture temporali A* monoide libero sullalfabeto A, funzioni parziali da N ad A CA funzioni parziali costanti a gradino da R + ad A CF funzioni parziali continue a tratti TA monoide a tracce, ecc. In generale: L monoide che sia anche un inf-semireticolo Più in generale sistemi di tracce con rendez-vous (vedremo più avanti)

29 t = (X, e, d) : i. un insieme di cammini: X ii. una funzione etichettatura e: X L, ii. una funzione incollamento d : X X L t.c. per ogni x, y, z in X, - d (x, x) = e(x) - d(x, y) e (x) e (y) - d(x, y) d(y, z) d(x, z) - d (x, y) = d (y, x) Gli alberi su L

30 Un morfismof : t 1 t 2 è una funzione f : X 1 X 2 tale che i. e 2 (f(x)) = e 1 (x) ii. d 1 (x, y) d 2 (f(x), f(y))

31 a c bc b b a a bc c b a a Il caso L=A* Si etichetta con A* e si incolla per prefisso

32 Operazioni tra alberi Somma: t 1 + t 2 =, dove - X = X 1 X 2 - e (x 1 ) = e 1 (x 1 ) - e (x 2 ) = e 2 (x 2 ) d i (x, y) se x, y X i - d ( x, y) = altrimenti 0 = è lunità

33 Esempio

34 Operazioni tra alberi Concatenazione: t 1 t 2 =, dove - X = X 1 X 2 - e ( ) = e 1 (x 1 ). e 2 (x 2 ) d 1 (x 1, y 1 ).d 2 (x 2, y 2 ) se x 1 = y 1 - d (, ) = d 1 (x 1, y 1 ) altrimenti 1 = is lelemento neutro Tree(A) monoidale chiusa a destra La concatenazione distribuisce a destra sulla somma

35 Esempio

36 Etichettatura con funzioni a gradino Si incolla per prefisso Il tempo continuo CA

37 Etichettatura con tracce di Mazurkiewicz: A*/I Parole con possibilità di invertire certe lettere [a,b] Il tempo non completamente ordinato c b [a,b] c

38 Sincronizzazione e fusione Tempo globale: Sincronizzazione Tempi relativi: Rendez-vous

39 Sincronizzazione Definiamo una tabella di sincronizzazione per coppie di mosse contemporanee e costruiamo lalbero che viene etichettato con i risultati. La sicronizzazione può essere: handshaking, a braccetto, ecc. t 1 t 2 =, dove - X X 1 X 2 - e ( ) = e 1 (x 1 ) * e 2 (x 2 ) - d (, ) = (e 1 (x 1 ) * e 2 (x 2 )) (e 1 (y 1 ) * e 2 (y 2 )) Tagliato eventualmente alla lunghezza minima tra d 1 (x 1, y 1 ) e d 2 (x 2, y 2 ) altrimenti

40 Esempio d b a a a a b c d d a b a

41 Fusione Etichettatura sui prefissi, ma incollamento su opportuni sottoinsiemi: Ogni sottoprocesso ha il suo tempo

42 Una nuova struttura di base A N Si etichetta ancora con le parole di A*, ma non si incolla per prefisso

43 Due cammini x e y e(x) = abac, cioè {(1,a),(2,b),(3,a),(4,c) } e(y) = cbabb, cioè {(1,c),(2,b),(3,a),(4,b),(5,b)} a(x,y) = {(3,a)}. Thread o dendroide

44 (X, e, d) (X, e, d) : i. un insieme di cammini: X X ii. una funzione etichettatura e e: X X A *, NN ii. una funzione incollamento : X X A NN t.c. per ogni x, y in X, x, y in X - (x,x) s.i. consistente di e(x) e di e(x) - d (y, x) (x,x) (y,x) - (x,x) d(x, y) (x,y) - (x, x) = (x, x) Fusione tra alberi (caso discreto)

45 Notare lanalogia con la nozione di albero In realtà sono cambiate soltanto le frecce della categoria di base: Gli oggetti continuano ad essere prefissi, le frecce sono soltanto insiemi consistenti x y e(x)e(y) a(x,y)

46

47

48

49 Arricchimenti doppi Coesistenza di due tipi di tempo Loro sincronizzazione per prefisso

50 Caso di comportamento ibrido t = (X, e, d) : i. un insieme di cammini: X ii. una funzione etichettatura e: X CF CA, cioè e - : X CF ed e + : X CA iii. per ogni x, y in X una funzione incollamento monotona d x,y : [e - (x), e - (y) ] [e + (x), e + (y) ] t.c. per ogni x, y, z in X, -d x,x [e - (x), e - (x) ] [e + (x), e + (x) ] rispetta il massimo - d(x, y) e (x) e (y) - d x,y d y,z d x,z - d x,y = d y,x

51 Attenzione! la situazione non è simmetrica rispetto alle due etichettature Da una parte dobbiamo prendere tutti i prefissi comuni, dallaltra no: questo vuol dire che abbiamo nondeterminismo soltanto a destra. Si potrebbe generalizzare prendendo relazioni al posto di funzioni

52 Esempio x d x,x [e - (x), e - (x) ] [e + (x), e + (x) ] potrebbe essere indotta dalla funzione sugli istanti di tempo {r i } {s i }, così d x,y [e - (x), e - (y) ] [e + (x), e + (y) ] e - (x) = (f |r 1 ) (f |r 2 - r 1 ) (h |r 3 - r 2 ) (g |r 4 - r 3 ) e + (x) = (a,s 1 ) (a,s 2 - s 1 ) (c, s 3 - s 2 ) (b, s 4 - s 3 ) e - (x) e + (x) e - (y) = (f |r 1 ) (f |r 2 - r 1 ) (h |r 3 - r 2 ) (k |r 4 - r 3 ) e + (y) = (a,s 1 ) (a,s 2 - s 1 ) (c, s 3 - s 2 ) (d, s 4 - s 3 ) y e - (y) e + (y)

53 La nozione di stato La logica associata Ulteriori possibilità del modello

54 Il caso degli alberi a bc c b a a Ogni nodo è uno stato

55 Il caso dei dendroidi Non ogni nodo è uno stato

56 A che servono i metodi formali?

57 Servono a capire

58 Vengono prima o dopo la pratica? Si intercalano


Scaricare ppt "Metodi formali nel progetto dellinterazione Anna Labella."

Presentazioni simili


Annunci Google