38
Dialogue Notations and Design Dialogue Notations Diagrammatic state transition networks, JSD diagrams, flow charts Textual formal grammars, production rules, CSP Issues Dialogue Analysis Semantics and dialogue Properties of dialogue Presentation and lexical issue Example - Digital watch

Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Embed Size (px)

Citation preview

Page 1: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Dialogue Notations and Design

Dialogue Notations Diagrammatic

state transition networks, JSD diagrams, flow charts Textual

formal grammars, production rules, CSP

Issues Dialogue Analysis Semantics and dialogue Properties of dialogue Presentation and lexical issue

Example - Digital watch

Page 2: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

State transition networks (STN)

circles - states

arcs - actions/events

Start Menu

Circle 1 Circle 2 Finish

Line 1 Line 2 Finish

select 'circle'

select 'line'

click on centreclick on

circumference

draw circlerubber band

rubber band draw lastline

click onfirst point double click

click on point

draw a line

Page 3: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

State transition networks - events

arc labels a bit cramped because:

notation is `state heavy‘

the events require most detail

Start Menu

Circle 1 Circle 2 Finish

Line 1 Line 2 Finish

select 'circle'

select 'line'

click on centreclick on

circumference

draw circlerubber band

rubber band draw lastline

click onfirst point double click

click on point

draw a line

Page 4: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Start Menu

Circle 1 Circle 2 Finish

select 'circle'

select 'line'

click on centreclick on

circumference

draw circlerubber band

... ... ...

State transition networks - states

labels in circles a bit uninformative:

states are hard to name

but easier to visualise

Page 5: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Hierarchical STNs

managing complex dialogues

named sub-dialoguesGraphics Sub-menu

Text Sub-menu

Paint Sub-menu

MainMenu

select 'graphics'

select 'text'

select 'paint'

Page 6: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Flowcharts

familiar toprogrammers

boxes- process/event- not state

use for dialogue(not internal algorithm)

Delete D1

Please enteremployee no.: ____

Delete D3

Name: Alan DixDept: Computingdelete? (Y/N): _Please enter Y or N

Delete D2

Name: Alan DixDept: Computingdelete? (Y/N): _

answer?

C2

Finish

Finish

read record

C1

delete record

C3

other

NY

Page 7: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

JSD diagrams

for tree structured dialogues

less expressive

greater clarity

transactionlogin

addemployee

record

changeemployee

record

displayemployee

record

logout

PersonnelRecordSystem

deleteemployee

record

*

Page 8: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Concurrent dialogues - Isimple dialogue box

Text Style

bold

italic

underline

example

Page 9: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Concurrent dialogues - II three toggles - individual STNs

bold

italic

underline

NObold

boldclick on ‘bold’

NOitalic

italicclick on ‘italic’

NOu’line

u’lineclick on ‘underline’

Page 10: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Concurrent dialogues - IIIbold and italic combined

Text Stylebold

italic

underline

exampleNOstyle

boldonly

click on ‘bold’

clickon

‘italic’

italiconly

bolditalic

click on ‘bold’

clickon

‘italic’

Page 11: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Concurrent dialogues - IVall together - combinatorial explosion

‘italic’

NOstyle

boldonly

‘bold’

italiconly

bolditalic

‘bold’

‘italic’

u’lineonly

boldu’line

‘bold’

italicu’line

bolditalicu’line

‘bold’

‘italic’‘italic’

‘underline’ ‘underline’

‘underline’ ‘underline’

Text Stylebolditalicunderline

example

Page 12: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Textual - Grammars

Regular expressionssel-line click click* dble-click

compare with JSDsame computational modeldifferent notation

BNFexpr ::= empty | atom expr | '(' expr ')' expr

more powerful than regular exp. or STNsStill NO concurrent dialogue

Page 13: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Production rules

Unordered list of rules:

if condition then action

condition based on state or pending events every rule always potentially active

Good for concurrencyBad for sequence

Page 14: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Event based production rules

Sel-line firstC-point first restC-point rest restD-point rest < draw line >

Note: events added to list of pending events ‘first’ and ‘rest’ are internally generated events

Bad at state!

Page 15: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Prepositional Production System

State based

Attributes: Mouse: { mouse-off, select-line, click-point, double-click }

Line-state: { menu, first, rest }

Rules (feedback not shown): select-line mouse-off first

click-point first mouse-off rest

click-point rest mouse-off

double-click rest mouse-off menu

Bad at events!

Page 16: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

CSP and process algebras

used in Alexander's SPI, and Agent notation

good for sequential dialoguesBold-tog = select-bold? bold-on select-bold? bold-off

Bold-tog

Italic-tog = . . .

Under-tog = . . .

and concurrent dialogueDialogue-box = Bold-tog || Italic-tog || Under-tog

but causality unclear

Page 17: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Dialogue Notations - Summary

DiagrammaticSTN, JSD, Flow charts

Textualgrammars, production rules, CSP

Issuesevent base vs. state basedpower vs. claritymodel vs. notationsequential vs. concurrent

Page 18: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Semantics - Alexander's SPI (i)

Two part specication:EventCSP - pure dialogue order

EventISL - target dependent semantics

dialogue description - centralised

syntactic/semantic trade-off - tollerable

Page 19: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Semantics Alexander SPI (ii)

EventCSPLogin = login-mess -> get-name -> PasswdPasswd = passwd-mess -> (invalid -> Login [] valid -> Session)

EventISLevent: login-mess

prompt: trueout: “Login:”

event: get-nameuses: inputset: user-id = input

event: validuses: input, user-id, passwd-dbwgen: passwd-id = passwd-db(user-id)

Page 20: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Semantics - raw code

event loop for word processor

dialogue description - very distributed

syntactic/semantic trade-off- terrible!

switch ( ev.type ) { case button_down: if ( in_text ( ev.pos ) ) { mode = selecting; mark_selection_start(ev.pos); } ... case button_up: if ( in_text ( ev.pos ) && mode == selecting ) { mode = normal; mark_selection_end(ev.pos); } ... case mouse_move: if (mode == selecting ) { extend_selection(ev.pos); } ...} /* end of switch */

Page 21: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Action properties

completenessmissed arcsunforeseen circumstances

determinismseveral arcs for one actiondeliberate: application decisionaccident: production rules

nested escapesconsistency

same action, same effect?modes and visibility

Page 22: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Checking properties (i)

completeness double-click in circle states?

Start Menu

Circle 1 Circle 2 Finish

Line 1 Line 2 Finish

select 'circle'

select 'line'

click on centreclick on

circumference

draw circlerubber band

rubber band draw lastline

click onfirst point double click

click on point

draw a line

doubleclick

?

Page 23: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Checking properties (ii)

Reversibility:

to reverse select `line'

