problem frames 7 - model domains and real worlds
TRANSCRIPT
Problem Frames 7 - Model domains and real worlds
Adding a “model” domain
• Technique for information display problems
• A problem frame variant
• A way of decomposing a problem into two subproblems
• Makes the problem simpler
• Describes the machine more accurately
Information Display:problem frame diagram
Realworld
Display
Informationmachine
C
C
Display -Real world
RW!C1
IM!E2
C3
Y4
Information Display with model
Realworld
Display
Displaymachine
C
C
Display -Model
RW!C1
IM!E2
C3
Y4
Model
X
Model
X
Modelingmachine
Model -Real world
Y6
Y6MM!E5
DM!E7
Decomposing
• Invent the model
• Split requirements into requirements for building the model, and requirements for displaying the results
• Make two specifications
Composition
• Two requirements should compose to form the original requirements– Except for extra model phenomena
• Two specifications should compose to form the original specification– Compositions should be easy, because– One creates model, the other reads it
Why use a model?
• Lets machine remember phenomena from the past– Model determines the questions that can be
answered– Model indicates memory that is needed
• Lets machine carry out some calculations incrementally
Why use a model?
• Can model defined terms as if they correspond to separate phenomena
• Can model processes of a conceptual domain as if they were physical entities
• Can capture and embody inference rules
• Can provide surrogates for private phenomena of the modelled domain
Model imperfections
• Model makes assumptions
• Continuously varying phenomena are modeled by discrete samples
• Samples are gathered at different times
• Time lag: sample is gathered after event happened
Model Imperfections
• Incompleteness: missing samples or values– Value doesn’t exist– Value is unknown
• Errors
Example: Experimental voltages
• Measure voltages at 32 points in a circuit
• Display voltages as columns side by side on the screen
• Display average voltage over all the points
More experimental voltages
• Display the average voltage of each point since the experiment began
– Discrete– Finite number of samples– Time lag
• Model: for each point, a count and a total€
averagei(s) = v i0
s
∫ (t)dt /s
More experimental voltages
• Average over last 5 minutes– Must keep set of samples for 5 minutes
• Maximum voltage– Keep maximum for each point
Example: Payroll System
• Inputs: Time cards, New employee form, benefit choice, raise, W4 form
• Outputs: Pay checks, W1 form, W2 form, check and forms to insurance company
Payroll problem diagram fitted to information display frame
Payroll System
Payroll forms
Output
C
C d
a
b
c
Requirements for payroll
a: Pf! {time cards, new employee form, benefit choice, raise, W4} C1
b: PS! {paychecks, W1, W2, checks and forms to insurance} E2
c: Pf! {time cards, new employee form, benefit choice, raise, W4} C3
d: O! {paychecks, W1, W2, checks and forms to insurance} Y4
Payroll input
Real world
PayrollDB
C
X Y6
RW!C1
PI!E5
C3
DB - Real world
Reports machine
PayrollDB
Reports
X
C Y4
MD!Y7
RM!E2
Y6
Reports -DB
Checkwriting machine
PayrollDB
Paycheck
X
C Y4
PD!Y7
CM!E2
Y6
Paychecks - DB
W2 machine
PayrollDB
W2
X
C Y4
PD!Y7
WM!E2
Y6
W2 - DB
Model Domains are common
• Compilers (Transformation)– symbol table, abstract syntax tree
• Robotics (controlled behavior)– map, where we are on the map
• Commanded behavior, Workpieces– undo, selections
Conclusion
• Models are useful for information display
• Models are probably useful for other problem frames
• Models are an example of a problem variant, and an example of decomposing problems and composing specifications