IUM: IL MODELLO PIE
Il modello PIE (Dix and Runciman,1985)
Il modello PIE è un modello formale per i sistemi interattivi.
Script:=comandi degli utenti
P:=programmi (sequenza di comandi)
I:=funzione di interpretazione
E:=effetti ottenuti
Notazione
0 nessun comando
p sequenza di insieme di comandi
estenzione (non è un comando)

(Potrebbe essere confuso con il comando ENTER
es:c1-ENTER-c2-ENTER-c3...
che è simile a c1
c2
c3...
ma se si effettua ENTER ENTER come opzione di default option potremmo ottenere c1 ENTER ENTER as c1 ENTER c1 ENTER così come 0
0 < > 0 e ENTER dovrebbe essere un comando)
Un calculator con la modalità PIE

Insieme dei comandi:
Dominio degli effetti E: Cosa appare sul display.
Un errore viene indicato da E o da 0 (es: E:=(-99999999...99999999,E,0) precisione= 8 dig.)
I(0)=0 nessun comando effettuato==nothing comando da interpretato
I(ON)=0
I(ON 1)=1
I(ON 1 +)=1
I(ON 1 + 2)=2
I(ON 1 + 2 =) =3
In ogni caso abbiamo bisogno di regole per capire come interagire con il calcolatore.
Le regole
SWITCH-OFF : I(...OFF)=0 (display vuoto) p (includendo ON) I(...OFF p)=0
EQUIVALENCE: (ON-AC) I(p ON)=I(p AC) (mostrano la stessa cosa sul display).
EXTENSION : computando I(p ON q)=I(p AC q) per ogni p,q
(ciò significa che i comandi ON e AC non sono distinguibili)
ADDITION: Per ogni d1 d2 (digits), allora: I(p,d1,d2)=10*I(p,d1,d2)
I(p 2)=12, fino a quando, p I(...+12)=12 ends with +1
I(p 2 3)=123 ma non deve essere presente una virgola decimale, il calcolatore deve essere ON...
I(p,d1,d2)=10*I(p,d1)+d2 dove p deve avere un numero di ON anteposti ad un ugual numero di OFF, ogni virgola decimale nella sequenza p è da qualche comando che non è una cifra.
In conclusione. Con ION si assume che il calc. sia ON per ogni p ION(p)=I(ON p)
C senza OFF is CON
Con IN si assume the rules if no 5 are understood; ora IN(n1+n2=)=n1+n2...
Se il risultato è nell'intervallo e visualizzato sul DISPLAY(E)
possiamo definire una nuova I per overflow
IN(n1-+n2=)=n1-n2 or -n1+n2?
È meglio non consentire l'immissione di due operatori aritmetici I(...-+)=E
Il modello PIE può essere usato per una rappresentazione dell' interazione ragionata e descritta ; estrarre (ON/OFF, fuori dal range, [etc].) aiuta a pensare su come usare propriamente un sistema dato.
Semplici proprietà



Equivalenza
In molte delle proprietà che seguono si vuole evidenziare che gli effetti di due sequenze di comandi p, q sono equivalenti (I(p)=I(q)).
Comunque è possibile che effetti equivalenti in un dato momento non conservano questa caratteristica in seguito in quanto sono stati introdotti altre modalità.
Così, possiamo avere(I(p)=I(q)), ma ci possono essere alcuni programmi mode-sensitive come r per cui
I(p
r) < > I(q
r). le sequenze p e q potevano risultare in insert-mode, ma il sistema termina in overwrite-mode. L'effetto immediatamente dopo p e q può essere identico se il sistema non dice in quale maniera si trova, ma l'utente ha bisogno solo di sottoporre r a un singolo carattere r= x per ottenere un effetto diverso.

Equivalenza più forte:
Indipendente dallo stato iniziale
p q includono tutte le sequenze di comandi
Ignoriamo la sequenza fino ad ora vista.

Equiv. Interp. sotto tutte le circostanza
L
l : the case is insignificant
l
L : insignificant class of programs
Lo stato è una classe di programmi equivalenti
p1,p2,p3,... supponiamo che p3
p101 p4
p200 p2
p6
L'immissione di p3 o p101 ci porta ad uno stesso risultato.
Osservabilità
Molti sistemi non sono in grado di mostrare tutti gli effetti in un dato momento
p
clear_screen
q
clear_screen
L'interpretazione può essere : I(p
cs)=I(q
cs)
ma cosa l'utente possa fare dopo f(p)+f(q); in generale p non è equivalente a q
Un effetto è ambiguo se è prodotto in più di uno stato;
Pertanto avremo: I(p
q) < > I(q
r) e p non equivalente a q

Se nessun effetto è ambiguo
if no effect is ambiguous ogni effetto che si vede rappresenta lo stesso stato (WYSWYG).
Un PIE con questa proprietà è detto MONOTONO:
si può vedere l'effetto;
Si ha lo stato.

Questa proprietà è molto restrittiva (modelessness)
Possiamo distinguere i comandi normali dai meta-comandi
Presentiamo una variante della monotonicità

In un sistema normally-monotone gli stati che sembrano uguali sono uguali
Completeness
Si possono ottenere tutti gli effetti

Reachability
Lo sopo è raggiungere qualche stato da qualche altro stato (spesso dopo ERROR).

