Mophong03 Software 09
Mophong03 Software 09
1
Outlines
History
Basic principles
Introduction on Arena
2
History of simulation
software
1955-60: the period of search
1961-65: the advent
1966-70: the formative period
1971-78: the expansion period
1979-86: the period of
consolidation and regeneration
1987-: the period of integrated
environment
3
The period of search
simulation was conducted in
FORTRAN or other general-purpose
programming language
much effort was expended in the
search for unifying concepts and
the development of reusable
routines
4
The advent
Appeared simulation programming languages:
FORTRAN-based language: SIMSCRIPT or GASP
(general activity simulation program)
ALGOL descendant: SIMULA
GPSS (general purpose simulation system)
GPSS:
appeared in 1961, developed at IBM by Geoffrey
Gordon, originally for quick simulation of
communications and computer systems
It uses block-diagram representation
SIMSCRIPT:
proposed by Harry Markowitz (Nobel laureat for
economics), appeared in 1963
developed by RAND Corp for US Air Force, originally
based on FORTRAN
5
The advent
GASP:
originally based on ALGOL, then switched to
FORTRAN, appeared in 1961
is a collection of FORTRAN routines, is based
on block as GPSS,
developed for Steel Corporation
SIMULA
an extension of ALGOL
developed in Norway, and were popular in
Europe
6
The formative period
concepts were reviewed and
refined to promote a more
consistent representation of each
language’s world view
The major SPL matured and gained
wider usage
GPSS is the most popular
GPSS, SIMSCRIPT, SIMULA have
undergone major revisions
7
The expansion period
SPL got expanding in features:
interactive, visual environment;
interactive debugger
Appeared different vendors of
GPSS, GASP IV
Efforts were made to simplify the
modeling process
8
the period of consolidation
and regeneration
SPL were adapted for desktop computers
major descendant of GASP: SLAM II
(simulation language for alternative
modeling) and SIMAN (simulation
analysis)
they offered mix of different world view:
event-scheduling approach, block-
diagram approach (like GPSS),
continuous component
9
The present period
11
Simulation packages
Automod product suite
simulation, analysis, animation
focus on manufacturing and material
handling systems
have templates for most common
MHS: conveyors, AS/RS, cranes,
robotics etc.
have a programming language
12
Simulation packages
ProModel
to model manufacturing systems
there are other application-
specialized packages: MedModel,
ServiceModel, ProcessModel
simulation and 2D or 3D animation
Other packages:
Taylor ED, WITNESS, SIMULA 8
13
Basic concepts and
principles
System List
Model Event list
System state Clock
Entity Event notice
Attributes Event-scheduling
Resources
Activities
Event
14
List
A collection (permanently or
temporarily) associated entities,
ordered in some logical fashion
15
Event notice
A record of an event to occur at
the current or some future time,
along with any associated data
necessary to execute the event
Minimum: event record includes
event type and event time
16
Event list
A list of event notices for future
events, ordered by time of
occurence, also know future event
list
The length of FEL changes in the
process of simulation
17
Clock
A variable representing simulated
time
First value=0
Update with the simulation
18
Event-scheduling/time-
advance algorithm
The sequence of actions which a
simulator must perform to advance
the clock and buid a new system
snapshot
One algorithm
Using FEL (future event list)
When an activity starts, the length of the
activity will calculated or selected from
assigned distribution, and the stopping
event of the activities is pushed in FEL
19
event- scheduling/ time-advance
algorithm
Step 1: delete the event notice with the
smallest event time from FEL
Step 2: advance simulated clock with the
time of the deleted event
Step 3: performe the event logic, update
the system state, change attributes of
entiites
Step 4: schedule new event, and update
FEL
Step 5: update the statistics
20
Statistical accumulator
variables that the simulator uses to
keep track output
At end of simulation, used to
compute final output performance
measures
Many are automatic in the simulator,
but some you may have to set up
and maintain during the simulation
21
Statistics
Discrete-time statistics: average,
maximum, minimum of the list of number
Tally statistics
Average of waiting time in queue
Time-persistent statistics: time- average,
minimum or maximum of a plot of
something
Time-continuous statistics
The average and maximum length of the
queue
Counter statistics: accumulated sum of
something
The number of customers served 22
World view
An orientation the modeler adopts
for developing models
Event-scheduling world view
Process-interaction world view
23
The Event-Scheduling
“World View”
Focus on events and their effect on system
state
Identify characteristic events
Decide on logic for each type of event to
Effect state changes for each event type
Observe statistics
Update times of future events (maybe of this type,
other types)
Keep a simulation clock, future event calendar
Jump from one event to the next, process,
observe statistics, update event calendar
Must specify an appropriate stopping rule
Usually done with general-purpose
programming language (C, FORTRAN, etc.) 24
Process-Interaction World
View
Focus in entities and their life cycle as they
flow through a system
Identify characteristic entities in the system
Multiple copies of entities co-exist, interact,
compete
Tell a “story” about what happens to a
“typical” entity
May have many types of entities, “fake”
entities for things like machine breakdowns
Usually requires special simulation software
Underneath, still executed as event-scheduling
The view normally taken by Arena
25