Problem Frames 8 - Variant frames
Variants
• Model
• Operator
• Description
• Connection
• Control
Operator• Commanded Behavior is the operator
variant of Controlled Behavior
Control machine
Operator
C
B E4RM!E2
C3
CommandedBehavior
Control machine
ControlDomain
C
CD!C2
C3 RequiredBehavior
CM!C1
ControlDomain
CM!C1
CD!C2
Commanded Information
Answering machine
Operator
C
B
Y4
Op!E5
C2
CommandedInformation
DisplayAM!E3
RW!C1
C
Real World
E5
Commanded Workpiece?
Weird machine
Operator
B
B
E3
Op!E5
Y4
CommandedBehaviorUser
US!E3
WM!E1
X
Work Pieces
E5
WP!Y2
Concern of operator variant
• Reject commands that are not sensible or not viable
• Carry out commands that are sensible and viable
Description variant
• Model variant makes a lexical domain that describes part of a domain
• Description variant makes a lexical domain that describes part of the requirement
• Description domain is a set of rules that machine will interpret
• A virtual machine!
Regulated One Way Lights
Regulated Controller
C
ER!{Phase,Duration}ER!{Char}
LU! {Go(I),Stop(I)}Conformity to regime
Light Units
RC! {Rpule(I),Gpulse(I)}
Encoded regime
LU! {Go(I),Stop(I)}
Device Failure Detection
Failure Detector C
Report AD failure
ICU Patients
Patient Constraints
C
Failure Report
C
Analog devices
Description Concern
• Must design description
• Requirements defines how to interpret description
• How does machine get new description?– Often there is another machine that edits it
Connection variants
• Connection domain is between the machine and the domain that the requirements are about (the remote domain)
• New domains
• Changes specification of machine
• Does not change requirements
Library controller
Members and candidates
Library staff
c Membership rules
Library controller
Members and candidates
Membership rules
Payroll System
Payroll forms
Output
C
C d
a
b
c
Requirements for payroll
Connection concerns
• Loss of information
• Errors
Control variants
• For each shared event,– Which domain controls type?– Which domain controls time?– Which domain controls who participates?
• Reading a file– Machine controls time and participants– Workpiece controls the value (type of event)
Control variant
Usage analyzer
ISP Softwarea
a: IS! {ISPOpen,ISPClose,ISPWrite}
Usage analyzer
Logfilesa
a: UA! {OpenLF, ReadLF} LF! {LogRecord(Read)}
Conclusions
• Most variants add a domain
• Variants have their own concerns
Particular Concerns
Problem Frames: Ch. 9
Concerns
• Questions to ask
• Crucial in understanding the problem
• Frame concerns
• Variant concerns
• Particular concerns
Particular Concerns
Concerns about a particular problem, not about a particular problem frame.
• Overrun
• Initialization
• Reliability
• Identities
• Completeness
Overrun
• A domain’s ability or inability to respond to each externally controlled event before the next event occurs.
• Occurs when there is a mismatch of speeds at a domain interface.– Machine too fast– Machine too slow
Strategies for slow machines
• Simple inhibition - the machine inhibits the shared events whenever it is not ready
• Ignoring - the machine ignores shared events whenever it is not ready
• Buffering - the machine buffers shared events whenever it is not ready, and participates later
Initialization
• Machine has initial state
• Problem has initial state– only start machine when domain is in proper
state– machine sets state of the domain– machine learns state of the domain
• Model has initial state
Reliability
• What happens when domain violates its description?
• Importance depends on– Likelihood of failure– Cost of failure
Reliability
Separate problem of normal operation from problem of reliability
• Detection
• Diagnosis
• Repair
Identities
• Identities concern is when the machine has an interface of shared phenomena with a set of individuals that – are not connected into any structure that
identifies them and– do not identify themselves.
Identities
• Add a structure that identifies individuals
• Model– must be initialized– must be maintained
Completeness
Does the machine do everything it is supposed to?
• Does a finite-state machine define what happens for every possible event?
• Does the description cover a large enough span?
Increasing Description Scope
• Widen participation– X can do Y
• What else can it do?
• Can anything else do Y?
• Complementary events– For each event, can the opposite event happen?
Particular Concerns
• Probably more
• A way to discover questions to ask
• Knowledge of experts