Group Title: Department of Computer and Information Science and Engineering Technical Reports
Title: Heterogeneous decomposition and inter-level coupling for combined modeling
Full Citation
Permanent Link:
 Material Information
Title: Heterogeneous decomposition and inter-level coupling for combined modeling
Alternate Title: Department of Computer and Information Science and Engineering Technical Report
Physical Description: Book
Language: English
Creator: Fishwick, Paul A.
Publisher: Department of Computer and Information Science, University of Florida
Place of Publication: Gainesville, Fla.
Copyright Date: 1991
 Record Information
Bibliographic ID: UF00095056
Volume ID: VID00001
Source Institution: University of Florida
Holding Location: University of Florida
Rights Management: All rights reserved by the source institution and holding location.


This item has the following downloads:

199016 ( PDF )

Full Text


Paul A. Fishwick

Dept. of Computer & Information Science
University of Florida
Bldg. CSE, Room 301
Gainesville, FL 32611


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.


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-


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 single-level 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 multi-level reasoning. Fishwick
and Zeigler (1991) have recently discussed a method
for linking the heterogeneous level coupling concept

TR91-006 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.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

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 time-invariant 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 discrete-event 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 sub-classes 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 state-to-state
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.


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

TR91-006 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.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 state-to-state 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

TR91-006 Computer and Information Sciences, University of Florida

Table 1: Simulation Model Types





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 +
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 real-valued temper-
atures a < T < 190.
The low-level continuous models M, ..., M5 are
defined as follows:


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

TR91-006 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.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

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
FSA-controlled 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

Such an FSA-controlled 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-

5.2 Heterogeneous Level Coupling

Using the method described in the previous section,
we define an FSA-controlled multimodel of the boil-

ki(100 T), H,

= k2(a- T), H, = 0, Hf

TR91-006 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


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 state-to-state 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."


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

TR91-006 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-

time_state(C,M) yields the time elapsed in model
M for condition C to become true.

save-state( saves the state of the model in the
current phase.

get-state( gets the current state saved previously
by save-state).

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
Below, we present the switch statement corre-
sponding to the graph in fig. 6:

Algorithm 1

next_event(; .:. Ir);
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 */
i2: if(phase == B) schedule(C,0); break;
/* internal events list all phases in graph as cases */

A: phase = A;
instantiate( I -,,get-state());
if (time_state(f(X2),Ms) < time_input(ii))
B: phase = B;
instantiate( i 1lget-state()) break;
C: phase = C;
instantiate( \ _,get-state()) break;
} /* end switch */

The event routine algorithm corresponding to fig. 4 is:

Algorithm 2
next_event(; ... 1);
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 */
off: switch(phase) {
heating: schedule(cooling, 0); break;
boiling: schedule(cooling, 0); break;
overflow: schedule(boiling, 0); break;
} /* end switch */
/* internal events list all phases in graph as cases */
cold: phase = cold;
instantiate( l, get-state()); break;
heating: phase = heating;
instantiate( i\1, get-state());

COLD OFF = a > OA < Ht > OA < Ht
HEATING ON > aA < 100 > OA < Ht > OA < Ht
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

TR91-006 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),
cooling: phase = cooling;
instantiate( I .get-state));
T if(time_state(equal(T,a),M3)
< lime_input(on))
I ON schedule(cold, ime_state(equal(T,a),
I = ON M3))
Underflow boiling: phase = boiling;
instantiate(M4, get-state());
) o> if(lime_state(equal(Hf,Ht),M4)
< lime_input(off))
^ M4));
overflow: phase = overflow;
instantiate( I -,, get-state));
S if(timestate(equal(H, 0),Ms)
Hf < time_input(off))
Overflow schedule(underflow, ime_state(equal(Hu ,0),
ace Partitioning When I=ON underflow:phase =underflow;

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
Hf We have used a system of boiling water to demon-
strate how to create an FSA-controlled 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/discrete-event 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

TR91-006 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


We would like to thank Bernard Zeigler and Herbert
Praehofer for detailed discussions on the topic of com-
bined modeling.


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-
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
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
Forbus, K. 1988. Qualitative Physics: Past, Present
and Future. In Shrobe, H., editor, Exploring
Artificial Intelligence, pages 239 296. Morgan
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 Discrete-Continuous 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. Multi-Facetted 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.


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 (1988-1990) 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.

University of Florida Home Page
© 2004 - 2010 University of Florida George A. Smathers Libraries.
All rights reserved.

Acceptable Use, Copyright, and Disclaimer Statement
Last updated October 10, 2010 - - mvs