Download presentation
Presentation is loading. Please wait.
Published byKendra Watwood Modified over 9 years ago
1
Dialogue Notations and Design zDialogue Notations yDiagrammatic xstate transition networks, JSD diagrams, flow charts yTextual xformal grammars, production rules, CSP zIssues yDialogue Analysis ySemantics and dialogue yProperties of dialogue yPresentation and lexical issue zExample - Digital watch
2
State transition networks (STN) zcircles - states zarcs - actions/events
3
State transition networks - events zarc labels a bit cramped because: ynotation is `state heavy‘ ythe events require most detail
4
State transition networks - states zlabels in circles a bit uninformative: ystates are hard to name ybut easier to visualise
5
Hierarchical STNs zmanaging complex dialogues znamed sub-dialogues
6
Flowcharts zfamiliar to programmers zboxes - process/event - not state zuse for dialogue (not internal algorithm) Delete D1 Please enter employee no.: ____ Delete D3 Name: Alan Dix Dept: Computing delete? (Y/N): _ Please enter Y or N Delete D2 Name: Alan Dix Dept: Computing delete? (Y/N): _ answer? C2 Finish read record C1 delete record C3 other NY
7
JSD diagrams zfor tree structured dialogues yless expressive ygreater clarity transactionlogin add employee record change employee record display employee record logout Personnel Record System delete employee record *
8
Concurrent dialogues - I simple dialogue box Text Style bold italic underline example
9
Concurrent dialogues - II three toggles - individual STNs bolditalicunderline NO bold click on ‘bold’ NO italic click on ‘italic’ NO u’line click on ‘underline’
10
Concurrent dialogues - III bold and italic combined Text Style bold italic underline example NO style bold only click on ‘bold’ click on ‘italic’ italic only bold italic click on ‘bold’ click on ‘italic’
11
Concurrent dialogues - IV all together - combinatorial explosion ‘italic’ NO style bold only ‘bold’ italic only bold italic ‘bold’ ‘italic’ u’line only bold u’line ‘bold’ italic u’line bold italic u’line ‘bold’ ‘italic’ ‘underline’ Text Style bold italic underline example
12
Textual - Grammars zRegular expressions sel-line click click* dble-click zcompare with JSD xsame computational model xdifferent notation zBNF expr ::= empty | atom expr | '(' expr ')' expr zmore powerful than regular exp. or STNs zStill NO concurrent dialogue
13
Production rules zUnordered list of rules: if condition then action ycondition based on state or pending events yevery rule always potentially active zGood for concurrency zBad for sequence
14
Event based production rules Sel-line first C-point first rest C-point rest rest D-point rest zNote: yevents added to list of pending events ‘ first ’ and ‘ rest ’ are internally generated events zBad at state!
15
Prepositional Production System zState based zAttributes: xMouse: { mouse-off, select-line, click-point, double-click } xLine-state: { menu, first, rest } zRules (feedback not shown): xselect-line mouse-off first xclick-point first mouse-off rest xclick-point rest mouse-off xdouble-click rest mouse-off menu zBad at events!
16
CSP and process algebras zused in Alexander's SPI, and Agent notation zgood for sequential dialogues Bold-tog = select-bold? bold-on select-bold? bold-off Bold-tog Italic-tog =... Under-tog =... zand concurrent dialogue Dialogue-box = Bold-tog || Italic-tog || Under-tog zbut causality unclear
17
Dialogue Notations - Summary zDiagrammatic xSTN, JSD, Flow charts zTextual xgrammars, production rules, CSP zIssues xevent base vs. state based xpower vs. clarity xmodel vs. notation xsequential vs. concurrent
18
Semantics - Alexander's SPI (i) zTwo part specication: xEventCSP - pure dialogue order xEventISL - target dependent semantics zdialogue description - centralised zsyntactic/semantic trade-off - tollerable
19
Semantics Alexander SPI (ii) zEventCSP Login = login-mess -> get-name -> Passwd Passwd = passwd-mess -> (invalid -> Login [] valid -> Session) zEventISL 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)
20
Semantics - raw code zevent loop for word processor zdialogue 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 */
21
Action properties zcompleteness xmissed arcs xunforeseen circumstances zdeterminism xseveral arcs for one action xdeliberate: application decision xaccident: production rules znested escapes zconsistency xsame action, same effect? xmodes and visibility
22
Checking properties (i) zcompleteness ydouble-click in circle states? double click ?
23
Checking properties (ii) zReversibility: yto reverse select `line'
24
Checking properties (ii) zReversibility: yto reverse select `line' yclick
25
Checking properties (ii) zReversibility: yto reverse select `line' yclick - double click
26
Checking properties (ii) zReversibility: yto reverse select `line' yclick - double click - select `graphics' y(3 actions) zN.B. not undo
27
State properties zreachability xcan you get anywhere from anywhere? xand how easily zreversibility xcan you get to the previous state? xbut NOT undo zdangerous states xsome states you don't want to get to
28
Dangerous States zword processor: two modes and exit F1- changes mode F2- exit (and save) Esc- no mode change but... Esc resets autosave edit exit menu F1F2 Esc
29
Dangerous States (ii) zexit with/without save dangerous states zduplicate states - semantic distinction F1-F2 - exit with save F1-Esc-F2 - exit with no save edit exit menu F1F2 Esc edit exit menu F1F2 Esc any update
30
Lexical Issues zvisibility xdifferentiate modes and states xannotations to dialogue zstyle xcommand - verb noun xmouse based - noun verb zlayout xnot just appearance...
31
layout matters zword processor - dangerous states zold keyboard - OK Esc F1F2 F3... F4... 1 tab... edit exit menu F1F2 Esc edit exit menu F1F2 Esc any update
32
layout matters znew keyboard layout intend F1-F2 (save) finger catches Esc EscF1F2F3... edit exit menu F1F2 Esc edit exit menu F1F2 Esc any update
33
layout matters znew keyboard layout intend F1-F2 (save) finger catches Esc F1-Esc-F2 - disaster! EscF1F2F3... edit exit menu F1F2 Esc edit exit menu F1F2 Esc any update
34
Dialogue Analysis - Summary zSemantics and dialogue xattaching semantics xdistributed/centralised dialogue description xmaximising syntactic description zProperties of dialogue xaction properties: completeness, determinism, consistency xstate properties: reachability, reversibility, dangerous states zPresentation and lexical issues xvisibility, style, layout xN.B. not independent of dialogue
35
Dialogue Analysis - Summary zSemantics and dialogue xattaching semantics xdistributed/centralised dialogue description xmaximising syntactic description zProperties of dialogue xaction properties: completeness, determinism, consistency xstate properties: reachability, reversibility, dangerous states zPresentation and lexical issues xvisibility, style, layout xN.B. not independent of dialogue
36
Digital watch – User Instructions two main modes limited interface - 3 buttons button A changes mode
37
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?
38
Digital watch – Designers instructions and... that’s just one button
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.