Start Menu

Line 1 Line 2 Finish

select 'circle'

select 'line'

rubber band draw lastline

click onfirst point double click

click on point

draw a line

... ... ...

select 'graphics'

select 'text'

select 'paint'

... ... ...MainMenu

Graphics Sub-menu

... ... ...

Page 24: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Checking properties (ii)

Reversibility:

to reverse select `line'

click

Start Menu

Line 1 Line 2 Finish

select 'circle'

select 'line'

rubber band draw lastline

click onfirst point double click

click on point

draw a line

... ... ...

select 'graphics'

select 'text'

select 'paint'

... ... ...MainMenu

Graphics Sub-menu

... ... ...

Page 25: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Checking properties (ii)

Reversibility:

to reverse select `line'

click - double click

Start Menu

Line 1 Line 2 Finish

select 'circle'

select 'line'

rubber band draw lastline

click onfirst point double click

click on point

draw a line

... ... ...

select 'graphics'

select 'text'

select 'paint'

... ... ...MainMenu

Graphics Sub-menu

... ... ...

Page 26: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Checking properties (ii)

Reversibility:

to reverse select `line'

click - double click - select `graphics'

(3 actions)

N.B. not undo

Start Menu

Line 1 Line 2 Finish

select 'circle'

select 'line'

rubber band draw lastline

