Metodi formali nel progetto dellinterazione Anna Labella.

52
Metodi formali nel progetto dell’interazione Anna Labella

Transcript of Metodi formali nel progetto dellinterazione Anna Labella.

Page 1: Metodi formali nel progetto dellinterazione Anna Labella.

Metodi formali nel progetto dell’interazione

Anna Labella

Page 2: Metodi formali nel progetto dellinterazione Anna Labella.

Due aspetti

• La struttura del tempo• Il tipo di interazione

Page 3: Metodi formali nel progetto dellinterazione Anna Labella.

Tempo discretoTempo continuo a gradiniTempo continuo

la struttura del tempo

Qual’è più “facile” e quale più utile?

Page 4: Metodi formali nel progetto dellinterazione Anna Labella.

HandshakingBroadcasting“a braccetto”ControlloRilevamento di segnaleRendez-vous ecc.

Il tipo di interazione

Page 5: Metodi formali nel progetto dellinterazione Anna Labella.

Esempi tratti dall’interazione

Combinazione di diversi processi Per mezzo di rendez-vous

Page 6: Metodi formali nel progetto dellinterazione Anna Labella.

Esempi tratti dall’interazioneInterfacce come tipici esempi di coesistenza di diversi “tipi di tempo”

Page 7: Metodi formali nel progetto dellinterazione Anna Labella.

Cosa ci interessa e cosa no

Eventi istantaneiEventi a distanza sempre più ravvicinata

Eventi che si svolgono e/o si evolvono in un intervallo di tempoEventi che devono aspettare input dall’esternoLatenze in informatica musicaleInterpretazione legata alle durate (es. doppio click)

Page 8: Metodi formali nel progetto dellinterazione Anna Labella.

Il problema cruciale: l’interpretazione

Riconoscimento di comportamento

Page 9: Metodi formali nel progetto dellinterazione Anna Labella.

Una possibile soluzione:diversi livelli di astrazione

Mieke Massink Giorgio P. Faconti,A reference framework for continuous interaction

UAIS, 1 (2002) 237-251http://www.springerlink.com/index/10.1007/s10209-002-0027-5

• fisico• percettivo• proposizionale• concettuale• di gruppo

Linee guida per disegnare interfacce ibride continue

Page 10: Metodi formali nel progetto dellinterazione Anna Labella.
Page 11: Metodi formali nel progetto dellinterazione Anna Labella.
Page 12: Metodi formali nel progetto dellinterazione Anna Labella.

Gestire l’interazione trasformando l’informazione dai sensori agli effettori

Philip Barnard, Jon May, David Duke, David DuceSystems, interactions, and macrotheory ACM TOCHI,7 (2000) 222--262

http://doi.acm.org/10.1145/353485.353490

Page 13: Metodi formali nel progetto dellinterazione Anna Labella.

Gli automi ibridi Una soluzione?

Automa ibrido <X,(V,E), init, inv, flow, jump, , E >

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

Page 14: Metodi formali nel progetto dellinterazione Anna Labella.

Gli automi ibridi Una soluzione?

Sistema di transizione temporizzato <Q,Q0,A, >

Q,Q0 V Rn, (v,x)Q sse inv(v)[X:=x] vero(v,x)Q0 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, ] Rn 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

Page 15: Metodi formali nel progetto dellinterazione Anna Labella.

Marionette virtuali

Page 16: Metodi formali nel progetto dellinterazione Anna Labella.

Il sistema

All’esterno è un processo veramente continuo, almeno a tratti, che viene rilevato secondo certi intervalli di tempo dai sensori.

Questi innescano delle procedure all’interno costanti, ma su intervalli di tempo reali (almeno in prima approssimazione).

Esistono uno o più sistemi temporali sia interni che esterni.

Page 17: Metodi formali nel progetto dellinterazione Anna Labella.

Descrizione del sistema interno

Page 18: Metodi formali nel progetto dellinterazione Anna Labella.

Usare soltanto durate e corrispondenze temporali

Non ci domandiamo perché e come accadano certe transizioni,Ma le osserviamo

