Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 textual notations grammars production rules CSP and event algebras.

Similar presentations


Presentation on theme: "1 textual notations grammars production rules CSP and event algebras."— Presentation transcript:

1 1 textual notations grammars production rules CSP and event algebras

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

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

4 4 Event based production rules Sel-line  first C-point first  rest C-point rest  rest D-point rest  Note: –events added to list of pending events –‘ first ’ and ‘ rest ’ are internally generated events Bad at state!

5 5 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!

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

7 7 Semantics Alexander SPI (i) Two part specification: EventCSP - pure dialogue order EventISL - target dependent semantics dialogue description - centralized syntactic/semantic trade-off - tolerable

8 8 Semantics Alexander SPI (ii) EventCSP Login = login-mess -> get-name -> Passwd Passwd = passwd-mess -> (invalid -> Login [] valid -> Session) EventISL event: login-mess prompt: true out: “Login:” event: get-name uses: input set: user-id = input event: valid uses: input, user-id, passwd-db when: passwd-id = passwd-db(user-id)

9 9 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 */

10 10 Action properties completeness missed arcs unforeseen circumstances determinism several arcs for one action deliberate: application decision accident: production rules nested escapes consistency same action, same effect? modes and visibility

11 11 Checking properties (i) completeness –double-click in circle states? double click ?

12 12 Checking properties (ii) Reversibility: –to reverse select `line'

13 13 Checking properties (ii) Reversibility: –to reverse select `line' –click

14 14 Checking properties (ii) Reversibility: –to reverse select `line' –click - double click

15 15 Checking properties (ii) Reversibility: –to reverse select `line' –click - double click - select `graphics' –(3 actions) N.B. not undo

16 16 State properties reachability can you get anywhere from anywhere? and how easily reversibility can you get to the previous state? but NOT undo dangerous states some states you don't want to get to

17 17 Dangerous States word 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

18 18 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 exit menu F1F2 Esc edit exit menu F1F2 Esc any update

19 19 layout matters word processor - dangerous states old keyboard - OK Esc F1F2 F3... F4... 1 tab... edit exit menu F1F2 Esc edit exit menu F1F2 Esc any update

20 20 layout matters new keyboard layout intend F1-F2 (save) finger catches Esc EscF1F2F3... edit exit menu F1F2 Esc edit exit menu F1F2 Esc any update

21 21 layout matters new 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

22 22 Dialogue Analysis - Summary Semantics and dialogue attaching semantics distributed/centralized dialogue description maximizing syntactic description Properties of dialogue action properties: completeness, determinism, consistency state properties: reachability, reversibility, dangerous states Presentation and lexical issues visibility, style, layout N.B. not independent of dialogue

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

24 24 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?

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


Download ppt "1 textual notations grammars production rules CSP and event algebras."

Similar presentations


Ads by Google