La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercitazione del Corso di Interazione Uomo-Macchina Modulo3: Metodi Formali per la Specifica di Interfacce: un esempio completo (V.Carofiglio)

Presentazioni simili


Presentazione sul tema: "Esercitazione del Corso di Interazione Uomo-Macchina Modulo3: Metodi Formali per la Specifica di Interfacce: un esempio completo (V.Carofiglio)"— Transcript della presentazione:

1 Esercitazione del Corso di Interazione Uomo-Macchina Modulo3: Metodi Formali per la Specifica di Interfacce: un esempio completo (V.Carofiglio)

2 Le Grammatiche Formali Le Grammatiche formali sono un metodo generativo per la definizione dei linguaggi. Descrivono cioè come generare tutte e sole le stringhe che appartengono ad un linguaggio. Grammatica Formale G:, V, S, P alfabeto : a, b, …. variabili V: A, B, ….S assioma S V produzioni P: P i | P i : A, * V*

3 Rappresentazione dellinterazione Utente-Sistema mediante grammatiche formali Ogni tipo di comunicazione previsto fra Utente e Sistema può essere definito mediante la sequenza di comandi elementari (Linguaggio dei comandi) che lutente può eseguire. Il linguaggio dei comandi può essere generato mediante una grammatica formale G:, V, S, P in cui e linsieme di tutti i comandi elementari che lutente può effettuare V e linsieme di azioni complesse S V rappresenta lobbiettivo finale che lutente deve eseguire P rappresenta linsieme di regole che stabiliscono sequenze di comandi elementari (e non) lecite allutente

4 Un semplice esempio Taglia e Incolla in Word

5 Partiamo dalla Task Analysis….. Taglia e Incolla Taglia Incolla Seleziona Oggetto da Tagliare Comando Taglia Digita Control Digita X Rilascia Control Rilascia XDigita Control DigitaV Rilascia Control Rilascia V Posiziona Cursore Comando Incolla Posiziona Cursore Rilascia Tasto sinistro del mouse Trascina Cursore Clicca Tasto sinistro del mouse

6 …e costruiamo la grammatica (1) = { posiziona-cursore, clicca-tasto-sinistro-del-mouse, rilascia-tasto- sinistro-del-mouse, trascina-cursore, digita-control, digita-x, digita-v, rilascia-control,rilascia-x, rilascia-v} V = {,,,,, } S = { } P = {……...}

7 …e costruiamo la grammatica (2) P = {……...} 1: ::= 2: ::= 3: ::= posiziona-cursore clicca-tasto-sinistro-del- mouse trascina-cursore | trascina-cursore | rilascia-tasto-sinistro-del-mouse 4: ::= digita-control digita-x rilascia-control rilascia-x | digita-control digita-x rilascia-x rilascia-control 5: ::= posiziona-cursore 6: ::= digita-control digita-v rilascia-control rilascia-v | digita- control digita-v rilascia-v rilascia-control

8 …una stringa generata posiziona-cursore clicca-tasto-sinistro-del-mouse trascina-cursore 3 posiziona-cursore clicca-tasto-sinistro-del-mouse trascina- cursore rilascia-tasto-sinistro-del-mouse 4 posiziona-cursore clicca-tasto-sinistro-del-mouse trascina-cursore rilascia- tasto-sinistro-del-mouse digita-control digita-x rilascia-control rilascia-x 5 posiziona-cursore clicca-tasto-sinistro-del-mouse trascina- cursore rilascia-tasto-sinistro-del-mouse digita-control digita-x rilascia-control rilascia-x posiziona-cursore 6 posiziona-cursore clicca-tasto-sinistro-del-mouse trascina-cursore rilascia-tasto- sinistro-del-mouse digita-control digita-x rilascia-control rilascia-x posiziona- cursore digita-control digita-v rilascia-control rilascia-v

9 Limiti della grammatica Un alto numero di produzioni per descrivere modi diversi (se esistono) di eseguire uno stesso task rende una grammatica illeggibile. (nel nostro esempio lo stesso comando può essere eseguito cliccando sui comandi opportuni, oppure mescolando interazione da tastiera e comandi grafici in più di un modo) Non permette di rappresentare: 1.) la dinamica con cui linterfaccia evolve in relazione ai comandi inviati dallUtente al Sistema (nel nostro esempio non riusciamo a rappresentare ad esempio il fatto che dopo aver eseguito il comando di taglia loggetto tagliato sparisce dallo schermo e ricompare solo dopo aver effettuato il comando di incolla) 2.) ladattamento dellinterfaccia allUtente (nel nostro esempio potremmo voler rappresentare il fatto che un utente esperto debba utilizzare comandi da tastiera, viceversa uno meno esperto comandi grafici) 3.) I casi in cui lordine di esecuzione dei comandi non è rigidamente definito (nel nostro esempio il comando trascina cursore viene ripetuto in principio un numero indefinito di volte)

10 Costruiamo la UAN per il task: Taglia e Incolla ( posiziona-cursore clicca-tasto-sinistro-del-mouse (trascina-cursore) n rilascia-tasto-sinistro-del-mouse digita-control digita-x (rilascia-control & rilascia-x) posiziona-cursore digita-control digita-v (rilascia- control & rilascia-v ) ) Una prima soluzione al problema espresso nel punto 3.

