Dialogue Notations and Design z Dialogue Notations y

  • Slides: 38
Download presentation
Dialogue Notations and Design z Dialogue Notations y Diagrammatic xstate transition networks, JSD diagrams,

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

State transition networks (STN) z circles - states z arcs - actions/events

State transition networks (STN) z circles - states z arcs - actions/events

State transition networks - events z arc labels a bit cramped because: ynotation is

State transition networks - events z arc labels a bit cramped because: ynotation is `state heavy‘ ythe events require most detail

State transition networks - states z labels in circles a bit uninformative: ystates are

State transition networks - states z labels in circles a bit uninformative: ystates are hard to name ybut easier to visualise

Hierarchical STNs z managing complex dialogues z named sub-dialogues

Hierarchical STNs z managing complex dialogues z named sub-dialogues

Flowcharts z familiar to programmers z boxes - process/event - not state Delete D

Flowcharts z familiar to programmers z boxes - process/event - not state Delete D 1 Please enter employee no. : ____ C 1 read record Delete D 2 Name: Alan Dix Dept: Computing delete? (Y/N): _ C 2 z use for dialogue (not internal algorithm) Delete answer? Y N C 3 delete record Finish D 3 Name: Alan Dix Dept: Computing delete? (Y/N): _ Please enter Y or N other Finish

JSD diagrams z for tree structured dialogues yless expressive Personnel Record System ygreater clarity

JSD diagrams z for tree structured dialogues yless expressive Personnel Record System ygreater clarity login add employee record transaction change employee record * logout display employee record delete employee record

Concurrent dialogues - I simple dialogue box Text Style bold example italic underline

Concurrent dialogues - I simple dialogue box Text Style bold example italic underline

Concurrent dialogues - II three toggles - individual STNs NO click on ‘bold’ bold

Concurrent dialogues - II three toggles - individual STNs NO click on ‘bold’ bold NO click on ‘italic’ italic NO u’line click on ‘underline’ bold italic u’line underline

Concurrent dialogues - III bold and italic combined Text Style NO click on ‘bold’

Concurrent dialogues - III bold and italic combined Text Style NO click on ‘bold’ style only click on ‘italic’ italic only bold click on ‘bold’ bold italic example bold italic underline

Concurrent dialogues - IV all together - combinatorial explosion Text Style NO ‘bold’ bold

Concurrent dialogues - IV all together - combinatorial explosion Text Style NO ‘bold’ bold style example only ‘underline’ ‘italic’ u’line ‘bold’ only bold u’line ‘italic’ italic ‘bold’ only bold italic ‘underline’ italic u’line ‘italic’ ‘bold’ bold italic u’line bold italic underline

Textual - Grammars z Regular expressions sel-line click* dble-click z compare with JSD xsame

Textual - Grammars z Regular expressions sel-line click* dble-click z compare with JSD xsame computational model xdifferent notation z BNF expr : : = empty | atom expr | '(' expr ')' expr z more powerful than regular exp. or STNs z Still NO concurrent dialogue

Production rules z Unordered list of rules: if condition then action ycondition based on

Production rules z Unordered list of rules: if condition then action ycondition based on state or pending events yevery rule always potentially active z Good for concurrency z Bad for sequence

Event based production rules Sel-line first C-point first rest C-point rest D-point rest <

Event based production rules Sel-line first C-point first rest C-point rest D-point rest < draw line > z Note: yevents added to list of pending events y‘first’ and ‘rest’ are internally generated events z Bad at state!

Prepositional Production System z State based z Attributes: x Mouse: { mouse-off, select-line, click-point,

Prepositional Production System z State based z Attributes: x Mouse: { mouse-off, select-line, click-point, double-click } x Line-state: { menu, first, rest } z Rules (feedback not shown): x select-line mouse-off first x click-point first mouse-off rest x click-point rest mouse-off x double-click rest mouse-off menu z Bad at events!

CSP and process algebras z used in Alexander's SPI, and Agent notation z good

CSP and process algebras z used in Alexander's SPI, and Agent notation z good for sequential dialogues Bold-tog = select-bold? bold-on select-bold? bold-off Bold-tog Italic-tog =. . . Under-tog =. . . z and concurrent dialogue Dialogue-box = Bold-tog || Italic-tog || Under-tog z but causality unclear

Dialogue Notations - Summary z Diagrammatic x. STN, JSD, Flow charts z Textual xgrammars,

Dialogue Notations - Summary z Diagrammatic x. STN, JSD, Flow charts z Textual xgrammars, production rules, CSP z Issues xevent base vs. state based xpower vs. clarity xmodel vs. notation xsequential vs. concurrent

Semantics - Alexander's SPI (i) z Two part specication: x. Event. CSP - pure

Semantics - Alexander's SPI (i) z Two part specication: x. Event. CSP - pure dialogue order x. Event. ISL - target dependent semantics z dialogue description - centralised z syntactic/semantic trade-off - tollerable

Semantics Alexander SPI (ii) z Event. CSP Login = login-mess -> get-name -> Passwd

Semantics Alexander SPI (ii) z Event. CSP Login = login-mess -> get-name -> Passwd = passwd-mess -> (invalid -> Login [] valid -> Session) z Event. ISL event: login-mess prompt: true out: “Login: ” event: get-name uses: input set: user-id = input event: valid uses: input, user-id, passwd-db wgen: passwd-id = passwd-db(user-id)

Semantics - raw code z event loop for word processor z dialogue description -

Semantics - raw code z event loop for word processor z dialogue description - very distributed z 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 */

Action properties z completeness xmissed arcs xunforeseen circumstances z determinism xseveral arcs for one

Action properties z completeness xmissed arcs xunforeseen circumstances z determinism xseveral arcs for one action xdeliberate: application decision xaccident: production rules z nested escapes z consistency xsame action, same effect? xmodes and visibility

Checking properties (i) zcompleteness ydouble-click in circle states? double click ?

Checking properties (i) zcompleteness ydouble-click in circle states? double click ?

Checking properties (ii) z Reversibility: yto reverse select `line'

