Dialogue Notations and Design z Dialogue Notations y






































- Slides: 38
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 - 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 hard to name ybut easier to visualise
Hierarchical STNs z managing complex dialogues z named sub-dialogues
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 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 - 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’ 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 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 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 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 < 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, 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 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, 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 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 = 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 - 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 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 (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 - 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 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 - 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 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 noun xmouse based - noun verb zlayout xnot just appearance. . .
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 (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 -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 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 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 buttons • button A changes mode
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