1 institute for software research, international methods of software development problem frames 3...
TRANSCRIPT
1Institute for Software Research, International
Methods of Software Development
Problem Frames 3
(This lecture is largely based on material graciously provided by Professor Mary Shaw)
3
Institute for Software Research, International
News article, 20 Oct 1992
AMBULANCE CHIEF QUITS AFTER PATIENTS DIE IN COMPUTER CRASH
By Ian MacKinnon and Stephen Goodwin The Chief executive of the London Ambulance Service resigned yesterday over allegations that up to 20 people may have died because of the collapse of a new computer system controlling emergency calls. Virginia Bottomley, Secretary of Sate for Health, was forced to announce an external inquiry into the 36 hours over Monday and Tuesday which led to delays of up to three hours in ambulances arriving. …
4
Institute for Software Research, International
London Ambulance Manual Dispatch
Call Taking Control Assistant (CA) writes down the call details on a pre-printed form Incident location is identified from a map book Incident form is placed into a conveyor belt system The conveyor belt then transports the forms to a central collection point
Resource Identification Staff member collects the forms from the central collection point Uses information on the form to decide which resource allocator should
deal with it three London Divisions - North East, North West, and South
Identifies potential duplicated calls Resource allocator then uses status and location information provided
through the radio operator and noted on forms maintained in the "activation box" for each vehicle, decides which resource should be mobilised
This resource is then also recorded on the form which is passed to a despatcher
Resource Mobilisation The despatcher will telephone the relevant ambulance station (if that is
where the resource is) or will pass mobilisation instructions to the radio operator if the ambulance is already in the field
This whole process should take no more than 3 minutes.
5
Institute for Software Research, International
London Ambulance Manual System Problems
identification of the precise location can be time consuming due to often incomplete or inaccurate details from the caller and the consequent need to explore a number of alternatives through the map books;
the physical movement of paper forms around the Control Room is inefficient;
maintaining up to date vehicle status and location information from allocators' intuition and reports from ambulances as relayed to and through the radio operators is a slow and laborious process;
communicating with ambulances via voice is time consuming and, at peak times, can lead to mobilization queues;
identifying duplicated calls relies on human judgment and memory. This is error prone;
dealing with call backs is a labor intensive process as it often involves CA's leaving their posts to talk to the allocators;
identification of special incidents needing a Rapid Response Unit or the helicopter (or a major incident team) relies totally on human judgment.
6
Institute for Software Research, International
London Ambulance Automation Issues
The London Ambulance Service decided to install a Computer-Aided Dispatch system.
There were numerous problems. We focus here on the design of the system architecture. This does not diminish the role of management,
political, procurement, scaling, training, and deployment problems.
We are only provided with Report of the Inquiry. http://www.cs.ucl.ac.uk/staff/a.finkelstein/las.html From this we can infer a requirement.
This study used in the software architecture research community as an example for trying out new ideas.
7
Institute for Software Research, International
Critical Requirements
Ambulance dispatch functionality Calls report incidents and other needs for transport An ambulance arrives at the location of an incident
promptly; the ambulance may take patient(s) to hospital
Other requirements 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
System considerations Incremental deployment Fit with existing system processes
8
Institute for Software Research, International
First cut at context and problem
Resources
Calls
AmbulanceDispatchMachine
Ambulance arrives atincident promptly, maytake patient to hospital
Commanded behavior
a
a: 911 call
b: dispatch message
c: requests
b
c
b
9
Institute for Software Research, International
Problem Domains
Calls: telephone calls from the public and doctors
Resources: ambulances, personnel, special equipment
But … Calls do not correspond directly to incidents Detailed knowledge of geography is required to
interpret calls and to know which ambulance to send So add domains … Incidents: discrete events that require
ambulance response Geography: Streets, addresses, hospital
locations, etc
10
Institute for Software Research, International
Ambulance Context
ResourcesIncidents
Calls Real WorldGeography
AmbulanceDispatchMachine
a
a: 911 call d: {create,update,close} incidentb: dispatch message e: geographic factsc: requests
d b
e
11
Institute for Software Research, International
Ambulance Problem
ResourcesIncidents
Calls Real WorldGeography
AmbulanceDispatchMachine
a
d b
e
bc
Ambulance arrives atincident promptly, maytake patient to hospital
a: 911 call d: {create,update,close} incidentb: dispatch message e: geographic factsc: requests
12
Institute for Software Research, International
Call Taking
Resources
CallsReal WorldGeography
Incid
en
ts r
efl
ect
info
in
calls
Prioritizes callsEstablishes location of incidentCombines multiple calls
about each incident
Call Taking
Incidents
a: 911 call d: {create,update,close} incident
a
d
Workpiece
13
Institute for Software Research, International
Geographic facts
ResourcesIncidents
Calls
GeographyModel
Real WorldGeography
Geog is OK
GeographyMachine
Model domain (ch 7)
14
Institute for Software Research, International
Call Taking
Resources
Calls
Incid
en
ts r
efl
ect
info
in
calls
an
d g
eog
rap
hy
Call Taking
Incidents
a: 911 call d: {create,update,close} incident
a
d
GeographyModel
Real WorldGeography
Geog is OK
GeographyMachine
a: 911 call d: {create,update,close} incidentb: dispatch message e: geographic factsc: requests
e
15
Institute for Software Research, International
Ambulance Dispatch
Ambulance arrives atincident promptly, maytake patient to hospital
Dispatch ResourcesIncidents
CallsReal WorldGeography
Actually dispatches ambulances basedon incidents and status of resources
d b
Commanded behavior
16
Institute for Software Research, International
Ambulance Dispatch
Ambulance arrives atincident promptly, maytake patient to hospital
Dispatch ResourcesIncidents
Calls
d b
GeographyModel
Real WorldGeography
Geog is OK
GeographyMachine
e
17
Institute for Software Research, International
Combined Ambulance Dispatch
Ambulance arrives atincident promptly, maytake patient to hospital
Dispatch ResourcesIncidentsd b
GeographyModel
Real WorldGeography
Geog is OK
GeographyMachine
e
Calls
Incid
en
ts r
efl
ect
info
in
calls
Call Taking
Incidents
a
d
e
Note: Incidents islexical in CallTaking, biddable in Dispatch
18
Institute for Software Research, International
Size Color
Composition by Sharing Domains
A domain is a view, or projection, of physical reality that emphasizes properties of interest
Different subproblems deal with different properties Composition requires consistent views
Lexical Biddable
RealityReality
19
Institute for Software Research, International
Revisit Call Taking
Calls
Incid
en
ts r
efl
ect
info
in
calls
Call Taking
Incidents
a
d
Workpiece assumes Calls are biddable and Incidents lexical
That would work if call taking were completely automatic.
It isn’t. Human operators have to map calls to incidents. So split into two subproblems – one with operators editing the Incident workpieces, another transforming calls mechanically to a form the operator can handle (prioritizing based on origin, adding inferable geography, etc)
20
Institute for Software Research, International
Processing Incoming Calls
1 A sequence of calls2 A sequence of 999, Doctor’s urgent, and transport calls3 A sequence of typed calls, identifiable by location
location from call box location or query by operator
4 A sequence of typed calls, with ringing and waiting handled criteria for delay, policy for ordering (?)
5 A buffered, sorted sequence of <call, type, caller-id> with other location information
6 A buffered, sorted sequence of <call, type, caller-id> with other information that identifies the incident
OperatorOperator
CallsCalls
What’s going on here?
21
Institute for Software Research, International
Revisit Call Taking
Calls
Incid
en
ts r
efl
ect
info
in
calls
Call Taking
Incidents
Reformater
Operator
ReformattedCalls
Workpieces
Transformation
22
Institute for Software Research, International
Revisit Dispatch
Ambulance arrives atincident promptly, maytake patient to hospital
Dispatch Resourcesd b
Commanded behavior assumes Incidents are biddable and Resources are causal. This assumption is one of the major causes of the original failure
In fact, Resources turned out to be a model of the real resources, and the model was not accurate. Causes were radio and location failure, equipment malfunction, poor tracking of equipment, but most severely, initiative on the part of the ambulance crews (they were biddable-active, not reactive-causal).
Incidents
23
Institute for Software Research, International
Heuristics used in finding subproblems
Identify core problem, find ancillary problems Start from dispatch, recognize need for calls,
geography Standard decomposition
Geography is clearly a model, so we found model-using and model-building subproblems. Refer to the previous lecture (and Chapter 7) for details on model variants.
Concerns and difficulties Treating resources as reactive-causal caused major
trouble Modeling the user (who’s actually the user here?)
Failure to model ambulance crews caused major trouble
24
Institute for Software Research, International
Things to think about on your own:How would you decompose Dispatch?
Ambulance arrives atincident promptly, maytake patient to hospital
Dispatch ResourcesIncidentsX B
25
Institute for Software Research, International
Things to think about on your own:Making Problem Frames work in
practice.
Based on what you’ve learned about Problem Frames,
Name one thing that you plan to do in software development after you graduate.
(Or put another way, name one thing that you have learned from Problem Frames that will help you in your career.)