Discrete event simulation has been widely used to model and evaluate c
omputer and engineering systems and has been an on-going area of resea
rch and development. This paper presents an overview of the field. It
covers specifications of discrete event systems, simulation methodolog
y, simulation languages, data structures for event management, and fro
nt and backend support in simulation packages including random number
generation and resource management. The emphasis of the survey is on s
imulation methodology and event scheduling, which forms the core of an
y simulation package or environment.