Page 19: Metodi formali nel progetto dellinterazione Anna Labella.

Osservabilità e nondeterminismo

Un processo può essere descritto osservando il suo comportamento dall’esterno.Non è detto che la stessa osservazione porti nello stesso statoÈ suggerita una struttura ad albero

a

b c

d a

b c

Page 20: Metodi formali nel progetto dellinterazione Anna Labella.

La nozione di processo

a.P a PPi a Qi

P1+P2 a Qi

ed altri operatori…..

Page 21: Metodi formali nel progetto dellinterazione Anna Labella.

Il tempo discreto

N01

32

4

A = {a,b,c,d,…}

aacb

Page 22: Metodi formali nel progetto dellinterazione Anna Labella.

Alberi discreti

N0

1

3

2

Set

≤≤

Page 23: Metodi formali nel progetto dellinterazione Anna Labella.

Il tempo continuo a gradini

A = {a,b,c,d,…}

(a,r1 ) (a,r2 - r1 ) (c, r3 - r2 ) (b, r4 - r3 )

R+

0

r1

r2

r3

r4

Page 24: Metodi formali nel progetto dellinterazione Anna Labella.

Il tempo continuo

F = {f,g,h,k,…}

(f |r1 ) (f |r2 - r1 ) (h |r3 - r2 ) (g |r4 - r3 )

R+

0

r1

r2

r3

r4

Page 25: Metodi formali nel progetto dellinterazione Anna Labella.

Alberi continui

SetR+

0

r1

r2

r3

r4

Page 26: Metodi formali nel progetto dellinterazione Anna Labella.

Le categorie di alberi

Un albero è un insieme di cammini etichettati ed incollati lungo un’etichetta 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 l’etichettatura e può far crescere l’incollamento, cioè una simulazione che tende a diminuire il non determinismo

Page 27: Metodi formali nel progetto dellinterazione Anna Labella.

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

Page 28: Metodi formali nel progetto dellinterazione Anna Labella.

Un morfismo f : t1 t2

è una funzione f : X1 X2 tale che

i. e2 (f(x)) = e1 (x)

ii. d1 (x, y) ≤ d2 (f(x), f(y))

Page 29: Metodi formali nel progetto dellinterazione Anna Labella.

a

cb c bb

a a

b cc

b

a

a

Page 30: Metodi formali nel progetto dellinterazione Anna Labella.

Operazioni tra alberiSomma:

t1 + t2 = < X, e, d> , dove

- X = X1 X2

- e (x1) = e1 (x1) - e (x2) = e2 (x2)

di (x, y) se x, y Xi

- d ( x, y) = altrimenti

•0 = <Ø , Ø, Ø> è l’unità

Page 31: Metodi formali nel progetto dellinterazione Anna Labella.

Esempio

Page 32: Metodi formali nel progetto dellinterazione Anna Labella.

Operazioni tra alberi

Concatenazione:

t1 t2 = < X, e, d> , dove

- X = X1 X2

- e (< x1, x2 >) = e1 (x1) . e2 (x2)

d1 (x1, y1).d2 (x2, y2) se x1 = y1

- d (< x1, x2 >, < y1, y2 >) = d1 (x1, y1) altrimenti

•1 = <{ x } , e (x) = , d (x, x) = > is l’elemento neutro•Tree(A) monoidale chiusa a destra•La concatenazione distribuisce a destra sulla somma

Page 33: Metodi formali nel progetto dellinterazione Anna Labella.

Esempio

Page 34: Metodi formali nel progetto dellinterazione Anna Labella.

Esempi di 2-categorie di base: le strutture temporali

•A* monoide libero sull’alfabeto 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)

Page 35: Metodi formali nel progetto dellinterazione Anna Labella.

Etichettatura con tracce di Mazurkiewicz: A*/IParole con possibilità di invertire certe lettere [a,b]

Il tempo non completamente ordinato

c

b[a,b]

c

Page 36: Metodi formali nel progetto dellinterazione Anna Labella.

Sincronizzazione e fusione

Tempo globale: SincronizzazioneTempi relativi: Rendez-vous

