Although many diverse areas employ simulation models, no agreed-upon taxono
my has been developed to categorize and structure simulation models for all
science and engineering disciplines. The discipline of simulation is often
splintered due to this lack of structure, with ad hoc model classes such a
s 'discrete event,' 'continuous' and 'combined.' These classes most often r
eflect the method of execution used on a model rather than the design struc
ture of the model. We present a uniform model design taxonomy whose categor
ies are inspired from categories in programming language principles within
the field of computer science. The taxonomy includes a set of primitive mod
el types (conceptual, declarative, functional, constraint, spatial) and a w
ay of integrating primitive model types together (multimodeling). These mod
el types are discussed using a single application: a robot server for an as
sembly line. We have found this taxonomy enables simulators to more easily
define and categorize their models as well as to understand how model types
from seemingly disparate application areas are interrelated.