Checking properties (ii) z Reversibility: yto reverse select `line'

Checking properties (ii) z Reversibility: yto reverse select `line' yclick

Checking properties (ii) z Reversibility: yto reverse select `line' yclick

Checking properties (ii) z Reversibility: yto reverse select `line' yclick - double click

Checking properties (ii) z Reversibility: yto reverse select `line' yclick - double click

Checking properties (ii) z Reversibility: yto reverse select `line' yclick - double click -

Checking properties (ii) z Reversibility: yto reverse select `line' yclick - double click - select `graphics' y(3 actions) z N. B. not undo

State properties z reachability xcan you get anywhere from anywhere? xand how easily z

State properties z reachability xcan you get anywhere from anywhere? xand how easily z reversibility xcan you get to the previous state? xbut NOT undo z dangerous states xsome states you don't want to get to

Dangerous States zword processor: two modes and exit F 1 F 2 Esc -

Dangerous States zword processor: two modes and exit F 1 F 2 Esc - changes mode - exit (and save) - no mode change Esc edit F 1 menu F 2 but. . . Esc resets autosave exit

Dangerous States (ii) z exit with/without save dangerous states z duplicate states - semantic

Dangerous States (ii) z exit with/without save dangerous states z duplicate states - semantic distinction edit F 1 any update edit F 1 -F 2 - exit with save F 1 -Esc-F 2 - exit with no save menu F 2 exit Esc F 1 menu Esc F 2 exit

Lexical Issues zvisibility xdifferentiate modes and states xannotations to dialogue zstyle xcommand - verb

Lexical Issues zvisibility xdifferentiate modes and states xannotations to dialogue zstyle xcommand - verb noun xmouse based - noun verb zlayout xnot just appearance. . .

layout matters z word processor - dangerous states edit F 1 any update z

layout matters z word processor - dangerous states edit F 1 any update z old keyboard - OK Esc tab F 1 F 2 F 3 F 4 . . edit menu . . . exit Esc F 1 menu Esc 1 F 2 exit

layout matters z new keyboard layout Esc F 1 intend F 1 -F 2

layout matters z new keyboard layout Esc F 1 intend F 1 -F 2 (save) finger catches Esc F 2 F 3 . . . edit F 1 any update edit menu F 2 exit Esc F 1 menu Esc F 2 exit

layout matters z new keyboard layout Esc F 1 F 2 intend F 1

layout matters z new keyboard layout Esc F 1 F 2 intend F 1 -F 2 (save) finger catches Esc F 1 -Esc-F 2 - disaster! F 3 . . . edit F 1 any update edit menu F 2 exit Esc F 1 menu Esc F 2 exit

Dialogue Analysis - Summary z Semantics and dialogue xattaching semantics xdistributed/centralised dialogue description xmaximising

Dialogue Analysis - Summary z Semantics and dialogue xattaching semantics xdistributed/centralised dialogue description xmaximising syntactic description z Properties of dialogue xaction properties: completeness, determinism, consistency xstate properties: reachability, reversibility, dangerous states z Presentation and lexical issues xvisibility, style, layout x. N. B. not independent of dialogue

Dialogue Analysis - Summary z Semantics and dialogue xattaching semantics xdistributed/centralised dialogue description xmaximising

Dialogue Analysis - Summary z Semantics and dialogue xattaching semantics xdistributed/centralised dialogue description xmaximising syntactic description z Properties of dialogue xaction properties: completeness, determinism, consistency xstate properties: reachability, reversibility, dangerous states z Presentation and lexical issues xvisibility, style, layout x. N. B. not independent of dialogue

Digital watch – User Instructions • two main modes • limited interface - 3

Digital watch – User Instructions • two main modes • limited interface - 3 buttons • button A changes mode

Digital watch – User Instructions • dangerous states • guarded by two second hold

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?

Digital watch – Designers instructions and. . . that’s just one button

Digital watch – Designers instructions and. . . that’s just one button