Page 37: Metodi formali nel progetto dellinterazione Anna Labella.

Sincronizzazione

Definiamo una tabella di sincronizzazione per coppie di mosse “contemporanee” e costruiamo l’albero che viene etichettato con i risultati.

La sicronizzazione può essere: handshaking, a braccetto, ecc.

t1 ※ t2 = < X, e, d> , dove

- X X1 X2

- e (< x1, x2 >) = e1 (x1) * e2 (x2)

- d (< x1, x2 >, < y1, y2 >) = (e1 (x1) * e2 (x2)) (e1 (y1) * e2 (y2))

Tagliato eventualmente alla lunghezza minima tra d1(x1, y1) e d2(x2, y2) altrimenti

Page 38: Metodi formali nel progetto dellinterazione Anna Labella.

Esempio

db

a a

a

a

b

cd

d

a

b

a

Page 39: Metodi formali nel progetto dellinterazione Anna Labella.

Fusione

Etichettatura sui prefissi,ma incollamento su opportuni sottoinsiemi:

Ogni sottoprocesso ha il suo tempo

Page 40: Metodi formali nel progetto dellinterazione Anna Labella.

Una nuova struttura di frecce tra le parole

Page 41: Metodi formali nel progetto dellinterazione Anna Labella.

(X, e, d) (X’, e’, d’) :

i. un insieme di cammini: X X’

ii. una funzione etichettatura e e’: X X’ A *,

ii. una funzione incollamento : X X’ ANNNN

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)

Page 42: Metodi formali nel progetto dellinterazione Anna Labella.

Notare l’analogia con la nozione di alberoIn 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)

Page 43: Metodi formali nel progetto dellinterazione Anna Labella.
Page 44: Metodi formali nel progetto dellinterazione Anna Labella.
Page 45: Metodi formali nel progetto dellinterazione Anna Labella.
Page 46: Metodi formali nel progetto dellinterazione Anna Labella.

Arricchimenti doppi

Coesistenza di due tipi di tempoLoro sincronizzazione per prefisso

Page 47: Metodi formali nel progetto dellinterazione Anna Labella.

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

dx,y : [e-(x), e-(y) ] [e+(x), e+(y) ]

t.c. per ogni x, y, z in X,-dx,x [e-(x), e-(x) ] [e+(x), e+(x) ] rispetta il massimo

- d(x, y) ≤ e (x) ˙ e (y)- dx,y ˙ dy,z ≤dx,z

- dx,y = dy,x

Page 48: Metodi formali nel progetto dellinterazione Anna Labella.

Attenzione!la situazione non è simmetrica rispetto alle due etichettature

Da una parte dobbiamo prendere tutti i prefissi comuni, dall’altra no:questo vuol dire che abbiamo nondeterminismo soltanto a destra.

Si potrebbe generalizzare prendendo relazioni al posto di funzioni

Page 49: Metodi formali nel progetto dellinterazione Anna Labella.

Esempio

x

dx,x [e-(x), e-(x) ] [e+(x), e+(x) ] potrebbe essere indottadalla funzione sugli istanti di tempo {ri} {si}, così

dx,y [e-(x), e-(y) ] [e+(x), e+(y) ]

e-(x) = (f |r1 ) (f |r2 - r1 ) (h |r3 - r2 ) (g |r4 - r3 )e+(x) = (a,s1 ) (a,s2 - s1 ) (c, s3 - s2 ) (b, s4 - s3 )

e-(x) e+(x)

e-(y) = (f |r1 ) (f |r2 - r1 ) (h |r’3 - r2 ) (k |r’4 - r’3)e+(y) = (a,s1 ) (a,s2 - s1 ) (c, s’3 - s2 ) (d, s’4 - s’3 )

y

e-(y) e+(y)

Page 50: Metodi formali nel progetto dellinterazione Anna Labella.

A che servono i metodi formali?

Page 51: Metodi formali nel progetto dellinterazione Anna Labella.

A che servono i metodi formali?

Servono a capire

Page 52: Metodi formali nel progetto dellinterazione Anna Labella.

Vengono prima o dopo la pratica?

Si intercalano