dialogue notations and
play

dialogue notations and Dialogue linked to the semantics of the - PDF document

Dialogue Notations and Design Dialogue Notations chapter 16 Diagrammatic state transition networks, JSD diagrams, flow charts Textual formal grammars, production rules, CSP dialogue notations and Dialogue linked to


  1. Dialogue Notations and Design • Dialogue Notations chapter 16 – Diagrammatic • state transition networks, JSD diagrams, flow charts – Textual • formal grammars, production rules, CSP dialogue notations and • Dialogue linked to – the semantics of the system – what it does design – the presentation of the system – how it looks • Form al descriptions can be analysed – for inconsistent actions – for difficult to reverse actions – for missing actions – for potential m iskeying errors what is dialogue? structured human dialogue • conversation between two or more parties • human-computer dialogue very constrained – usually cooperative • some human-human dialogue formal too … • in user interfaces Minister: do you m an’s nam e take this wom an … – refers to the structure of the interaction Man: I do – syntactic level of hum an–com puter ‘conversation’ Minister: do you wom an’s nam e take this m an … Wom an: I do • levels Man: With this ring I thee wed – lexical – shape of icons, actual keys pressed ( places ring on wom ans finger) – syntactic – order of inputs and outputs Wom an: With this ring I thee wed (places ring ..) – sem antic – effect on internal application/ data Minister: I now pronounce you m an and wife lessons about dialogue … and more • wedding service • what if woman says “I don’t”? – sort of script for three parties • real dialogues often have alternatives: – specifies order – som e contributions fixed – “I do” Judge: How do you plead guilty or not guilty? – others variable – “ do you m an’s nam e …” Defendant: either Guilty or Not guilty – instructions for ring concurrent with saying words “ with this ring …” – the process of the trial depends on the defendants response • if you say these words are you married? • focus on normative responses – only if in the right place, with m arriage licence – syntax not sem antics – doesn’t cope with judge saying “ off with her head” – or in com puter dialogue user standing on keyboard! 1

  2. dialogue design notations • dialogue gets buried in the program graphical notations • in a big system can we: – analyse the dialogue: • can the user always get to see current shopping basket – change platform s (e.g. Windows/ Mac) – dialogue notations helps us to state-transition nets (STN) • analyse systems Petri nets, state charts • separate lexical from semantoc flow charts, JSD diagrams • … and before the system is built – notations help us understand proposed designs State transition networks State transition networks - (STN) events • circles - states • arc labels a bit cramped because: – notation is ` state heavy‘ • arcs - actions/ events – the events require m ost detail click on click on centre circumference Circle 1 Circle 2 Finish rubber band draw circle click on select 'circle' click on centre circumference Circle 1 Circle 2 Finish rubber band draw circle select 'circle' Start Menu Start Menu click on select 'line' double click first point click on Line 1 Line 2 Finish select 'line' double click first point rubber band draw last Line 1 Line 2 Finish line rubber band draw last line click on point click on point draw a line draw a line State transition networks - Hierarchical STNs states • labels in circles a bit uninform ative: • m anaging complex dialogues – states are hard to nam e • named sub-dialogues Graphics Submenu – but easier to visualise select ‘graphics’ click on click on centre Text Submenu circumference select ‘text’ Main Circle 1 Circle 2 Finish rubber band draw circle Menu select 'circle' Start Menu Paint Submenu ... ... ... select ‘paint’ select 'line' 2

  3. Concurrent dialogues - II Concurrent dialogues - I three toggles - individual STNs simple dialogue box click on ‘bold’ NO bold bold Text Style bold bold click on ‘italic’ NO italic italic example italic italic underline click on ‘underline’ NO underline u’line u’line Concurrent dialogues - III Concurrent dialogues - IV bold and italic combined all together - combinatorial explosion Text Style Text Style NO ‘bold’ bold bold bold click on ‘bold’ style only example example italic italic NO bold underline style only underline ‘underline’ ‘underline’ ‘italic’ ‘italic’ u’line ‘bold’ bold only u’line click click on on ‘italic’ ‘italic’ ‘italic’ ‘italic’ italic ‘bold’ bold only italic click on ‘bold’ bold italic ‘underline’ ‘underline’ italic only italic bold ‘bold’ italic u’line u’line escapes help menus • ‘back’ in web, escape/ cancel keys • sim ilar problem s – sim ilar behaviour everywhere – nearly the sam e everywhere – end up with spaghetti of identical behaviours – but return to sam e point in dialogue • try to avoid this – could specify on STN … but very m essy Graphics Submenu ESC select ‘graphics’ – usually best added at a ‘m eta’ level normal e.g. on high level diagram finish ‘norm al’ exit for click on centre click on circumference from Circle 1 Circle 2 Finish Text Submenu ESC each subm enu select ‘text’ Menu rubber band draw circle Main Menu normal press HELP plus separate press HELP finish button button escape arc active Help Subsystem ‘everywhere’ in subm enu Help Subsystem ESC Paint Submenu normal select ‘paint’ finish 3

  4. Petri nets Petri net example • one of the oldest notations in com puting! Bold On Italic On user presses user presses • flow graph: ‘Italic’ ‘Bold’ – places – a bit like STN states – transitions – a bit like STN arcs T1 T2 T3 T4 – counters – sit on places (current state) • several counters allowed – concurrent dialogue states Italic Off Bold Off • used for UI specification (ICO at Toulouse) – tool support – Petshop user actions transition ‘fires’ represented when all input as a new counter places have counters State charts Flowcharts Delete D1 Please enter employee no.: ____ • used in UML • fam iliar to C1 read record program m ers • extension to STN Standby – hierarchy • boxes Delete D2 Delete D3 Name: Alan Dix Name: Alan Dix - process/ event – concurrent sub-nets ON OFF Dept: Computing Dept: Computing delete? (Y/N): _ delete? (Y/N): _ Please enter Y or N RESET - not state – escapes • OFF always active Channel Sound • use for dialogue C2 other – history answer? 1 (not internal algorithm) H On SEL Y N • link m arked H Finish 2 goes back to last C3 MUTE SEL SEL delete record state on re-entering Off 3 subdialogue SEL Finish 4 it works! JSD diagrams • form al notations – too m uch work? • for tree structured dialogues • COBOL transaction processing – less expressive Personnel – event-driven – like web interfaces – greater clarity Record System – program s structure Delete D1 Please enter � dialogue structure employee no.: ____ • used dialogue flow charts C1 read record * – discuss with clients login transaction logout Delete D2 Delete D3 Name: Alan Dix delete? (Y/N): _ Dept: Computing Please enter Y or N – transform to code delete? (Y/N): _ – system atic testing C2 answer? other – 1000% productivity gain Y N Finish add change display delete C3 • formalism saves time!! delete record employee employee employee employee record record record record Finish 4

  5. Textual - Grammars • Regular expressions sel-line click click* dble-click textual notations • com pare with JSD • same computational model • different notation • BNF grammars expr ::= empty | atom expr production rules | '(' expr ')' expr CSP and event algebras • m ore powerful than regular exp. or STNs • Still NO concurrent dialogue Production rules Event based production rules Sel-line � first • Unordered list of rules: C-point first � rest C-point rest � rest if condition then action D-point rest � < draw line > – condition based on state or pending events • Note: – every rule always potentially active – events added to list of pending events – ‘ first ’ and ‘ rest ’ are internally generated events • Good for concurrency • Bad at state! • Bad for sequence CSP and process algebras Prepositional Production System • State based • used in Alexander's SPI, and Agent notation • Attributes: • good for sequential dialogues Mouse: { mouse-off, select-line, click-point, double-click } Bold-tog = select-bold? � bold-on � select-bold? � bold-off � Bold-tog Line-state: { menu, first, rest } Italic-tog = . . . • Rules (feedback not shown): Under-tog = . . . select-line � mouse-off first • and concurrent dialogue click-point first � mouse-off rest click-point rest � mouse-off Dialogue-box = Bold-tog || Italic-tog || Under-tog double-click rest � mouse-off menu • but causality unclear • Bad at events! 5

Recommend


More recommend