11 Metodi Riconoscitivi: le Reti di Petri (PN) Definizione formale Una PN è una tupla:, con N: nome della rete P: un insieme di posti, indicati con T: un insieme di transizioni, indicati con A: un insieme di archi orientati fra P e T ( o T e P) SP: un insieme di posti (incluso in P) denotati come start place EP: un insieme di posti (incluso in P) denotati come end place M: una funzione di marcatura dei posti, che associa ad ogni posto il valore di una variabile binaria (a seconda che il posto sia marcato o no). Un posto marcato viene indicato con In questo caso, M(pi) = 1

12 Costruiamo la rete di Petri per il task: Taglia e Incolla(1) Begin End TAGLIA cliccabile INCOLLA cliccabile SELEZIONA-OGGETTO-DA TAGLIARE COMANDO-TAGLIA Oggetto eliminato Oggetto nel buffer.. Posiziona-cursore Oggetto selezionato Cursore posizionato COMANDO-INCOLLA Oggetto posizionato Marcatura iniziale: ( TAGLIAcliccabile, INCOLLA cliccabile )

13 Costruiamo la rete di Petri per il task: Seleziona oggetto da tagliare Begin End Cursore posizionabile Tasto sinistro del mouse cliccabile Posiziona cursore Cursore posizionato Oggetto non selezionato.. Clicca tasto sinistro del mouse Trascina cursore Oggetto selezionato Tasto sinistro del mouse cliccato Rislascia tasto sinistro del mouse Tasto sinistro del mouse rilasciato

14 Costruiamo la rete di Petri per il task: Comando Taglia (I) Begin End Control digitabile x digitabile Digita control Control digitato Rilascia x.. Digita x Rilascia x X rilasciato X digitato Control Rilasciato Rilascia Control Rilascia control Scelta

15 Costruiamo la rete di Petri per il task: Comando Taglia (II) Begin End Control digitabile x digitabile Digita control Control digitato Rilascia x.. Digita x X digitato Rilascia Control Control Rilasciato. X Rilasciato Indipendenza dordine

16 Costruiamo la rete di Petri per il task: Comando Incolla Begin End Control digitabile v digitabile Digita control Control digitato Rilascia x.. Digita v Rilascia v v rilasciato v digitato Control Rilasciato Rilascia Control Rilascia control

17 Simuliamo il comportamento per la stringa generata posiziona-cursore clicca-tasto-sinistro-del-mouse trascina-cursore rilascia-tasto- sinistro-del-mouse digita-control digita-x rilascia-control rilascia-x posiziona- cursore digita-control digita-v rilascia-control rilascia-v

18 Begin End TAGLIA cliccabile INCOLLA cliccabile SELEZIONA-OGGETTO-DA TAGLIARE COMANDO-TAGLIA Oggetto eliminato Oggetto nel buffer.. Posiziona-cursore Oggetto selezionato Cursore posizionato COMANDO-INCOLLA Oggetto posizionato Marcatura iniziale: ( TAGLIAcliccabile, INCOLLA cliccabile )

19 ... Begin Cursore posizionabile Tasto sinistro del mouse cliccabile Posiziona cursore Cursore posizionato Oggetto non selezionato.. Clicca tasto sinistro del mouse Trascina cursore Oggetto selezionato Tasto sinistro del mouse cliccato... End Rislascia tasto sinistro del mouse Tasto sinistro del mouse rilasciato.

20 Begin End TAGLIA cliccabile INCOLLA cliccabile SELEZIONA-OGGETTO-DA TAGLIARE COMANDO-TAGLIA Oggetto eliminato Oggetto nel buffer.. Posiziona-cursore Oggetto selezionato Cursore posizionato COMANDO-INCOLLA Oggetto posizionato..

21 Begin End Control digitabile x digitabile Digita control Control digitato Rilascia x.. Digita x Rilascia x X rilasciato X digitato Control Rilasciato Rilascia Control Rilascia control.....

22 Begin End TAGLIA cliccabile INCOLLA cliccabile SELEZIONA-OGGETTO-DA TAGLIARE COMANDO-TAGLIA Oggetto eliminato Oggetto nel buffer Posiziona-cursore Oggetto selezionato Cursore posizionato COMANDO-INCOLLA Oggetto posizionato......

23 Begin End Control digitabile v digitabile Digita control Control digitato Rilascia x Digita v Rilascia v v rilasciato v digitato Control Rilasciato Rilascia Control Rilascia control

24 Begin End TAGLIA cliccabile INCOLLA cliccabile SELEZIONA-OGGETTO-DA TAGLIARE COMANDO-TAGLIA Oggetto eliminato Oggetto nel buffer Posiziona-cursore Oggetto selezionato Cursore posizionato COMANDO-INCOLLA Oggetto posizionato..

25 Utilizziamo la rete di Petri costruita per simulare il comportamento Del Comando Taglia e Incolla di Excell

26 task: Taglia e Incolla di Excell Begin End TAGLIA cliccabile INCOLLA cliccabile SELEZIONA-OGGETTO-DA TAGLIARE COMANDO-TAGLIA Oggetto eliminato Oggetto nel buffer.. Posiziona-cursore Oggetto selezionato Cursore posizionato COMANDO-INCOLLA Oggetto posizionato Marcatura iniziale: ( TAGLIAcliccabile, INCOLLA cliccabile )....

27 Questo e un esempio di come una rete di petri possa essere utilizzata per la verifica dellinconsistenza funzionale (esterna nellesempio)


Scaricare ppt "Esercitazione del Corso di Interazione Uomo-Macchina Modulo3: Metodi Formali per la Specifica di Interfacce: un esempio completo (V.Carofiglio)"

Presentazioni simili


Annunci Google