300 likes | 425 Views
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.
E N D
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 C Control machine Commanded Behavior Operator RM!E2 E4 B
Commanded Information Real World RW!C1 C2 C Answering machine AM!E3 Commanded Information Display Y4 C Operator E5 Op!E5 B
Commanded Workpiece? Work Pieces WM!E1 Y4 WP!Y2 X Weird machine US!E3 Commanded Behavior E3 User B Operator E5 Op!E5 B
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 Light Units RC! {Rpule(I),Gpulse(I)} LU! {Go(I),Stop(I)} C Regulated Controller Conformity to regime LU! {Go(I),Stop(I)} Encoded regime ER!{Char} ER!{Phase,Duration}
Device Failure Detection Patient Constraints Failure Detector Analog devices ICU Patients C C Report AD failure Failure Report C
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 Membership rules c Membership rules Library controller Library staff Members and candidates
Payroll forms c a C Requirements for payroll Payroll System Output d b C
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 a Logfiles a: UA! {OpenLF, ReadLF} LF! {LogRecord(Read)} Usage analyzer a ISP Software a: IS! {ISPOpen,ISPClose,ISPWrite}
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