HETEROGENEOUS DECOMPOSITION AND INTERLEVEL COUPLING FOR COMBINED
MODELING
Paul A. Fishwick
Dept. of Computer & Information Science
University of Florida
Bldg. CSE, Room 301
Gainesville, FL 32611
ABSTRACT
Combined methods for modeling in simulation involve
an integration of different model types. Often, dis
crete event methods are combined with continuous
modeling techniques to model a complex environmen
t that does not yield to formal description with only
one model type. It is essential that, when defining
a method for combined modeling, the coupling and
decomposition methods are well defined. We demon
strate with an example model of boiling water that
combined modeling is just a special case of using a
heterogeneous approach to model composition. Using
the heterogeneous approach provides a rich modeling
environment where highly complex systems contain
ing many distinct phases and multiple models can be
conveniently represented.
1 INTRODUCTION
In a recent paper, Forbus (1988) presents a compre
hensive overview of the field of qualitative physics.
Forbus notes that ....... device ontologies are un
natural" in modelling, for instance, a pot of boiling
water (see fig. 1) or a bouncing ball when expressed
within system dynamics. Although system dynam
Foam
Figure 1: A Pot of Boiling Water
ics (Shearer, Murphy and Richardson 1967) is inade
quate for representing systems containing phase tran
sitions and complicated boundary conditions. simu
lation methodology has developed concepts to mod
el complex systems over multiple levels of abstrac
tion (Fishwick 1986; Fishwick 1988; Fishwick 1989).
Oren (1991) has developed a concept of multimod
el to formalize models containing several submodels,
only one of which is put into effect at any time. Celli
er (1979) developed an approach to combined contin
uous/discrete event models implemented in a GASP
language extension. Praehofer (1991) extended the
Discrete Event System Specification (DEVS) (Zeigler
1990) to provide a formalism and a simulation envi
ronment for specifying combined continuous/discrete
event models. In this article, we build on these devel
opments by providing a methodology and formalism
for developing multiple, cooperative models of physi
cal systems of the type studied in qualitative physics.
The formalism should help to build intelligent ma
chines capable of physical modelling and reasoning.
We will use the system of boiling water to illustrate
our methods. Although at first glance, it appears too
simplistic, the boiling water system is appropriate for
demonstrating a wide range of discrete and continu
ous behaviors as well as levels of abstraction. All
models for computer simulation are constructed to
answer a certain class of question. With our multi
level approach, we are capable of answering a larger
number of questions than with a singlelevel model.
For instance, the question "How long will it take for
the pot to boil over?" requires a numerical answer
whereas "What is the next step after water starts
heating?" involves a qualitative answer such as "If
the system is in the phase heating, and the control
knob is turned off then the next phase will be cooling.
However, if the water temperature reaches 100 then
the water starts boiling." We present a method that
permits this kind of multilevel reasoning. Fishwick
and Zeigler (1991) have recently discussed a method
for linking the heterogeneous level coupling concept
TR91006 Computer and Information Sciences, University of Florida
within the formal DEVS framework.
We first review formal definitions of systems and
key system concepts that are essential at any abstrac
tion level. Then using the boiling water system as
illustration, we link a finite state automaton (FSA)
to an underlying continuous model thereby achieving
a heterogenous level coupling.
2 SYSTEM DEFINITION
2.1 Formal Specification
A deterministic system < T, U, Y, Q, 6, A > with
in classical systems theory (Padulo and Arbib 1974;
Wymore 1977) is defined as follows:
T is the time set. For continuous systems T =
7R (reals), and for discrete time systems, T = Z
(integers).
U is the input set containing the possible values
of the input to the system.
Y is the output set.
S is the state set.
f is the set of admissible (or acceptable) input
functions. This contains a set of input functions
that could arise during system operation. Often,
due to physical limitations, f is a subset of the
set of all possible input functions (T U).
6 is the transition function. It is defined as:
6: SxTxTx S.
A is the output function, A : T x S Y.
A system is said to be timeinvariant when its be
havior does not depend on the absolute value of time.
In this case, the transition function can be simplified
to the form: 6 : S x T x S. Here, 6(s,t,w)
yields the state that results from starting the system
in s and applying the input w for a duration of t
time units. In discreteevent like systems, the effec
t of the input can be captured in a resetting of the
initial state.
The system formalism is very general. For instance,
figures 2 and 3 show two sample models that can be
represented using a 1) block network, and 2) state
transition method, respectively. Both of these for
malisms can be shown to be subclasses of the system
formalism (Zeigler 1976). In fig. 2, transfer function
s are represented as boxes with inputs and outputs
connected to each box. This is termed a 1.1... 1: mod
el" in systems engineering or a "data fl.. graph in
software engineering. The state vector for this system
Figure 2: Block Network Orientation
Figure 3: State Transition Orientation
is a subset of the outputs Yi. Specifically, the outputs
connected to boxes with memory (i.e., integrator or
delay boxes) make up the system state (H represents
algebraic cross product):
S= f{Y, = 1 dt}
Fig. 3 displays a system by emphasizing statetostate
transitions instead of using a block network orienta
tion. An important class of state transition model is
the finite state automaton. In this example, outputs
Yi are associated with states Si. Input condition
s involving Ui provide determinism where there are
multiple branches from a state.
3 COMBINED MODELS
Taking the cross product of time and state in terms
of two possible values ("discrete" and "continuous")
suggests four possible model types. The Discrete
Event model type has continuous time and a dis
cretized state space. A Discrete Time model has a
discrete time space with equal time intervals (the s
tate space may be either discrete or continuous). A
Continuous model has both continuous and discrete
time and space. Table 1 displays these combinations
with example model formalisms for each. What about
continuous events? In the simulation literature (Oren
1 ";a; Oren 1987b), one finds reference only to dis
crete events. Continuous events might be defined in
TR91006 Computer and Information Sciences, University of Florida
terms of the start and end of an arbitrary numeri
cal integration interval. However, this concept is not
adequate since it depends on a simulation process,
and is not an intrinsic characteristic of the model. It
seems that events, by their very nature, are discrete
since they map to cognitive and linguistic concept
s connected with the processes that we model. In
the next section, we attempt to provide a conceptual
framework for understanding discrete events.
A combined model combines two or more of the
above model types. For instance, a combined discrete
event/continuous model has two distinct model types:
a discrete event model and a continuous model. These
two models are coupled with discrete events (Cellier
1979; Praehofer 1991).
4 BOILING WATER EXAMPLE
4.1 A High Level Automaton Model
Consider a pot of boiling water on a stovetop electric
heating element. Initially, the pot is filled to some
predetermined level with water. A small amount of
detergent is added to simulate the foaming activi
ty that occurs naturally when boiling certain foods.
This system has one input or control the temper
ature knob. the knob is considered to be in one of
two states: on or off (on is 1900C; off is a ambient
temperature). We make the following assumptions in
connection with this physical system:
1. The input (knob turning) can change at any
time. The input trajectories are piecewise con
tinuous with two possible values (ON,OFF).
2. The liquid level (height) does not increase until
the liquid starts to boil.
3. When the liquid starts to boil, a layer of foam
increases in height until it either overflows the
pot or the knob is turned off.
4. The liquid level decreases during the heating and
overflow phases only.
To create a mathematical model, we must start
with data and expert knowledge about the domain.
If enough data can be gathered in a cost effective
way then our model engineering process will be sim
plified since we will not have to rely solely on heuris
tics to identify the model. By analyzing a pot of
boiling water we may derive simple causal model
s whose individual transitions may be knob_on
water_getting_hotter(1.0) or water_getting_hotter 4
water_boiling(0.75) where numbers in parentheses
are certainty factors. An important facet of system
modelling is that we choose certain modelling meth
ods that require a categorization of informally speci
fied system components. Key components of any sys
tem model are input, output, state, event, time and
parameter. Different modelling methods include these
components in different ways. For instance, an FSA
focuses on statetostate transitions with input being
labeled on each arc. A dataflow model, on the other
hand, focuses on the transfer function between input
and output. We define our most abstract model of
boiling water using an FSA shown in figure 4.
4.2 Heterogeneous Model Refinement
Homogeneous model refinement (Fishwick and Zei
gler 1991) is the process of refining models of the same
type. For instance, we might represent the boiling wa
ter system using a hierarchy of finite state automata
instead of the single level shown in fig. 4. We will limit
our discussion in this paper to heterogeneous refine
ment. Heterogeneous refinement takes homogeneous
refinement a step further by loosening the restriction
of equivalent model types. For instance, we might
have a Petri net at the high abstraction level and we
may choose to decompose each transition into a block
graph so that when a transition fires within the Petri
net, one may "drop .I..; i into a functional block
level. For the FSA in fig. 4 we choose to represent
each state as a continuous model. Specifically, each
state will define how three state variables, T (tem
perature), H, (height of water), and Hf (height of
foam on the top of the water) are updated. In all
cases, Hf > Hw. The end result will eventually be a
multimodel that will be coordinated by the FSA.
4.3 A Low Level Continuous Model
The continuous models contained within states
Heating and Cooling (shown in fig. 4) require some
physical theory before stating them. We model heat
conduction since convection and radiation do not play
major roles in this system. To derive a good contin
uous model for Heating and cooling, we first define
resistance. There is thermal resistance R = H/kA
(H is the height of water, A is the surface area of
the pot, and k is the thermal conductivity of water).
We will ignore (or "abstract out") the resistance of
the pot since it is not as significant as the resistance
of water. The definition for thermal capacitance C
is CT = qh with qh being the flow of heat from the
heating element to the water. We will let C1 be the
capacitance of the metal pot, C2 be the capacitance
of water, and C be the total capacitance. Newton's
law of cooling states that Rqh = AT = T T2 where
TR91006 Computer and Information Sciences, University of Florida
Table 1: Simulation Model Types
I=OFF
I=ON
I=ON
I=ON or IOFF
Figure 4: Six State Automaton Controller for Boiling Water Multimodel
Ti is the temperature of the source (heating elemen
t), and T2 is the temperature of the water. Since T2
is our state variable we let T = T2 for convenience.
By combining Newton's law with the capacitance law,
and using the law of capacitors in series, we arrive at: foohmg Heatin
k C1 + C2
k +
RCIC2
T = k(Ti T)
Hence, equation (2) is a first order lag with a step
input representing the sudden change in temperature
as effected by a control knob. Figure 5 displays a
block diagram of Heating within the Heating state.
Proper coupling is essential in heterogeneous refine
ments. That is, it must be made clear how compo
nents at one level match components at the higher
level. Note, in fig. 5, the transfer function taking the
ON/OFF input detected by the FSA and converting
these input values to temperature values for the block
network. Specifically, the block labeled 'F' performs
the mapping from 'ON/OFF' to realvalued temper
atures a < T < 190.
The lowlevel continuous models M, ..., M5 are
defined as follows:
to
Coohng
Figure 5: Decomposition of Heating State
Discrete Space Continuous Space
Discrete Time Discrete Time Discrete Time
Difference Equations Difference Equations
(with integer states) (with real states)
Cellular Automata
Finite State Automata
Continuous Time Discrete Event Continuous
Queuing Models Differential Equations
Digital Logic Models
TR91006 Computer and Information Sciences, University of Florida
1. (Mi) COLD: T = a, H = 0, Hf = 0.
2. (M2) HEATING: T
Hf =0.
3. (M3) COOLING: T
k3(Hf H).
4. (M4) BOILING: T = 100, H,
k5(Hf H.).
I il
k4Hw, Hy
5. (Ms) OVERFLOW: same as BOILING w/ con
straint Hf > Ht.
6. (M6) UNDERFLOW: T = undefined, H =
Hf =0.
The system phase is denoted by D and the state
variables are:
T: temperature of water.
H,: height of the water.
Hf: height of the foam.
Note that the continuous models share a common set
of state variables. However, in general state variables
may be different for each M3 model.
There are also some constants such as Ht for the
height of top of pot, H, for the starting height of wa
ter when poured into the pot; and ki rate constants.
The initial conditions are: P = cold, T(0) = a,
H,(0) = Hf(0) = H, and knob = OFF. By in
cluding the functional block knowledge, we create one
large model called COMBINED that is defined as the
FSA in fig. 4 with each state containing a block model
(as shown in fig. 5).
5 FORMING A MULTIMODEL
5.1 General Case
We have presented a refinement of graphs from the
FSA in fig. 4 the block graph at the lowest level. To
form a multimodel, we need to specify how the set of
models that we have defined can be coordinated so
that exactly one submodel is active at any time.
A multimodel can be created from fig. 4 by treating
each of the states as a phase, and associating a model
with each phase. For ease of exposition, before con
sidering the general case, let's consider an example.
Figure 6 displays a phase graph with 3 phases A, B,
and C.
A different model is associated with each phase;
for instance, in phase B, the underlying model is M1
will generate the state trajectories. External events
are denoted in fig. 6 with a solid arc. If in phase
LEGEND
External Transition
Internal Transition
Figure 6: Generic Phase Graph
A, for instance, and an input of i1 is received, the
phase immediately moves to B and the model is M,
starting in a state determined by the state of Ms
when the input i1 occurred; otherwise the phase re
mains A. Internal (also called state) events occur
when the state of a model satisfies specific transition
conditions. They are denoted by dashed lines from
one phase to another. For instance, in phase A, let
f(X2) equal(X2,4.2). This is interpreted as fol
lows: if the state variable X2 "reaches" the value 4.2
(i.e., X2 = 4.2) then the phase becomes C.
Note that a phase graph is an FSA augmented
with the capability of recognizing changes in state
events (internal events) as well as input events (exter
nal events). The phase graph will become the means
of coordinating the transitions and activations of the
submodels in a multimodel.
Let us summarize our example formulation of an
FSAcontrolled multimodel. In fig. 6, the following
variables are used:
A, B, and C are phases.
I is an input variable. il and i2 are the values
that I can assume; the input has an immediate
effect on the phase.
X2 is a sample state variable in the continuous
model Ms.
f is an arbitrary predicate with a true or false
value.
Such an FSAcontrolled multimodel can be simu
lated in a combined continuous/discrete event envi
ronment such as those of Cellier (1979) and Prae
hofer (1991). However, to fully understand the oper
ation of such simulation, we first present a formaliza
tion.
5.2 Heterogeneous Level Coupling
Using the method described in the previous section,
we define an FSAcontrolled multimodel of the boil
ki(100 T), H,
= k2(a T), H, = 0, Hf
TR91006 Computer and Information Sciences, University of Florida
ing water system by using the automaton in fig. 6
to produce the FSA in fig. 4. The FSA controls the
simulation; however, it is also a complete system de
scription by itself. Each phase within the FSA con
trols a specific block model (M, ..., Ms). Now we
demonstrate the relationship between the FSA and
each block model according to our system theoretic
description in section 2.1. First, we require a defini
tion of partition:
Definition: Partition for Boiling Water System. Let
S = 3. Let 7r be a partition of S defined as:
7= {P1, P2,P3, P4, P5
where:
1. Vi {1,2,3,4,5},PC C SAPi A 0.
2. ViPi form a cover for S s.t. S = P1 U .. .U P5.
3. ViPi are mutually disjoint (i # j i PI n Pj = o.
The FSA in fig. 4 is an abstraction of M1,..., M5
in the following way. S = R3 is the state space for all
Mi. Recall that the state for an Mi is defined by a
triple (T, Ht, Hf). We partition the state space S and
assign a name to each partition (i.e. phase): heating,
cooling, boiling, underflow, overflow. Given that sys
tems can be formally defined as < S, I, O, 6, A >, we
define fig. 4 as follows:
S' ={P,,...,P5}
I' = {ON, OFF}
0' = S'
S6' : S' x I' S'
S' : S' 0'
whereas each M, is defined as follows:
SS = R3
.0 S
I= R
o = S
S6: SxI S
:S O0
There, now, is a definite relationship between the two
types of systems: S' represents a set of partitions of
S; I' relates to I using the map F depicted in fig. 5:
F : I I' and 6' and 6 represents a local tran
sition function and block flow models, respectively,
that define statetostate transitions. The relation
ships between the partition of S and the geometry of
phase space is depicted in figures 7 and 8. In figs. 7
and 8, phase names point to the region of phase space
to which they refer. In fig. 7, the phase Under flow
refers to the plane where H0 = 0. The other 3 phas
es are rectangular polyhedra. In fig. 8, phase Cold
is the plane where T = a, and Cooling is the entire
rectangular block minus the other two phases. Note
that the phase space partitioning is dependent on the
current value of the input (I = OFF or ON).
The two systems S' and S are formally related to
one another using the system homomorphism (Zeigler
1976). We create three homomorphic mappings hi,h2
and h3:
1. hi : S S'.
2. h2: I I'
3. h3 : O 0'.
4. Vs E S, i E I(6'(hi(s), h2(i)) = h(6(s, i))).
5. Vs E S(A'(hi(s)) h3(A(s))).
Note that h2 is equivalent to the F function in fig. 5.
A table defining the relationships between the state
variables of S (T,Hw,Hf) and the state and input
variables of S' is depicted in table 2. The symbol p
means "undefined value."
6 MULTIMODEL SIMULATION
To describe the simulation of multimodels, we present
algorithms that are implementable in SimPack (Fish
wick 1990) (a set of simulation tools). An FSA
controlled multimodel can be converted to a discrete
event simulation by translation of its graph to the
core of a discrete event simulation: the event switch s
tatement. The switch statement is composed of event
statement blocks (or "routines") that gain control of
the simulation when a scheduled event on a future
event list is initiated (or "caused"). To show this, we
use the following routines:
next_event(&E) takes the next event from the
front of the future event list and places it in E.
schedule(E, T) schedules an event to occur by
placing it in the future event list. E is the event
that is to occur, and T is the amount of time to
elapse before executing event E.
instantiate(\ !,Q) provides a context switch so
that continuous model M now "controls" the sys
tem behavior. instantiate causes a new initial s
tate Q for M so that simulation can begin. Each
TR91006 Computer and Information Sciences, University of Florida
Table 2: Relationship Between Variables of S and S'
M has a set of state variables and state variable
relationships (such as a set of differential equa
tions).
time_state(C,M) yields the time elapsed in model
M for condition C to become true.
savestate( saves the state of the model in the
current phase.
getstate( gets the current state saved previously
by savestate).
time_input(I) yields the time elapsed until a spe
cific input enters the system.
This scheme presumes a deterministic simulation
where the input stream to be fed into the simulation
is produced and therefore known in advance. In this
way, it is not difficult to determine which event comes
first: (1) a specific input value, or (2) a state event
occurrence.
Below, we present the switch statement corre
sponding to the graph in fig. 6:
Algorithm 1
next_event(; .:. Ir);
savestate();
switch(event) {
/* external events list all input values as cases */
i': switch(phase) {
A: schedule(B,0); break;
C: schedule(B,0); break;
} /* end switch */
break;
i2: if(phase == B) schedule(C,0); break;
/* internal events list all phases in graph as cases */
A: phase = A;
instantiate( I ,,getstate());
if (time_state(f(X2),Ms) < time_input(ii))
schedule(C,timestate(f(X2),M5));
break;
B: phase = B;
instantiate( i 1lgetstate()) break;
C: phase = C;
instantiate( \ _,getstate()) break;
} /* end switch */
The event routine algorithm corresponding to fig. 4 is:
Algorithm 2
next_event(; ... 1);
savestate(;
switch(event) {
/* external events list all input values as cases */
on: switch(phase) {
cold: schedule(heating,0); break;
cooling: schedule(heating,0); break;
} /* end switch */
break;
off: switch(phase) {
heating: schedule(cooling, 0); break;
boiling: schedule(cooling, 0); break;
overflow: schedule(boiling, 0); break;
} /* end switch */
break;
/* internal events list all phases in graph as cases */
cold: phase = cold;
instantiate( l, getstate()); break;
heating: phase = heating;
instantiate( i\1, getstate());
S I IT H, H
COLD ON p 0
COLD OFF = a > OA < Ht > OA < Ht
HEATING ON > aA < 100 > OA < Ht > OA < Ht
HEATING OFF
COOLING ON
COOLING OFF > aA < 100 > OA < Ht > OA < Ht
BOILING ON > 100 > OA < Ht > OA < Ht
BOILING OFF > 100 > OA < Ht > OA < Ht
OVERFLOW ON > 100 > OA < Ht > Ht
OVERFLOW OFF q
UNDERFLOW ON 0 =0 =0
UNDERFLOW OFF q =0 =0
TR91006 Computer and Information Sciences, University of Florida
Figure 7: Phase Sp
Figure 8: Phase Sp
if(time_state(equal(T,1 00),M2)
< time_input(off))
schedule(boiling, time_state(equal(T, 100),
M2));
break;
cooling: phase = cooling;
instantiate( I .getstate));
T if(time_state(equal(T,a),M3)
< lime_input(on))
I ON schedule(cold, ime_state(equal(T,a),
I = ON M3))
break;
Underflow boiling: phase = boiling;
instantiate(M4, getstate());
) o> if(lime_state(equal(Hf,Ht),M4)
< lime_input(off))
schedule(overflow,lime_state(equal(Hf,Ht),
^ M4));
break;
overflow: phase = overflow;
instantiate( I ,, getstate));
S if(timestate(equal(H, 0),Ms)
Hf < time_input(off))
Overflow schedule(underflow, ime_state(equal(Hu ,0),
M5));
break;
ace Partitioning When I=ON underflow:phase =underflow;
T
I OFF We remark that a more careful statement of some
of the conditions is actually required in the above.
Underflow This occurs when the state trajectory in a model ap
proaches, but never actually reaches, the threshold
specified in the condition. For example, the heating
model exponentially approaches the boiling temper
ature. In such cases, a tolerance around the limit
ing value has to be set which will provide a definite
boundary crossing.
H 7 Conclusions
H
Hf We have used a system of boiling water to demon
strate how to create an FSAcontrolled multimod
Cold el which efficiently represents a system using het
erogeneous models. The models represent a "com
ace Partitioning When I=OFF .....I simulation in that there is an automaton
level and a functional block level. A combined
continuous/discreteevent model divided up the to
tal boiling water process into distinct phases. Co
ordination of models for these phases was facilitated
by the phase graph associated with the FSA. In ad
dition, we demonstrated the formal system theoretic
relationships between the FSA and block model defi
nitions. We found that by geometrically partitioning
TR91006 Computer and Information Sciences, University of Florida
phase space we could form an FSA with equivalent
behavior to the collection of individual differential e
quation based systems representing the low level state
changes.
ACKNOWLEDGMENTS
We would like to thank Bernard Zeigler and Herbert
Praehofer for detailed discussions on the topic of com
bined modeling.
REFERENCES
Cellier, F. E. 1979. Combined Continuous System
Simulation by Use of Digital Computers: Tech
niques and Tools. PhD thesis, Swiss Federal In
stitute of Technology Zurich.
Fishwick, P. A. 1986. Hierarchical Reasoning: Simu
lating Complex Processes over Multiple Levels of
Abstraction. PhD thesis, University of Pennsyl
vania.
Fishwick, P. A. 1988. The Role of Process Abstrac
tion in Simulation. IEEE Transactions on Sys
tems, Man and Cybernetics, 18(1):18 39.
Fishwick, P. A. 1989. Abstraction Level Traver
sal in Hierarchical Modeling. In Zeigler, B. P.,
Elzas, M., and Oren, T., editors, Modelling
and Simulation Methodology: Knowledge Sys
tems Paradigms, pages 393 429. Elsevier North
Holland.
Fishwick, P. A. 1990. Computer Simulation Model
ing and Analysis: Methodology and Algorithms.
unpublished simulation course notes.
Fishwick, P. A. and Zeigler, B. P. 1991. A Multimodel
Methodology for Qualitative Model Engineering.
AC if Transactions on Modeling and Computer
Simulation.
Forbus, K. 1988. Qualitative Physics: Past, Present
and Future. In Shrobe, H., editor, Exploring
Artificial Intelligence, pages 239 296. Morgan
Kaufmann.
Oren, T. I. 1 i';a. Simulation Model Symbolic Pro
cessing: Taxonomy. In Systems and Control En
cyclopedia, pages 4377 4381. Pergammon Press.
Oren, T. I. 1987b. Simulation: Taxonomy. In Sys
tems and Control Encyclopedia, pages 4411
4414. Pergammon Press.
Oren, T. I. 1991. Dynamic Templates and Semantic
Rules for Simulation Advisors and Certifiers. In
Knowledge Based Simulation: Methodology and
Application, pages 53 76. Springer Verlag.
Padulo, L. and Arbib, M. A. 1974. Systems Theory:
A Unified State Space Approach to Continuous
and Discrete Systems. W. B. Saunders, Philadel
phia, PA.
Praehofer, H. 1991. System Theoretic Foundations
for Combined DiscreteContinuous System Sim
ulation. PhD thesis, Johannes Kepler University
of Linz.
Shearer, J. L., Murphy, A. T., and Richardson, H. H.
1 "II.. Introduction to System Dynamics. Addi
son Wesley.
Wymore, A. W. 1977. A Mathematical Theory of Sys
tems Engineering: The Elements. Krieger Pub
lishing Co.
Zeigler, B. P. 1976. Theory of Modelling and Simula
lion. John Wiley and Sons.
Zeigler, B. P. 1984. MultiFacetted Modelling and
Discrete Event Simulation. Academic Press.
Zeigler, B. P. 1990. Object Oriented Simulation with
Hierarchical, Modular Models: Intelligent Agents
and Endomorphic Systems. Academic Press.
AUTHOR BIOGRAPHY
PAUL A. FISHWICK is an associate professor in
the Department of Computer and Information Sci
ences at the University of Florida. He received the
BS in Mathematics from the Pennsylvania State U
niversity, MS in Applied Science from the College of
William and Mary, and PhD in Computer and Infor
mation Science from the University of Pennsylvania in
1986. He has experience at Newport News Shipbuild
ing and Dry Dock Co. (doing CAD/CAM parts defi
nition research) and at NASA Langley Research Cen
ter (studying engineering data base models for struc
tural engineering). His research interests are in com
puter simulation modeling and analysis methods for
complex systems. He is a member of IEEE, IEEE So
ciety for Systems, Man and Cybernetics, IEEE Com
puter Society, The Society for Computer Simulation,
AC\I and AAAI. Dr. Fishwick was chairman of the
IEEE Computer Society technical committee on sim
ulation (TCSIM) for two years (19881990) and he is
on the editorial boards of several journals including
the AC if Transactions on Modeling and Computer
Simulation, The Transactions of the Society for Com
puter Simulation, International Journal of Computer
Simulation, and the Journal of Systems Engineering.