Se il modello PIE ` completo possiamo riscrivere:

Qualunque cosa l'utente faceva (p) lo possiamo correggere con (r) per ottenere l'intenzionale (q) : possiamo ottenere dovunque da dovunque!
ex:In alcuni word processor i documenti di dimensioni 0 non possono essere prodotti dopo che è stato sottoposto un comando: stato unreachable.
Complexity or Reachability ??
Il reachability permette di ottenere un effetto ricercato: se vogliamo un stato allora abbiamo bisogno di uno stato (mega-reachability).

Qualsiasi stato si è raggiunto esisterà un r tale che qualsiasi effetto prodotto dall'utente è lo stesso come se il sistema fosse in qualche stato ( class equiv. contenenti q)
Reachable: ottenere un dato effetto.
Mega-Reachable: ottenere uno stato dato e si determina il comportamento futuro
Un modello PIE monotono reachable è anche megareachable finché ` modeless e l'interpretazione dei comandi futuri è univoca.
Un sistema banner non è reachable, così come i sistemi che hanno un'idea del tempo.
Alcuni dettagli devono essere ignorati per ottenere sistemi reachable.
Le proprietà di UNDO
Se il sistema è reachable gli errori non possono essere recuperabili.
Come possiamo trovare la sequenza di comandi r ?
U è la funzione UNDO che mi dice come posso ritornare da un errore commesso in q...


Assumiamo un sistema modeless, con un generico p...
Infatti U(q) può essere diverso da U(p)...
ex:U(LEFT)=RIGHT U(UP)=DOWM
Sarebbe bello che se esistesse una proprietà composizionale fosse:

Se fosse possibile fare l'UNDO per una sequenza di comandi, dovrebbe essere possibile effettuare l'UNDO per ciascuno comando separatamente.
Il sistema dovrebbe conoscere U(x)
Etichettare l'UNDO
Undo:
Fare un Undo di un Undo non itself (UNDO/REDO) nessuna propr. di composizione (solamente l'ultimo comando può essere undoabile): FLIP UNDO;
È impossibile riparare ad un undo Does not undo erroneamente fatto
Un sistema che presenti un FLIP UNDO è ambiguo (e non monotono).
L'utente npn può dire cosa accadrà dopo un UNDO.

I comandi che producono effetti uguali in un PIE monotono sono equivalenti

If r=UNDO

entrambe sono contraddittorie!!!!
UNDO non può operare in monotonicità
Imponendo una "short strategy":

Proviamo a computare S(c1,c2) senza una piena conoscenza di c1,c2 (LAZY EVALUTATION)
i.e.: proviamo ad ottenere un o/p da S il più presto possibile.
Colli di bottiglia per l'utente e l'interfaccia
L'utente può vedere solamente l'informazioni presenti sullo schermo
L'utente vuole raggiungere una meta indipendentemente dallo stato/modo del sistema
Non c'è una semplice realazione tra ciò che si vede ed i risultati ottenuti
Redictability
To achieve a goal we need a special class of funcyion called strategies.
A system has an UNDO strategy if there is a way to determine U(q) for the wrong q

From the current effect to the wanted one.
Honesty
If effect is changed then it may be seen on the display


If two display look the same, the system is in equivalent state
Passive commands permits observation but do not change the risult; it may change system state, effects of subsequent commands on the result are unaffected.

Active commands:

We need a passive strategy to allow the user to Observe enough of the E-space (Effects) to be able to predict the effects of future commands
The user coul get a full principal printout on paper; the user may develop a mental model of the result: the current effect may be det. from the display and his mode.
Windows Manager
Windows Manager allows attachment of I/O device to each single windows once a window is selected it will be in the foreground all its features will come to life and, conversely, all the other windows will spleep
There is a principal window PIEwm
There are a lot of windows PIEi i=1..n where n=# windows having a common set of commands
The effect space is Ewm=E1xE2xE3x....xEn which may be rewritten as: Ewm=En
Iwm is composed of:
I':interprets select(i)
I'':interprets all other commands
The result of I' will enable I'' to determine which window + the corresponding programs will execute
I':P->(NxPn) I'(p)= i* (p1,p2,...,pn)
providing the chosen windows (i) and the programs directed to each window(1...n).
Suppose window i was chosen:

Now we define the behaviour of SELECT

The default for initail case is windows number=1
I'(0)=1x(0,0,...,0)
Now I'' applies Ii to their respective programs:
I'':Pn->(Ewm)
I''( < p1, p2,...,pn > )=< I1(p1),I2(p2),...,In(pn) >
for each p :Iwm(p)=I''prog(I'(p)) more coincisely Iwm=I'' prog I'
PIEwm is not monotone even if PIE1...PIEn are suppose n=2, we have two pies for corresponding windows
Iwm(1)=Iwm(2)= < 0,0,...,0 >
Iwm(1
c)= < c,0,0,...,0 > or Iwm(2
c)= < 0,c,0,...,0 >
The interp. of window selection is the same but the interp. after c differs.
A PIE is monotone if I(p)=I(q) implies p equivalent q
Here Iwm(1)=Iwm(2) but 1 is not equivalent 2 : in fact PIEwm is not monotone then Ewm:NxEn
Interpretation
Interaction may be driven by active commands, by modifying the cript (UNDO,SKIP,REDO, etc..) or by modifying interpretation.
The system will be modey, some states may never be reached.
A scope must be defined, afixed # alternative features(AFs).
We may change I for each different window/program/process (n interpretation for n windows).
One may also have range of values (Key repeat rate, mouse displace speed, etc...)
Modifying Interpretation by programming:
Difficult to be done at design, simplem. time:
Iterative design
Provide programming features
No modif. possible- esay to use system
Modifying Interpretation by adaptation:
The system 'learns' from the user, it starts being very simple and gradually becomes more sophisticated (like video games), the user also adapts... does the full system converge to stability ?
Multiparadigmatic approach in VQS
Large DBs do not make a user activity pattern evident; Small DBs allow the user to pick and choose without a pattern
The analysis of user errors is not trivial
Menu choices: if frequent could be automated made easier, nearer, etc...
Finally adapt. of the syst. could also be unnotreable to user
[Precedente]
[Home Page]
[Successivo]