...What is Simulation?
- Discrete Event Simulation
Definition
What is Simulation? The Oxford English Dictionary
describes Simulation (Discrete Event
Simulation) as:
"The technique of imitating
the behaviour of some situation or system (Economic,
Mechanical etc.) by means of an analogous model,
situation, or apparatus, either to gain information
more conveniently or to train personnel."
Since the early 1960's, Simulation has been one of
many methods used to aid strategic decision making
within industry. Its main strength lies in the ability
to imitate complex real world problems and to analyse
the behaviour of the system as time progresses.
There are two main types of simulation: Discrete
and Continuous. iBright Ltd expertise lies in Discrete
Event Simulation.
Discrete Event Simulation
Discrete Event Simulation (DES) concerns the modelling
of a system as it evolves over time by representing
the changes as separate events. This is the opposite
of Continuous Simulation where the system evolves as
a continuous function (differential).
Application Areas
Well-known examples of Simulation are Flight Simulators, Fleet
Management and Business games. However, there
are a large number of potential areas for Discrete
Event Simulation. One of the main areas currently
being explored is in designing new manufacturing
areas, especially where high capital investment is
involved. For example, if a company wishes to build
a new production line, then the line can be first
simulated to assess feasibility and efficiency. The
diagram below shows the key stages in using Discrete
Event Simulation. It can be noted that this bears
a strong resemblance to other simulation techniques
and other analysis program development methodologies
(prototype method) [Sommerville,
1992].

Key Principles
Although, discrete event simulation could conceivably
be carried out by hand it can be computationally intensive,
therefore will invariably involve computers and software.
The software could be a high level programming language
such as Pascal or a specialised event/data driven application,
such as iBright Ltd's 'baseSim' (Monte
Carlo Simulation). The five key features found
in the software simulation model are:
|
1
|
Entities
|
Representations of real-life elements e.g.
in manufacturing these could be parts or machines.
|
|
2
|
Relationships
|
Link entities together e.g. a part may be processed
by a machine.
|
|
3
|
Simulation Executive
|
Responsible for controlling the time advance
and executing discrete events.
|
|
4
|
Random Number Generator
|
Helps to simulate different data coming into
the simulation model. Important that the random
data can be reproduced in different simulation
runs.
|
|
5
|
Results & Statistics
|
Important in validating the model and for providing
performance measures.
|
The simulation executive may operate in one of two
manners [Ball, 1996]:
|
1
|
Time Slicing
|
Advances the model by a fixed amount each time,
regardless of the absence of any events to carry
out.
|
|
2
|
Next Event
|
Advances the model to the next event to be
executed, regardless of the time interval. This
method is more efficient than Time Slicing, especially
where events are infrequent, but can be confusing
when being represented graphically (processes
that take different times will appear to happen
in the same time frame if the stop event is the
next event after the start event).
|

There are also three approaches to describing the
discrete simulation, see the Diagram above [Pidd,
1992].
|
1
|
Event
|
This approach describes an instantaneous change,
usually from a stop event to a start event. This
is the most common one used, easy to understand
and efficient and is acceptable to implement.
|
|
2
|
Activities
|
Represents a duration. Essentially groups a
number of events in order to describe an activity
carried out by an entity e.g. a machine loading.
This approach is easy to understand and to implement
but is not efficient.
|
|
3
|
Process
|
This approach groups activities to describe
the life cycle of an entity e.g. a machine. This
is less common and more difficult to plan and
implement, but is generally thought to be the
most efficient.
|
Visualisation
Visual interactive simulation (VIS) has been available
since the late 1970's. Before this simulation models
were simply 'black boxes' - data going in and results
coming out. In such a scenario establishing credibility
and confidence in the simulation model would not have
been easy [Robinson, 1994].
Using on-screen animations in a simulation model
enables the status of the model to be viewed as it
progresses e.g. a machine that breaks down may change
its colour to red. This enables visual cues to be passed
back to the operator of the simulation model, so action
could be taken. Additionally, visualisation is useful
in convincing management of the model's credibility.
For example, in manufacturing if the Directors can
see a visualisation of the production line with widgets
travelling down a conveyor belt, it would do more to
sell the concept of the model than a 'black box', churning
out data.
With VIS the prime motivation is not only portrayal
of the running simulation model but also the interaction
with it. For example, in using the above scenario,
if the User wanted to see how the production line would
run with an extra machine then he could simply 'plug
in' a machine, at the appropriate position, and monitor
the effect that this would have on the model.
Visual Interactive Modelling (VIM) takes this concept
one stage further by allowing the model to be created
interactively. This allows a model to be constructed
by dragging (with a mouse) 'Entities' (machines, parts
etc.) from a library onto a frame. The entities could
then be connected in the desired order. Many of the
advanced VIM simulation tools allow program code to
be attached to the entities and events, therefore making
the model potentially more sophisticated and flexible.
Visualisation and simulation are extensively used
in the training of operational staff, especially where
the training cannot be carried out in real life e.g.
shutting down the reactor of a nuclear power station
after an earthquake.
Object Oriented Simulation
Object Oriented techniques have been developed since
the early 1960's as a result of simulation development
(SIMULA). Until recently, the two were not coupled
despite their original tandem development. There are
currently only a handful of Object Oriented simulation
applications available on a commercial basis; one of
the most prominent of these is iBright Ltd's 'baseSim'.
The main difference between traditional program development
and Object Oriented techniques is the way in which
the data and the program code are stored and manipulated.
In traditional software, the data and the program code
are intermingled throughout the program, making data
security and integrity difficult to achieve (it is
sometimes possible for one procedure to cause knock-on
effects as global data is changed). However, in Object
Oriented simulation
software all data and procedures relating to a
single entity (object) are encapsulated within an object,
with the object controlling its own interaction and
data integrity permissions with other objects. Clearly,
the methods inside the object could cause similar knock-on
effects, if poorly implemented.
Object Oriented simulation tools, in particular iBright
Ltd's 'baseSim', are very powerful as they make use
of Object Oriented techniques such as modularity, class
structure, inheritance, hierarchy and polymorphism.
References:
Ball, P.: 'Introduction to Discrete
Event Simulation', University of Strathclyde, 1996
Pidd, M.: 'Computer Simulation
in Management Science', John Wiley & Sons, Inc.,
1992
Robinson, S.: 'Successful
Simulation: A Practical Approach to Simulation Projects',
McGraw-Hill International (UK) Ltd, 1994
Sommerville, I.: 'Software
Engineering, Fourth Edition', Addison-Wesley Publishing
Company, Inc., 1992
|