CMU CS 15-675 Architectures for Software Systems Spring 1998
Problem Frames (Case Study)
with answers
Garlan & Kazman Questions on Readings for Lecture 5 Due: Wed Jan 26, 1998
The papers:
[Jac95]: Software Requirements and Specifications, sections: Domain Characteristics, Problem Sensitivity, Misfits, Problem Complexity, Multi-Frame Problems (both parts), Hierarchy, Composition
[Fin93]: Report of the Inquiry Into the London Ambulance Service,
Hints:
We will apply the ideas of problem frames to understanding the design issues in the London Ambulance problem. The heart of the discussion is separating a complex problem into simpler parts and using problem frames appropriate to those parts.
[Fin93] is the best description of the London Ambulance problem available. As you read it, focus on the technical design questions. There were assuredly problems with management, politics, procurement, training, deployment, scale, and other areas. For present purposes, read the inquiry to discover the underlying problem that could be solved with computer dispatching and communications. You will have to think about how accidents are reported and how real people in a vehicle pool behave as well as the resource assignment task itself.
Questions:
1. When using multiple frames for the same problem, what is a common simple way they may be assembled?
An application domain is used as a principal part in each of two (or more) frames. It will often play different roles in different frames.
2. What are the critical requirements for London Ambulance?
Your answer might differ somewhat, but our reading gives the following:
Ambulance dispatch functionality
> Ambulance arrives at location of incident promptly; ambulance may take patient to hospital
Timely response without communication overload
Resilience to faulty communication
Resilience to independent field decisions by personnel
Incremental information about incident
Efficient use of resources, efficient response
3. At the highest level, which of the problem frames we've read best matches London Ambulance, and why? (Hint: justify answer using the terms described in Domain Characteristic section of Jac95.)
System is ...
> dynamic: has time (events, intervals) and state
» biddable, but not programmable
> multidimensional: has geography
> tangible: deals with real people, geography, vehicles
> reactive: responds to allocation decisions
» probably also active, but lets simplify that away
Consequences
> tangible ==> physical constraints
> tangible + dynamic ==> real-time constraints
Collectively, these lead us toward Control Frame
Modified: 5/18/98