click onfirst point double click

click on point

draw a line

... ... ...

select 'graphics'

select 'text'

select 'paint'

... ... ...MainMenu

Graphics Sub-menu

... ... ...

Page 27: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

State properties

reachabilitycan you get anywhere from anywhere?

and how easily

reversibilitycan you get to the previous state?

but NOT undo

dangerous statessome states you don't want to get to

Page 28: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Dangerous States

word processor: two modes and exitF1 - changes modeF2 - exit (and save)Esc - no mode change

but ... Esc resets autosave

edit exitmenuF1 F2

Esc

Page 29: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Dangerous States (ii)

exit with/without save dangerous states duplicate states - semantic distinction

F1-F2 - exit with save

F1-Esc-F2 - exit with no save

edit exitmenuF1 F2

Esc

edit exitmenuF1 F2

Esc

anyupdate

Page 30: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Lexical Issues

visibilitydifferentiate modes and statesannotations to dialogue

stylecommand - verb nounmouse based - noun verb

layoutnot just appearance ...

Page 31: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

layout matters

word processor - dangerous states

old keyboard - OK

Esc

F1 F2

F3

...F4

...

1

tab

......

edit exitmenuF1 F2

Esc

edit exitmenuF1 F2

Esc

anyupdate

Page 32: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

layout matters

new keyboard layout

intend F1-F2 (save)

finger catches Esc

Esc F1 F2 F3 ...

edit exitmenuF1 F2

Esc

edit exitmenuF1 F2

Esc

anyupdate

Page 33: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

layout matters

new keyboard layout

intend F1-F2 (save)

finger catches Esc

F1-Esc-F2 - disaster!

Esc F1 F2 F3 ...

edit exitmenuF1 F2

Esc

edit exitmenuF1 F2

Esc

anyupdate

Page 34: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Dialogue Analysis - Summary

Semantics and dialogueattaching semanticsdistributed/centralised dialogue descriptionmaximising syntactic description

Properties of dialogueaction properties: completeness, determinism, consistencystate properties: reachability, reversibility, dangerous states

Presentation and lexical issuesvisibility, style, layoutN.B. not independent of dialogue

Page 35: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Dialogue Analysis - Summary

Semantics and dialogueattaching semanticsdistributed/centralised dialogue descriptionmaximising syntactic description

Properties of dialogueaction properties: completeness, determinism, consistencystate properties: reachability, reversibility, dangerous states

Presentation and lexical issuesvisibility, style, layoutN.B. not independent of dialogue

Page 36: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Digital watch – User Instructions

• two main modes

• limited interface - 3 buttons

• button A changes mode

S M T W T F S S M T W T F S

STP

S M T W T F S

SET

A

Time display Stop watch

Time setting Alarm setting

A

AADepress button A for 2 seconds

S M T W T F S

ALM

AM

Page 37: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Digital watch – User Instructions

• dangerous states• guarded by two second hold

• completeness• distinguish depress A

and release A• what do they do

in all modes?

S M T W T F S S M T W T F S

STP

S M T W T F S

SET

A

Time display Stop watch

Time setting Alarm setting

A

AADepress button A for 2 seconds

S M T W T F S

ALM

AM

Page 38: Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production

Digital watch – Designers instructions

and ...

that’s justone button

S M T W T F S S M T W T F S

STP

S M T W T F S

SET

Time display Stop watch

Time setting Alarm setting

Depress A

2 seconds

S M T W T F S

ALM

AM

S M T W T F S S M T W T F S

STP

Release A Release A

Depress A

Depress A 2 seconds

Release A Release A