Metodi formali nel progetto dellinterazione Anna Labella
Due aspetti La struttura del tempo Il tipo di interazione
Tempo discreto Tempo continuo a gradini Tempo continuo la struttura del tempo Qualè più facile e quale più utile?
Handshaking Broadcasting a braccetto Controllo Rilevamento di segnale Rendez-vous ecc. Il tipo di interazione
Esempi tratti dallinterazione Combinazione di diversi processi Per mezzo di rendez-vous
Esempi tratti dallinterazione Interfacce come tipici esempi di coesistenza di diversi tipi di tempo
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)
Il problema cruciale: linterpretazione Riconoscimento di comportamento
Una possibile soluzione: diversi livelli di astrazione Mieke Massink Giorgio P. Faconti, A reference framework for continuous interaction UAIS, 1 (2002) fisico percettivo proposizionale concettuale di gruppo Linee guida per disegnare interfacce ibride continue
Gestire linterazione trasformando linformazione dai sensori agli effettori Philip Barnard, Jon May, David Duke, David Duce Systems, interactions, and macrotheory ACM TOCHI,7 (2000)
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)
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)
Marionette virtuali
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.
Descrizione del sistema interno
Usare soltanto durate e corrispondenze temporali Non ci domandiamo perché e come accadano certe transizioni, Ma le osserviamo
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
La nozione di processo a.P a P P i a Q i P 1 +P 2 a Q i ed altri operatori…..
Il tempo discreto N A = {a,b,c,d,…} aacb
Alberi discreti N Set
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
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
Alberi continui Set R+R+ 0 r1r1 r2r2 r3r3 r4r4
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
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
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))
a c bc b b a a bc c b a a
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à
Esempio
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
Esempio
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)
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
Sincronizzazione e fusione Tempo globale: Sincronizzazione Tempi relativi: Rendez-vous
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
Esempio d b a a a a b c d d a b a
Fusione Etichettatura sui prefissi, ma incollamento su opportuni sottoinsiemi: Ogni sottoprocesso ha il suo tempo
Una nuova struttura di frecce tra le parole
(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)
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)
Arricchimenti doppi Coesistenza di due tipi di tempo Loro sincronizzazione per prefisso
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
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
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)
A che servono i metodi formali?
Servono a capire
Vengono prima o dopo la pratica? Si intercalano