SlideShare a Scribd company logo
Desain dan Notasi
Dialog
Desain dan Notasi Dialog
 Notasi Dialog
 Diagrammatik
 keadaan transisi jaringan, diagram JSD, diagram alir (flowchart)
 Tekstual
 formal tata bahasa, aturan produksi, CSP
 Dialog terkait dengan
 semantik sistem - apa yang dilakukannya
 presentasi sistem – tampilannya
 deskripsi formal dapat dianalisis
 untuk tindakan yang tidak konsisten
 untuk sulit untuk membalikkan tindakan
 untuk tindakan yang hilang
 miskeying kesalahan potensial
Apa itu Dialog?
 percakapan antara dua pihak atau lebih
 biasanya kooperatif
 dalam antarmuka pengguna
 mengacu pada struktur interaksi
 tingkat sintaksis manusia-komputer ('percakapan‘)
 Tingkat
 leksikal - bentuk ikon, tombol ditekan aktual
 sintaksis - order input dan output
 efek semantik - pada aplikasi internal / data
dialog manusia yang terstruktur
 manusia-komputer dialog yang sangat terbatas
 beberapa dialog manusia-manusia terlalu formal …
Minister: do you man’s name take this woman …
Man: I do
Minister: do you woman’s name take this man …
Woman: I do
Man: With this ring I thee wed
(places ring on womans finger)
Woman: With this ring I thee wed (places ring ..)
Minister: I now pronounce you man and wife
lessons about dialogue
 wedding service (jasa pernikahan)
 acara untuk tiga pihak yang terkait
 menentukan urutan acara
 some contributions fixed – “I do”
 others variable – “do you man’s name …”
 instruksi untuk bersamaan memasukkan cincin dan
mengatakan dengan kata “with this ring …”
 jika Anda mengucapkan kata-kata itu, apakah Anda
menikah?
 hanya jika di tempat yang tepat, dengan lisensi
pernikahan
 sintaks tidak semantik
… and more
 what if woman says “I don’t”?
 real dialogues often have alternatives:
 the process of the trial depends on the defendants
response
 focus on normative responses
 doesn’t cope with judge saying “off with her head”
 or in computer dialogue user standing on keyboard!
Judge: How do you plead guilty or not guilty?
Defendant: either Guilty or Not guilty
notasi dialog Desain
 dialog akan dibuat dalam program
 dalam sistem besar yang bisa kita:
 menganalisis dialog:
 pengguna dapat selalu bisa melihat keranjang belanja saat
ini
 perubahan platform (misalnya Windows / Mac)
 notasi dialog membantu kita untuk
 menganalisis sistem
 terpisah leksikal dari semantic
 ... Dan sebelum sistem dibangun
 notasi membantu kita memahami desain yang
diusulkan
graphical notations
state-transition nets (STN)
Petri nets, state charts
flow charts, JSD diagrams
State transition networks
(STN)
 lingkaran – states/bagian
 tanda panah - actions/events
Start Menu
Circle 1 Circle 2 Finish
Line 1 Line 2 Finish
select 'circle'
select 'line'
click on centre
click on
circumference
draw circle
rubber band
rubber band draw last
line
click on
first point double click
click on point
draw a line
State transition networks -
events
 label busur sedikit sempit karena:
 notation is `state heavy‘

peristiwa yang paling membutuhkan detail
Start Menu
Circle 1 Circle 2 Finish
Line 1 Line 2 Finish
select 'circle'
select 'line'
click on centre
click on
circumference
draw circle
rubber band
rubber band draw last
line
click on
first point double click
click on point
draw a line
State heavy : kondisi yang
berat/menjemukan/melelahkan
,dsb
Start Menu
Circle 1 Circle 2 Finish
select 'circle'
select 'line'
click on centre
click on
circumference
draw circle
rubber band
... ... ...
State transition networks -
states

label di lingkaran sedikit tidak informatif :
 bagian yang susah diberi nama
 lebih mudah memvisualisasikan
Hierarchical STNs
 mengelola dialog yang complex
 nama sub-dialogues Graphics Submenu
Text Submenu
Paint Submenu
Main
Menu
select ‘graphics’
select ‘paint’
select ‘text’
Concurrent dialogues - I
simple dialogue box
Text Style
bold
italic
underline
example
Concurrent dialogues - II
three toggles - individual STNs
bold
italic
underline
NO
bold
bold
click on ‘bold’
NO
italic
italic
click on ‘italic’
NO
u’line
u’line
click on ‘underline’
toggles:beralih
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’
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’
‘italic’
‘underline’ ‘underline’
‘underline’ ‘underline’
Text Style
bold
italic
underline
example
escapes
 ‘back’ in web, escape/cancel keys
 perilaku yang serupa di mana-mana
 berakhir dengan pekerjaan yang ruwet
 dihindari dari
e.g. on high level diagram
‘normal’ untuk keluar
dari masing-masing sub menu
plus separate
escape arc active
‘everywhere’ in submenu
Graphics Submenu
Text Submenu
Paint Submenu
Main
Menu
select ‘graphics’
select ‘paint’
select ‘text’
normal
finish
ESC
normal
finish
ESC
normal
finish
ESC
help menus
 masalah serupa
 hampir sama di mana-mana
 tapi kembali ke titik yang sama pada dialog
 bisa menentukan di STN ... tapi sangat kacau
 biasanya terbaik ditambahkan pada meta 'tingkat
Finish
Help Subsystem
Circle 1
click on circumference
Circle 2
from
Menu
press HELP
button
draw circle
rubber band
click on centre
Help Subsystem
press HELP
button
Petri nets
 one of the oldest notations in computing!
 flow graph:
 places– a bit like STN states
 transitions – a bit like STN arcs
 counters – sit on places (current state)
 several counters allowed
 concurrent dialogue states
 used for UI specification (ICO at Toulouse)
 tool support – Petshop
Concurrent=berbarengan
Petri net example
Bold On Italic On
Bold Off Italic Off
user presses
‘Italic’
user presses
‘Bold’
T1 T2 T3 T4
user actions
represented
as a new counter
transition ‘fires’
when all input
places have counters
State charts
 used in UML
 extension to STN
hierarchy
concurrent sub-nets
escapes
 OFF always active
history
 link marked H
goes back to last
state on re-entering
subdialogue
On
Off
1
2
3
4
Sound Channel
H
SEL
SEL
SEL
SEL
MUTE
Standby
OFF
ON
RESET
Flowcharts
 familiar to
programmers
 boxes
- process/event
- not state
 use 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
Finish
read record
C1
delete record
C3
other
N
Y
it works!
 formal notations – too much work?
 COBOL transaction processing
 event-driven – like web interfaces
 programs structure
≠ dialogue structure
 used dialogue flow charts
 discuss with clients
 transform to code
 systematic testing
 1000% productivity gain
 formalism saves time!!
Delete D1
Please enter
employee no.: ____
Delete D3
delete? (Y/N): _
Please enter Y or N
Delete D2
Name: Alan Dix
Dept: Computing
delete? (Y/N): _
answer?
C2
Finish
Finish
read record
C1
other
N
Y
delete record
C3
JSD diagrams
 for tree structured dialogues
 kurang expressive
 terlalu luas
transaction
login
add
employee
record
change
employee
record
display
employee
record
logout
Personnel
Record
System
delete
employee
record
*
textual notations
grammars
production rules
CSP and event algebras
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
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
Event based production rules
Sel-line  first
C-point first  rest
C-point rest  rest
D-point rest  < draw line >
 Note:
 events added to list of pending events
 ‘first’ and ‘rest’ are internally generated events
 Bad at state!
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!
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
Dialogue Notations -
Summary
 Diagrammatic
 STN, JSD, Flow charts
 Textual
 grammars, production rules, CSP
 Issues
 event base vs. state based
 power vs. clarity
 model vs. notation
 sequential vs. concurrent
Semantics Alexander SPI
(i)
 Two part specication:
 EventCSP - pure dialogue order
 EventISL - target dependent semantics
 dialogue description - centralised
 syntactic/semantic trade-off - tollerable
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
wgen: passwd-id = passwd-db(user-id)
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 */
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
Checking properties (i)
 completeness
 double-click in circle states?
Start Menu
Circle 1 Circle 2 Finish
Line 1 Line 2 Finish
select 'circle'
select 'line'
click on centre
click on
circumference
draw circle
rubber band
rubber band draw last
line
click on
first point double click
click on point
draw a line
double
click
?
Checking properties (ii)
 Reversibility:
 to reverse select `line'
Start Menu
Line 1 Line 2 Finish
select 'circle'
select 'line'
rubber band draw last
line
click on
first point double click
click on point
draw a line
... ... ...
select 'graphics'
select 'text'
select 'paint'
... ... ...
Main
Menu
Graphics Sub-menu
... ... ...
Checking properties (ii)
 Reversibility:
 to reverse select `line'
 click
Start Menu
Line 1 Line 2 Finish
select 'circle'
select 'line'
rubber band draw last
line
click on
first point double click
click on point
draw a line
... ... ...
select 'graphics'
select 'text'
select 'paint'
... ... ...
Main
Menu
Graphics Sub-menu
... ... ...
Checking properties (ii)
 Reversibility:
 to reverse select `line'
 click - double click
Start Menu
Line 1 Line 2 Finish
select 'circle'
select 'line'
rubber band draw last
line
click on
first point double click
click on point
draw a line
... ... ...
select 'graphics'
select 'text'
select 'paint'
... ... ...
Main
Menu
Graphics Sub-menu
... ... ...
Checking properties (ii)
 Reversibility:
 to reverse select `line'
 click - double click - select `graphics'
 (3 actions)
 N.B. not undo
Start Menu
Line 1 Line 2 Finish
select 'circle'
select 'line'
rubber band draw last
line
click on
first point double click
click on point
draw a line
... ... ...
select 'graphics'
select 'text'
select 'paint'
... ... ...
Main
Menu
Graphics Sub-menu
... ... ...
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
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
F1 F2
Esc
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
F1 F2
Esc
edit exit
menu
F1 F2
Esc
any
update
Lexical Issues
 visibility
 differentiate modes and states
 annotations (penjelasan) to dialogue
 style
 command - verb noun
 mouse based - noun verb
 layout
 tidak sekedar penampilan
layout matters
 word processor - dangerous states
 old keyboard - OK
Esc
F1 F2
F3
...
F4
...
1
tab
...
...
edit exit
menu
F1 F2
Esc
edit exit
menu
F1 F2
Esc
any
update
layout matters
 new keyboard layout
intend F1-F2 (save)
finger catches Esc
Esc F1 F2 F3 ...
edit exit
menu
F1 F2
Esc
edit exit
menu
F1 F2
Esc
any
update
layout matters
 new keyboard layout
intend F1-F2 (save)
finger catches Esc
F1-Esc-F2 - disaster!
Esc F1 F2 F3 ...
edit exit
menu
F1 F2
Esc
edit exit
menu
F1 F2
Esc
any
update
Dialogue Analysis - Summary
 Semantics and dialogue
 attaching semantics
 distributed/centralised dialogue description
 maximising 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
Digital watch – User
Instructions
 two main modes
 limited interface
- 3 buttons
 button A
changes mode
S M T W T F S S M T W T F S
STP
S M T W T F S
SET
A
Time display Stop watch
Time setting Alarm setting
A
A
A
Depress
button A
for 2 seconds
S M T W T F S
ALM
AM
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?
S M T W T F S S M T W T F S
STP
S M T W T F S
SET
A
Time display Stop watch
Time setting Alarm setting
A
A
A
Depress
button A
for 2 seconds
S M T W T F S
ALM
AM
Digital watch – Designers
instructions
and ...
that’s just
one button
S M T W T F S S M T W T F S
STP
S M T W T F S
SET
Time display Stop watch
Time setting Alarm setting
Depress A
2 seconds
S M T W T F S
ALM
AM
S M T W T F S S M T W T F S
STP
Release A Release A
Depress A
Depress A
2 seconds
Release A Release A

More Related Content

PPT
E3 chap-16
PPT
HCI 3e - Ch 16: Dialogue notations and design
PPTX
Formal 5 – Dialogue models – what to do when
PPT
Pertemuan 6-2-sequence-diagram
PDF
AADL Overview: Brief and Pointless
PPTX
Unit 5.pptx
PDF
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
PPT
E3 chap-08
E3 chap-16
HCI 3e - Ch 16: Dialogue notations and design
Formal 5 – Dialogue models – what to do when
Pertemuan 6-2-sequence-diagram
AADL Overview: Brief and Pointless
Unit 5.pptx
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
E3 chap-08

Similar to IMK9-NOTASI_DIALOG IMK9-NOTASI_DIALOG AA (10)

PPTX
Event and signal driven programming techniques
PDF
SE_Lec 09_ UML Behaviour Diagrams
PPT
software-tools-part-1.ppt
PPT
e3-chap-08.ppt
PDF
Lecture 10 compiler i
PPTX
System Programming Overview
PPTX
UML.pptx
KEY
Pragmatic blocks
PPT
HCI 3e - Ch 8: Implementation support
Event and signal driven programming techniques
SE_Lec 09_ UML Behaviour Diagrams
software-tools-part-1.ppt
e3-chap-08.ppt
Lecture 10 compiler i
System Programming Overview
UML.pptx
Pragmatic blocks
HCI 3e - Ch 8: Implementation support
Ad

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation theory and applications.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
A Presentation on Artificial Intelligence
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Machine Learning_overview_presentation.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Empathic Computing: Creating Shared Understanding
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Encapsulation theory and applications.pdf
Approach and Philosophy of On baking technology
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Reach Out and Touch Someone: Haptics and Empathic Computing
A Presentation on Artificial Intelligence
Encapsulation_ Review paper, used for researhc scholars
Machine Learning_overview_presentation.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Machine learning based COVID-19 study performance prediction
Programs and apps: productivity, graphics, security and other tools
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...
Network Security Unit 5.pdf for BCA BBA.
Empathic Computing: Creating Shared Understanding
A comparative analysis of optical character recognition models for extracting...
Digital-Transformation-Roadmap-for-Companies.pptx
Ad

IMK9-NOTASI_DIALOG IMK9-NOTASI_DIALOG AA

  • 2. Desain dan Notasi Dialog  Notasi Dialog  Diagrammatik  keadaan transisi jaringan, diagram JSD, diagram alir (flowchart)  Tekstual  formal tata bahasa, aturan produksi, CSP  Dialog terkait dengan  semantik sistem - apa yang dilakukannya  presentasi sistem – tampilannya  deskripsi formal dapat dianalisis  untuk tindakan yang tidak konsisten  untuk sulit untuk membalikkan tindakan  untuk tindakan yang hilang  miskeying kesalahan potensial
  • 3. Apa itu Dialog?  percakapan antara dua pihak atau lebih  biasanya kooperatif  dalam antarmuka pengguna  mengacu pada struktur interaksi  tingkat sintaksis manusia-komputer ('percakapan‘)  Tingkat  leksikal - bentuk ikon, tombol ditekan aktual  sintaksis - order input dan output  efek semantik - pada aplikasi internal / data
  • 4. dialog manusia yang terstruktur  manusia-komputer dialog yang sangat terbatas  beberapa dialog manusia-manusia terlalu formal … Minister: do you man’s name take this woman … Man: I do Minister: do you woman’s name take this man … Woman: I do Man: With this ring I thee wed (places ring on womans finger) Woman: With this ring I thee wed (places ring ..) Minister: I now pronounce you man and wife
  • 5. lessons about dialogue  wedding service (jasa pernikahan)  acara untuk tiga pihak yang terkait  menentukan urutan acara  some contributions fixed – “I do”  others variable – “do you man’s name …”  instruksi untuk bersamaan memasukkan cincin dan mengatakan dengan kata “with this ring …”  jika Anda mengucapkan kata-kata itu, apakah Anda menikah?  hanya jika di tempat yang tepat, dengan lisensi pernikahan  sintaks tidak semantik
  • 6. … and more  what if woman says “I don’t”?  real dialogues often have alternatives:  the process of the trial depends on the defendants response  focus on normative responses  doesn’t cope with judge saying “off with her head”  or in computer dialogue user standing on keyboard! Judge: How do you plead guilty or not guilty? Defendant: either Guilty or Not guilty
  • 7. notasi dialog Desain  dialog akan dibuat dalam program  dalam sistem besar yang bisa kita:  menganalisis dialog:  pengguna dapat selalu bisa melihat keranjang belanja saat ini  perubahan platform (misalnya Windows / Mac)  notasi dialog membantu kita untuk  menganalisis sistem  terpisah leksikal dari semantic  ... Dan sebelum sistem dibangun  notasi membantu kita memahami desain yang diusulkan
  • 8. graphical notations state-transition nets (STN) Petri nets, state charts flow charts, JSD diagrams
  • 9. State transition networks (STN)  lingkaran – states/bagian  tanda panah - actions/events Start Menu Circle 1 Circle 2 Finish Line 1 Line 2 Finish select 'circle' select 'line' click on centre click on circumference draw circle rubber band rubber band draw last line click on first point double click click on point draw a line
  • 10. State transition networks - events  label busur sedikit sempit karena:  notation is `state heavy‘  peristiwa yang paling membutuhkan detail Start Menu Circle 1 Circle 2 Finish Line 1 Line 2 Finish select 'circle' select 'line' click on centre click on circumference draw circle rubber band rubber band draw last line click on first point double click click on point draw a line State heavy : kondisi yang berat/menjemukan/melelahkan ,dsb
  • 11. Start Menu Circle 1 Circle 2 Finish select 'circle' select 'line' click on centre click on circumference draw circle rubber band ... ... ... State transition networks - states  label di lingkaran sedikit tidak informatif :  bagian yang susah diberi nama  lebih mudah memvisualisasikan
  • 12. Hierarchical STNs  mengelola dialog yang complex  nama sub-dialogues Graphics Submenu Text Submenu Paint Submenu Main Menu select ‘graphics’ select ‘paint’ select ‘text’
  • 13. Concurrent dialogues - I simple dialogue box Text Style bold italic underline example
  • 14. Concurrent dialogues - II three toggles - individual STNs bold italic underline NO bold bold click on ‘bold’ NO italic italic click on ‘italic’ NO u’line u’line click on ‘underline’ toggles:beralih
  • 15. 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’
  • 16. 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’ ‘italic’ ‘underline’ ‘underline’ ‘underline’ ‘underline’ Text Style bold italic underline example
  • 17. escapes  ‘back’ in web, escape/cancel keys  perilaku yang serupa di mana-mana  berakhir dengan pekerjaan yang ruwet  dihindari dari e.g. on high level diagram ‘normal’ untuk keluar dari masing-masing sub menu plus separate escape arc active ‘everywhere’ in submenu Graphics Submenu Text Submenu Paint Submenu Main Menu select ‘graphics’ select ‘paint’ select ‘text’ normal finish ESC normal finish ESC normal finish ESC
  • 18. help menus  masalah serupa  hampir sama di mana-mana  tapi kembali ke titik yang sama pada dialog  bisa menentukan di STN ... tapi sangat kacau  biasanya terbaik ditambahkan pada meta 'tingkat Finish Help Subsystem Circle 1 click on circumference Circle 2 from Menu press HELP button draw circle rubber band click on centre Help Subsystem press HELP button
  • 19. Petri nets  one of the oldest notations in computing!  flow graph:  places– a bit like STN states  transitions – a bit like STN arcs  counters – sit on places (current state)  several counters allowed  concurrent dialogue states  used for UI specification (ICO at Toulouse)  tool support – Petshop Concurrent=berbarengan
  • 20. Petri net example Bold On Italic On Bold Off Italic Off user presses ‘Italic’ user presses ‘Bold’ T1 T2 T3 T4 user actions represented as a new counter transition ‘fires’ when all input places have counters
  • 21. State charts  used in UML  extension to STN hierarchy concurrent sub-nets escapes  OFF always active history  link marked H goes back to last state on re-entering subdialogue On Off 1 2 3 4 Sound Channel H SEL SEL SEL SEL MUTE Standby OFF ON RESET
  • 22. Flowcharts  familiar to programmers  boxes - process/event - not state  use 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 Finish read record C1 delete record C3 other N Y
  • 23. it works!  formal notations – too much work?  COBOL transaction processing  event-driven – like web interfaces  programs structure ≠ dialogue structure  used dialogue flow charts  discuss with clients  transform to code  systematic testing  1000% productivity gain  formalism saves time!! Delete D1 Please enter employee no.: ____ Delete D3 delete? (Y/N): _ Please enter Y or N Delete D2 Name: Alan Dix Dept: Computing delete? (Y/N): _ answer? C2 Finish Finish read record C1 other N Y delete record C3
  • 24. JSD diagrams  for tree structured dialogues  kurang expressive  terlalu luas transaction login add employee record change employee record display employee record logout Personnel Record System delete employee record *
  • 26. 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
  • 27. 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
  • 28. Event based production rules Sel-line  first C-point first  rest C-point rest  rest D-point rest  < draw line >  Note:  events added to list of pending events  ‘first’ and ‘rest’ are internally generated events  Bad at state!
  • 29. 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!
  • 30. 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
  • 31. Dialogue Notations - Summary  Diagrammatic  STN, JSD, Flow charts  Textual  grammars, production rules, CSP  Issues  event base vs. state based  power vs. clarity  model vs. notation  sequential vs. concurrent
  • 32. Semantics Alexander SPI (i)  Two part specication:  EventCSP - pure dialogue order  EventISL - target dependent semantics  dialogue description - centralised  syntactic/semantic trade-off - tollerable
  • 33. 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 wgen: passwd-id = passwd-db(user-id)
  • 34. 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 */
  • 35. 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
  • 36. Checking properties (i)  completeness  double-click in circle states? Start Menu Circle 1 Circle 2 Finish Line 1 Line 2 Finish select 'circle' select 'line' click on centre click on circumference draw circle rubber band rubber band draw last line click on first point double click click on point draw a line double click ?
  • 37. Checking properties (ii)  Reversibility:  to reverse select `line' Start Menu Line 1 Line 2 Finish select 'circle' select 'line' rubber band draw last line click on first point double click click on point draw a line ... ... ... select 'graphics' select 'text' select 'paint' ... ... ... Main Menu Graphics Sub-menu ... ... ...
  • 38. Checking properties (ii)  Reversibility:  to reverse select `line'  click Start Menu Line 1 Line 2 Finish select 'circle' select 'line' rubber band draw last line click on first point double click click on point draw a line ... ... ... select 'graphics' select 'text' select 'paint' ... ... ... Main Menu Graphics Sub-menu ... ... ...
  • 39. Checking properties (ii)  Reversibility:  to reverse select `line'  click - double click Start Menu Line 1 Line 2 Finish select 'circle' select 'line' rubber band draw last line click on first point double click click on point draw a line ... ... ... select 'graphics' select 'text' select 'paint' ... ... ... Main Menu Graphics Sub-menu ... ... ...
  • 40. Checking properties (ii)  Reversibility:  to reverse select `line'  click - double click - select `graphics'  (3 actions)  N.B. not undo Start Menu Line 1 Line 2 Finish select 'circle' select 'line' rubber band draw last line click on first point double click click on point draw a line ... ... ... select 'graphics' select 'text' select 'paint' ... ... ... Main Menu Graphics Sub-menu ... ... ...
  • 41. 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
  • 42. 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 F1 F2 Esc
  • 43. 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 F1 F2 Esc edit exit menu F1 F2 Esc any update
  • 44. Lexical Issues  visibility  differentiate modes and states  annotations (penjelasan) to dialogue  style  command - verb noun  mouse based - noun verb  layout  tidak sekedar penampilan
  • 45. layout matters  word processor - dangerous states  old keyboard - OK Esc F1 F2 F3 ... F4 ... 1 tab ... ... edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  • 46. layout matters  new keyboard layout intend F1-F2 (save) finger catches Esc Esc F1 F2 F3 ... edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  • 47. layout matters  new keyboard layout intend F1-F2 (save) finger catches Esc F1-Esc-F2 - disaster! Esc F1 F2 F3 ... edit exit menu F1 F2 Esc edit exit menu F1 F2 Esc any update
  • 48. Dialogue Analysis - Summary  Semantics and dialogue  attaching semantics  distributed/centralised dialogue description  maximising 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
  • 49. Digital watch – User Instructions  two main modes  limited interface - 3 buttons  button A changes mode S M T W T F S S M T W T F S STP S M T W T F S SET A Time display Stop watch Time setting Alarm setting A A A Depress button A for 2 seconds S M T W T F S ALM AM
  • 50. 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? S M T W T F S S M T W T F S STP S M T W T F S SET A Time display Stop watch Time setting Alarm setting A A A Depress button A for 2 seconds S M T W T F S ALM AM
  • 51. Digital watch – Designers instructions and ... that’s just one button S M T W T F S S M T W T F S STP S M T W T F S SET Time display Stop watch Time setting Alarm setting Depress A 2 seconds S M T W T F S ALM AM S M T W T F S S M T W T F S STP Release A Release A Depress A Depress A 2 seconds Release A Release A