Models of the System - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Models of the System

Description:

Transparency. transparentE: D E. transparentE(display(e)) = e ... Result Transparency. transparentR: D R. transparentR(display(e)) = result(e) ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 24
Provided by: graphic6
Category:

less

Transcript and Presenter's Notes

Title: Models of the System


1
Models of the System
  • CptS 443
  • Human-Computer Interaction

2
Models of the System
  • What does the program do?
  • Arguing semantics
  • Models of the functionality of the core
  • Models
  • Standard - Z
  • Interaction - PIE
  • Status/event analysis

3
Communication
  • Why all the formality?
  • Between
  • design team
  • designers and developers
  • Reduces ambiguity
  • notation is well defined
  • different interpretations of notation

4
Analysis
  • Why all the formality?
  • Consistency
  • internal - between system functions
  • Verification
  • the thing right
  • external consistency w.r.t. program
  • Validation
  • the right thing
  • requirements match

5
Z Sets
  • Examples
  • Grade A,B,C,D,F
  • Keystroke
  • Notation
  • Uppercase - set
  • lowercase - element
  • Schema
  • tuple, struct, record
  • class.member

6
Z Sequences
  • Ordered array of zero or more elements
  • Examples
  • History seq Keystroke
  • Grades seq Grade
  • Catenation
  • Sequence A followed by sequence B
  • Notation A ? B

7
Z Functions
  • Notation
  • F A-gtB
  • F is a mapping from A to B
  • Means B F(A)
  • Conceptually an array of ordered pairs
  • (a,F(a)) for all a in A
  • Domain
  • Appropriate input to function
  • dom F A

8
Z Arrays
  • Implemented as functions
  • F Id -gt X
  • Id is the index, e.g. N - the natural numbers
  • X is the type of element stored in the array
  • Convention _dict
  • F A x B -gt C
  • indexed by a in A and b in B
  • Type of array is C

9
Example Sets
  • Name
  • Id Digit ? ... ? Digit
  • Studentname Id -gt Name
  • Student_dict N -gt Id
  • Students Studentname x Student_dict
  • Score Id x Assignment -gt Grade

10
The State of Z
  • Special schema containing
  • system memory
  • constraints that must be satisfied
  • Example state
  • students Students
  • scores Score
  • cur_student Id
  • -----
  • cur_student in dom students.studentname

11
Z Operators
  • Changing Z state
  • Another special schema
  • Notation
  • variable - value from old state
  • variable - value defined for new state
  • variable? - performance
  • variable! - presentation

12
Example Operator
  • AssignGrade
  • Definitions
  • State - old state State - new state
  • assignment? Assignment
  • newgrade? Grade
  • Procedure
  • scores scores U cur_student x assignment? -gt
    newgrade?

13
PIE Model
  • How do we quantify WYSIWYG?
  • Black box model
  • describe only inputs and outputs
  • Differentiates Display from Result
  • D - Display - what you see
  • R - Result - what you get
  • E - Effect - the state of the system
  • display E -gt D
  • result E -gt R

14
Why PIE
  • C - Command - word in Input language
  • P - Program - history of commands
  • I - Interpretation - performance
  • I P ? E

E
I
P
15
doit
  • The all purpose function
  • doit E x P -gt E
  • executes commands at a given state
  • I executes commands from init state
  • doit(I(p),q) I(p ? q)
  • doit(doit(e,p),q) doit(e, p ? q)

16
Pie Chart
R
result
I
P
E
display
D
17
Transparency
  • How to test observability and predictability
  • Transparency
  • transparentE D ? E
  • transparentE(display(e)) e
  • Observability of the state from the display
  • Result Transparency
  • transparentR D ? R
  • transparentR(display(e)) result(e)
  • Prediction of the result from the display

18
Transparency Diagram
resulttransparency
transparency
19
The Observable Effect
  • We cant always see the entire state
  • O - observable effect
  • More information than can be displayed
  • Interrogation - scroll bars, popups, etc.

20
Observability
  • Result observable
  • predictR O ? R
  • predictR(observe(e)) result(e)
  • Predict result by observing presentation
  • Fully observable
  • transparentO O ? E
  • transparentO(observe(e)) e
  • Knowing state by observing presentation

21
Reachability
  • We can get to any state from any other state by
    entering the appropriate commands
  • For all states e,e...
  • There exists a command sequence p such that...
  • doit(e,p) e

22
Undo
  • Can we get to the last state?
  • For all commands c...
  • doit(e,c ? undo) e
  • Not so fast, buster
  • Denote doit(e,x) as ex
  • doit(ex,undo) doit(e,x ? undo) e
  • doit(e,undo) doit(ex,undo ? undo) ex!!!
  • Fix no undo ? undo - use redo instead

23
PIE Extensions
  • Windowed Systems
  • interference properties between windows
  • Timing
  • input buffers - user faster than cpu response
  • Attention
  • task uses of display/result
  • Non-Determinism
  • random appearance to confused users
  • Dynamic Pointers
  • managing displayed references
Write a Comment
User Comments (0)
About PowerShow.com