problem frames 8 - variant frames
DESCRIPTION
Problem Frames 8 - Variant frames. Variants. Model Operator Description Connection Control. Operator. Commanded Behavior is the operator variant of Controlled Behavior. Control machine. CM!C1. C3. Control Domain. Required Behavior. C. CD!C2. CM!C1. Control Domain. C3. CD!C2. - PowerPoint PPT PresentationTRANSCRIPT
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