Documente Academic
Documente Profesional
Documente Cultură
3, S E ~ M B E R1994 255
_..-
-.
R OADWAY traffic control relies upon a large number of Local and supervisory controllers are typically based on one
distributed microprocessors responsible for intersection of two different hardware platforms. One family of controllers,
signals, freeway ramp meters, traffic volume monitoring, com- commonly called NEMA units, are built with connectors
munication and various other tasks. Effective traffic control conforming to standard mechanical and electrical connectors.
can have significant impacts on urban congestion, air pollutant Suppliers compete based upon the internal hardware and
emissions and fuel consumption. Nevertheless, modernization software. Since the units have standard connectors, an agency
and improvement of roadway traffic control is hampered can migrate to another controller by unplugging one unit and
by inadequate field computing hardware and software [6]. plugging in a new one. However, due to additional proprietary
Existing controllers are based on decades-old control strate- sockets added to the NEMA TSI (Fig. 2) units and non-
gies; [4] and [lo] describe typical techniques. This paper standard communication protocols, this interchangeability is
presents a software model that is intended to foster significant not realized in practice. The 1988 NEMA TS1 standard has
improvements in the scope and opportunity for effective recently been updated (NEMA TS2 Type 1 and NEMA TS2
roadway traffic control. In describing the software model, the Type2) to address shortcomings of the NEMA TS1 standard
special characteristics of the roadway control problem are and incorporate a 40 character, 16 line display for interacting
reviewed. An example application is described for freeway with the controller. However, the software on all NEMA
ramp metering implemented as a demonstration on Route 52 controllers remains proprietary and cannot be ported by the
in Sacramento, CA. customer. Since most public agencies are required to solicit
Most distributed control systems are comprised of several competitive bids, engineers and technicians must learn and
hierarchical levels of control. Ideally, roadway traffic control maintain controllers based upon several different software
Manuscript received February 2, 1993. Paper recommended by Associate models. Furthermore, if a particular installation requires soft-
Editor X. Cao. ware modifications, manufacturer participation is required.
D. Bullock is with the Remote Sensing and Image Processing Laboratory,
Department of Civil Engineering, Louisiana State University, 322 I CEBA This is often unavailable, administratively very difficult, or
Building, Baton Rouge, LA 70803 USA. prohibited by competitive bid regulations.
Chris Hendrickson is with the Camegie Institute of Technology, Engi- A second family of controllers, referred to as the Cal-
neering Design Research Center and the Department of Civil Engineering,
Carnegie Mellon University, Pittsburgh, PA 15213 USA. trans Type 170 controllers (Fig. 3), are built to provide both
IEEE, Log Number 9403414. standard connectors and portable software. The philosophy
1063-6536/94$04,00 0 1994 IEEE
256
~~
Cm""
SIMdard 42:
comnw
Program
Module
I Fig. 5. A flow-density relationship.
Volumes: vAc = I .ooOvehicles per period, vBC = 500 vehicles per period
Traffic intersections also have the potential for major traffic librium imply major difficulties for traffic control and trans-
congestion, particularly if queues of vehicles can spill over to portation planning. Due to the non-convexity of the user
affect adjacent intersections.Intersections typically have lower equilibrium flow pattern, local improvements such as roadway
flow capacity than roadways since the passage space must be capacity expansions, new roadway links or local improvements
shared over time with different directions of travel. In the to traffic signal timing may result in a degradation of travel
extreme case of congestion, "gridlock" may occur with queues times overall. In the traffic engineering literature, this phe-
from one intersection preventing dispersion from adjacent nomenon is called Braess' paradox from the observation of
intersections. At low densities, issues of allocating green time a street improvement in Germany that resulted in increased
to different directions or turning movements must be addressed travel times [5, 141. Fig. 6 illustrates a simple situation of
for individual intersections. Also, co-ordination of green time linear congestion (travel time) functions in which just adding
to enable steady progression along a travel corridor arterial a new roadway link results in an overall increase in travel
can be extremely beneficial. time from 47,500 minutes to 48,300 minutes. As a result of
The mechanisms available for roadway traffic control are Braess' paradox, system monitoring to assess the actual effect
typically limited to indirect levers such as traffic signals, of control strategies is essential.
lane closures and speed limits. Individual drivers make all Another complication in the control of roadway traffic is
departure time, travel, route choice and destination decisions the multitude of objectives that must be considered. Public
for vehicles. The result is a "user equilibrium" of travel agencies are typically charged with considering the safety,
in which individuals attempt to minimize their own travel air pollution, and energy use implications of traffic control
cost. In making such decisions, drivers ignore the "external" strategies, as well as the congestion effects. These objectives
congestion costs their decisions impose on other users, so can be in conflict. For example, higher speeds may reduce
the resulting traffic pattern does not represent an efficient travel time but degrade safety [15].
or "system optimal" equilibrium travel pattern. Both the user In addition to these technical problems in roadway traffic
and system equilibrium travel pattern can be identified from control, there are also financial and organizational barriers
a mathematical optimization problem [ 181 with nodal and to modernization and improvement. Improvements in traffic
roadway link continuity constraints. For the user equilibrium, control will result in savings to the traveling public and society
the objective function consists of the integral of all travel time at large, but there are no direct revenues retumed to responsible
so that the first order Lagrangian conditions insure that travel local public agencies reflecting such quality improvements.
between two points occurs on only the minimum time paths. At the municipal level, traffic control expenditures often must
In addition to the limited control mechanisms available, compete with other obligations such as police or transit service
individual travel decision making and the resulting user equi- subsidy. As a result, improvements that may have substantial
258 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 2, NO. 3, SEPTEMBER 1994
social net benefits may be foregone due to financial constraints Portability: To insure portability, the control concepts must
or a lack of motivation at the local level. be completely decoupled from the physical instrumentation.
Consequently, it is desirable to develop a standard roadway
traffic control programming environment which could insure
111. A SOITWARE MODELFOR TRAFFIC ENGINEERING that decoupling. Using current C and assembly language
Transportation control software systems can be broadly development environments, it is not possible to prevent a
classified as "reactive systems" which interact with their developer from adding non standard code that could be difficult
environment via sensors and actuators. Real time programming to export or build upon. Examples include: using '?just one
techniques are required in portions of a reactive program peak" at an I/O port in a critical section of code or '?just a
for operations such as Input/Output communication, precise few" global variables.
timing, and strict access control for critical code segments. Maintenance: Several issues are involved in building "main-
For example, when developing software for serial communi- tainable" software, including: software models, design docu-
cations, it is essential to remove characters from the input port ments, coding style, comment style, modular design, accurate
with sufficient speed such that subsequent incoming characters "as built" documentation, and so on. Most of these issues
do not overwrite the previous character in the port before it can be adequately addressed by detailing standard software
is stored in an input buffer. Reactive systems are usually built development practices. However, the concept of modular
using one of four basic computing models: design is difficult to address by such a standard because
Ladder Logic. Ladder logic is oriented toward con- different developers are likely to partition modules quite dif-
structing electrical interlocks using a graphical language ferently. In terms of maintenance, it is undesirable to maintain
that resembles a ladder with several rungs. This works different software installations performing similar operations,
very well for replacing relay logic that was previously but based upon different modules. To prevent this condition
from occurring, it is necessary to restrict the developers tool
constructed using large electrical relay panels. However,
it is not well suited to data collection, processing of analog box to a collection of modules which can be assembled to
form a control and/or data acquisition strategy [ 171.
values or instrumentation.
Conjguration: A natural approach for an engineer or devel-
Transaction processing. Transaction oriented program-
oper is to sketch a conceptual solution [ 2 ] .Sketches are seman-
ming is oriented toward a state machine model of a
tically very rich and are useful for conveying the engineer's or
controller where the controller changes states in response
developer's approach to the problem. However, to implement a
to particular inputs. A state machine refers to a model of
sketch, it is necessary to translate this sketch into an executable
a machine or process that can be described by a finite
form. Automating this translation from a sketch to execution
number of stages (states) and conditions which cause
could increase the reliability and development speed [2]. This
transitions between states. This type of model is useful
translation is currently not possible in transportation control
for digital sequencing and interlocking operations. For
systems because there is no formal language upon which to
example, the phase sequencing at an intersection can be
develop these sketches. In contrast, their is a near one to one
implemented using this type of controller model.
relationship between P&ID diagrams and the iconic function
Transform processing. Transform oriented programming blocks used to implement those systems.
is useful for control applications which can be effec-
Software Instrumentation: To understand the operational
tively modeled by data streams and transforms. Transform behavior of control software it is important to be able to ef-
processing can range from simple mathematical flow fectively instrument it. This instrumentation typically involves
transforms to complex digital sequencing triggered by inserting software probes that can collect, display, or chart
external data flows. This type of model can support trans- relevant data. Traditional textual based programming language
action and ladder logic if the appropriate "transforms" are provide little support for this task other than a brute force
available. approach.
Procedural programming. Procedural programming in All of the programming models (ladder logic, transaction
assembly language is the state of the practice in con- processing, transform processing, and procedural program-
structing traffic control software. This approach provides ming) described above could be applied to transportation. In
a great deal of flexibility, but in practice this flexibility general, the ladder logic programming model is the most re-
cannot be realized because much of the software develop- strictive (in terms of what can and cannot be implemented) and
ment effort is directed at developing a basic infrastructure the procedural programming has the greatest flexibility. Based
of modules for controlling serial ports and scheduling upon the design criteria (portability, maintenance, easy config-
tasks. Most companies in the commercial sector are uration, and software instrumentation), a particular transform
now abandoning this practice in favor of one of models processing model called data flow programming appears to be
described previously because real time programming is the most desirable, at the expense of some flexibility. This
still a bit of an art and the resulting code can be extremely approach is used successfully by several process control and
difficult to maintain [l]. factory automation software vendors [81. Control algorithms
In selecting one of these programming models for construct- are configured by connecting together various function blocks
ing real time roadway control software, several critical issues using icons in a CAD type configuration program on a personal
must be considered. computer. Once a control strategy has been completed, it can
BULLOCK AND HENDRICKSON ROADWAY TRAFFIC CONTROL SOFTWARE 259
TABLE I
FUNCTIONBLWK SUMMARY
ANI). OR. X O H . NOT These hlock perform the essential A-SWCH selecrc between two analog signal h a d nn the
hoolc.in upercitiuns o n
i t i f i ~ theu input(s) state of a digital input
1)IyOn. DlvOff. OneShot These digital blocks ptrfonn A-U1 provides an operator with a mechmrm to enter an
di,ital logic timing uprations The DlyOn block delays a analog value for a user interface
umiviiiin t r i m Iriw tu high for a specified time Filter provides a simple discrete approxmation for a furt
Alicm;rtivelv. tlic DlyOff hlock delays a high to low transition order analog filter
t o r .I \ p c ~ i t i diiiiit' p e m d The OneShor provides a pulse
gcncriiting iiiechmwi l o r transitions froin IOW io high.
res1 compare5 an input against a set of absolute Hi and Lo
hounds or relative to another signal The result\ ot thew
I)-Shift provide\ ;I 16 hit \hilt register for transient storage coinparicons are digital points other hlocks can connect to It
111 digital \laic\ is useful for Implementing Londitional logic
I)-UI p m v i d e \ .in iiper;itor with simple onioff and pulse Sel-H, Sel-L. Sel-M High. low and middle seleLtor hlocks
opcratim\ lor uscr intertaces. The first two hlocks have two mputs, the middle selector
Match provides b a w demdmg functionality. requlres 3 inputs
Timer measure\ the duration of digital events RMSB provides supervisory rate selection for a ramp meter
Ciiunler can he used for counting lo-high transit~ons based upon one upstream volume sensor and up to SIX
downstream occupancy values
I:F-RS. FF-D, FF-JK: These blocks provide discrete
iiiipleiiientations of clocked KS. D.and I K f i p flops. A T flip LOOKUP: provides a interpolated lookup table for defining
flop c m he constructed from the JK ilip flop. non-lmear transformations
I)rum- provides rtate sequencmg suhject to minimum and D-Coll, A-CoU monitors up to eight inputs (Analog or
niilxiiiiuni durations with the capahility of back stepping. Digital) and records then state to a file A background
spooler is set up so this file can reside on any os9 file device
Hate ciilculates thc filtered rate of an mwming digital pulse These deviLes include hard disks floppy disks. RAM diskc
trm and non volatile disks
Add. Mull. Div These hlock provide hasic matheinatd RMDI. RMDO used t o read digital inputs (DI)or wnte
tipt.rnlion\ digital outpub (IX))on a 170 runnmg ramp mrtenng
Mavp. A-Shft- Roth hlocks implement a circular queue. The soft ware
Mavg hlock uses the queue to compute the movmg average of RMRI. RMRO used to read register inputs (RI) and wnte
a time senes. The A-Shft hlock provides a mechanism for
register outputs (KO) on a 170 runnmg ramp metermg
introducing il time delay (lag). software
A-Latch lawhe\ an analog value when a digital pulse is VMS contains up to 8 pnoritued messages that can he fued
rc~civd hy tnggenng an external digital mput
signal control program, and developing a completely new Fig. 7. Typical data Bow program.
program from scratch in assembly language. This approach
holds considerable promise for the traffic control community. and a list of connections between those activators.
The most fundamental issue in developing a function block F ={SI,. . . . fn}, the set of data flows between the
programming technique for traffic control is defining the
function block vocabulary and grammar for inter-connection activators.
of blocks to form control strategies. For our purposes, we The data flow diagram corresponding to A and F is a
developed and coded the set of function blocks summarized universe of discourse (a network of interconnected function
in Table I [7]. These blocks can be combined to perform a blocks) where A is used to represent function blocks and F
wide variety of traffic control tasks, even though they do not is used to represent the connections between function blocks
represent a comprehensive set of blocks. Before describing (91.Connections are described using two predicates source and
a particular application, we first formally define the function destin. Source is used to indicate which activation function u j
block language and implementation. is at the source of a data flow f; , and destin is used to indicate
the activation function ak at the destiation of a data flofi.
Iv. DEFINITION
OF THE FUNCTION
predicates, we can define three unique connection modes:
BLOCK TRAFFICCONTROLMODEL
A data flow d, is said to be a block connection if
A function block strategy is simply a collection of directed 3,[source(d, U ) ] A 3,[destin(d, U ) ] . It is possible for
graphs where the function blocks are the nodes and the data this connection mode to have the same block as both the
flows are the arcs as illustrated in Fig. 7. A convenient source and destination. This data flow can only be read
description of a graph contained in a strategy is a topologically by an extemal operator interface client.
sorted list of blocks: A data flow d, i s said to be a an extemal input connection
A = {U - 1: . . . , a n } , the set of activators if 4,[source(d, U ) ] A 3[destin(d,U)].This data flow
260 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 2. NO. 3, SEmMBER 1994
can be read or changed by an external operator interface 0; , the output flow references identifying the flows that
client. will be updated by the evaluation function. These flows
A data flow d, is said to be an external output connection can be read from and written to. This set of output flows
if 3,[source(d, a)] A d,[destin(d,a)]. This data flow can be formally defined as the set of flows that have
can only be read from an external operator interface client. activator a; for a source.
To provide a link between the data flow diagram and the I; = {yly E F and ai = s o u r c e ( z , a k ) } . (2)
extemal world, a special class of device interface blocks is
required to interact with sensors and actuators. For example, New output data flows emitted from activator (i) at time (t)
an activator that polls loop detectors, changes signal phasings, are calculated by applying an evaluation function (E) to the
communicates with a peer controller or archives data to input sockets I;,t , the local variables calculated the previous
a joumal file would be considered an external device and scan L;,(t-T,) , and the output sockets calculated the previous
described using the predicate extern. Similarly, blocks that Oi,(t-Ti)
only interact with data flows can be described using the
predicate intern.
oi,t = Ei(Ii,t,Li,t-T,, Oi,t-T,)
For example, given the data flow diagram depicted in Rather than specifying the processing period T; for each
Fig. 7, the set of activators would be A = {all . . . , as}, activator a; , it is desirable to collect all the activators ai ,
and the set of data flows would be F = { f l 1 . - . , f 9 } . that should be executed at a periodic rate T, into a group.
The set of block connections passing information between This group is assigned a Period T that defines how often
blocks would be Fconn = { f l , f2, f 3 1 f 4 , f5, f 6 3 f71 f8,f9); the collection of blocks in a group should be executed.
an operator interface client could be used for reading these Furthermore, to provide the capability for controlling the
values. The set of output only connections would be Foutput = execution of a group of blocks, a digital status connection is
( f 1 0 , f l l ) ; an operator interface client would only be able provided. When the status control signal is active, the blocks
to read values associated with these connections. The set of are executed at their periodic rate T. When the status control
input only connections would be Foutput = { f l z , f 1 3 } ; an is low, the blocks are never executed. A group is completely
operator interface client could be used for reading or writing described by the following information:
these values.
The set of external activators would be Aeztern - - G = {DIP,S}. (3)
{ a 1 ,a2, a3, a7, as} and the set of process activators would be
Aintern = { a 4 , a5, a6). Each of the activators corresponds D, a topologically sorted set of block records B, de-
to an activity or algorithm. The activators in Aproc = scribing the input flows, local storage, output flows, and
(a4, a5, a6} deal only with data flows present in the software
evaluation function for each activator. Since this set of
model. In contrast the activators in Aezt correspond to blocks describes a directed graph, it is essential that this
algorithms that know how to retrieve information from or list be topologically sorted such that all input flows are
transmit information to physical devices external to the updated before an evaluation function is run for a block.
software model. Since some activators interact with external Cycles are permitted, but a starting point must be specified
devices, which often impose timing constraints, it is important for each cycle and the blocks in a cycle are only executed
to distinguish between extern and intern blocks. once per period.
Since data flows are not static, a reference to a particular P, defines the period of the group and specifies how
data flow must include a time reference. For example, Ft = frequently the group of blocks shall be scheduled for
execution. This allows the developer to specify strategies
{ f l , t ~ ' * . , f m , t } is different from Fl,t+T = { f 1 ' * ' : f m , t + T )
if the activators have run between (t) and (t+T). where important blocks are run frequently (such as for
Each activator a; , is completely defined by block record B, a vehicle counter) and less important blocks, requiring
containing four pieces of information: more computation, run less frequently.
L; , local storage containing flags, parameters, calcu- S, is the status connection signaling the group whether
or not to execute the set of group records. This can
lated values, variables defining boundaries, and values
be useful for turning blocks on or off depending upon
explicitly saved from previous computations.
characteristics.
I%, the input flow references, defining which inputs flows
the activator must read to evaluate its algorithm. These A task r is defined as a collection of groups G , such that
flows can only be read, they can not be written to. This all groups have the same period. For example, if groups p , q
set of input flows can be formally defined as the set of and r all have the same period T; , then:
flows F, that have activator ai , for a destination: ~i = { G p , Gq, G r ) . (4)
The complete strategy is defined to be a set of all periodic
I = {zlz E F and a; = d e s t ( z , a j ) } . (I) tasks:
GROUP- 'Flmpca'
GROUP- TONTROL'
PERIOD. 0 02s PERIOD- 0 y)r
BLOCK 1
BLOCK 2
/
. Tl I -
BLOCK 1 C,
BLOCK 2
GROUP C
.....
BLOCK n
BLOCK 1
BLOCK 2
BLOCK n I
! I
IC,
i
Fig. 8. Processing of group and block structures by periodic task.
Fig. 10. A responsive ramp meter control strategy.
Wl
Fig. 11. Operation of the lookup table block algorithm.
. .. .
BULLOCK AND HENDRICKSON ROADWAY TRAFFIC CONTROL SOFTWARE 263
YL'Y
hnOcc2
RMSB
UPVOl1 RateCTL
I
L h*-"
mOcc3
0130
I Ill L----.1
Fig. 13. Ramp meter supervision problem.
I Auld
hnud
U
A t- 1
Fig. 15. Supervisory rate selection strategy.
a notebook PC and downloaded into EEPROMS or A. Auer, M. Levanto, A. Okkonen, and J. Okkonen, “Solutions in
flash memory in an ATC. The software running on the Software Crisis,” Micropmessing and Microprogramming. North-
Holland, pp. 273-280, Aug., 1990.
controller will be specifically designed to act as a server D. H. Baxter, Inform System Operations, Tech. Rep., JHK and Asso-
for developing clienthemer interfaces. ciates, Norcross, GA, Jan. 1991.
M. Bell, “Future directions in traffic signal control,” Transportation Res.,
Neither the software or hardware portion of this vision vol. 26A, no. 4, pp. 303-313, July 1992.
are complete at the current time. Although the hardware D. Braess, “Uber ein paradoxen der verkehrsplannung,”
commercially available for such a controller, several issues Untemehmensforchung, vol. 12, pp. 258-268, 1968.
D. Bullock, and C. Hendrickson, “Advanced software design and
remain including: standards for traffic signal control,” J. Transportation Engg., ASCE ,
1) Developing a list of “approved” modules and vendors. vol. 118, no. 3, pp. 430-438, May 1992.
D. Bullock, and C. Hendrickson, A Model for Roadway Traffic Control
2) Defining standard mechanical and electrical connectors Software, Tech. Rep., Camegie Mellon University, Dec. 1992.
for approved modules. S. P. Elwart, and P. G. Martin, “New software structures extend control
capabilities,” Contr. Engg., vol. 11, pp. 16-17, June 1990.
3) Establishing OEM’s to provide one stop ATC controller E. Falkenberg, R. Pols, and T. Weide, Understanding Process Structure
shopping. Diagrams, Tech. Rep. 89-1, University of Nijmegen, Dec. 1988.
4) Commitment by state and local agency to such a plat- Trafic Engineering Handbook. J. L. Pline, Ed., Englewood Cliffs,
NJ: Prentice Hall, 1992.
form to develop a sufficient market for multiple vendors R. Lau, “Personal communication,” Personal Commun., 1992.
to compete in. J. Lehoczky, L. Sha, and Y. Ding, “The rate monotonic scheduling
algorithm: exact characterization and average case behavior,” Real Time
The software aspect of this controller is both the most Syst. Sym., IEEE Computing Soc., pp. 166-171, Dec., 1989.
important, and challenging aspect of this controller vision. A. D. May, Traffic Flow Fundamentals. Englewood Cliffs, NI:
If we do not devote sufficient resources toward developing Prentice Hall, 1990.
J. D. Murchlund, “braess’ paradox of traff~cflow,” Transportation Res.,
a “canned software model“, software development issues will vol. 4, pp. 391-394, 1970.
severely impede modemization efforts. This paper proposed J. L. Pline, Trafic Engineering Handbook, fourth ed. Englewood
Cliffs, NJ: Prentice Hall, 1992.
a software model that is commonly used in the commercial T. Quinlan, Evaluation of Computer Hardware and High-Level Lan-
sector and could provide the following benefits: guage Software for Field Traffic Control, Tech. Rep., California Dept.
of Transportation, Sacramento, CA, Dec. 1989.
Basic software infrastructure. All controllers will have a M. Shaw, Prospects for an Engineering Discipline of Software, Tech.
uniform look and feel regardless of the application they Rep. CMU-CS-90-165, Camegie Mellon University, Pittsburgh, PA,
are running. Sept. 1990.
Y. Sheffi, Urban Transportation Networks: Equilibrium Analysis with
This model provide a much safer route for incorporating Mathematical Programming Methods. Englewood Cliffs, NJ: Pren-
changes since the “application” is customize, not the real tice Hall. 1985.
time programming model.
Function block diagrams provide a mechanism for ex-
changing control concepts.
Economically it would not be feasible for states to each Darcy Bullock received the B.S. degree from the
develop their own ATC software. To avoid getting locked University of Vermont in 1987, and the M.S. degree
into a single software vendor, it is critical that the block in 1988 and Ph.D. degree in philosophy in 1992
from Camegie Mellon University.
definitions and interface protocols be precisely specified. He is an Assistant Professor in the Department of
This will permit competitive bidding of independent Civil and Environmental Engineering at Louisiana
modules such as the graphical configuration tool, the real State University. His research and teaching interests
are in the general area of IVHS. Over the past
time kemel, and real time user interface tools. several years he has been actively involved in
Structured nature of blocks provides a formal framework developing the hardware and software architecture
for traffic engineering to definehequest new or revised for the next generation of traffic controllers.
blocks. As this software model grow, it is conceivable
to imagine a TRB or ITE committee overseeing this
development.
Chris Hendrickson received the B.S. and M.S.
degrees from Stanford University, and the Ph.D.
ACKNOWLEDGMENT degree in economics from Oxford University, and
The authors wish to acknowledge several suggestions from a PhD from the Massachusetts Institute of Technol-
ogy.
reviewers which clarified the presentation. Financial support He is Professor of Civil and Environmental Engi-
from Caltrans, the Califomia Department of Transportation, neering and Associate Dean of the Camegie Institute
in the initial work leading to this paper is gratefully ac- of Technology at Carnegie Mellon University. He is
also Education Director of the Engineering Design
knowledged. The views expressed by the authors do not Research Center, a National Science Foundation and
necessarily reflect the views of the Califomia Department of industrially supported Engineering Research Center.
Transportation. His research, teaching and consulting are in the general area of engineering
planning and management, including design for the environment, system
performance, finance and computer applications.
REFERENCES He has co-author4 two textbooks, Project Management for Construction
(Prentice-Hall, 1989) and Transportation Investment and Pricing Principles
[ l ] C. Andre and L. Fancelli, “A Mixed Implementation of a Real-Time (John Wiley & Sons, 1984) and two monographs, Knowledge Eased Process
System,’’ Microprocessing and Microprogramming. North-Holland, Planning for Construction and Manufacturing (Academic Press, 1989) and
pp. 397-402, Aug., 1990. Concurrent Computer Integrated Building Design (Prentice-Hall, 1994).