La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Metodi formali nel progetto dellinterazione Anna Labella.

Copie: 2
Metodi formali nel progetto dellinterazione Anna Labella.

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

12 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

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, X:= f( ), f( )] veri Thomas A. Henzinger, The Theory of Hybrid Automata, Proc. 11th LICS Conf. (1996) 278-292

15 Marionette virtuali

16 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.

17 Descrizione del sistema interno

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

19 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

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

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

22 Alberi discreti N 0 1 3 2 Set

23 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

24 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

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

26 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

27 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

28 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))

29 a c bc b b a a bc c b a a

30 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à

31 Esempio

32 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

33 Esempio

34 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)

35 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

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

37 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

38 Esempio d b a a a a b c d d a b a

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

40 Una nuova struttura di frecce tra le parole

41 (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)

42 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)

43

44

45

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

47 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

48 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

49 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)

50 A che servono i metodi formali?

51 Servono a capire

52 Vengono prima o dopo la pratica? Si intercalano


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

Presentazioni simili


Annunci Google