4. CLASSIFICATION OF SIMULATION
SOFTWARE
General-purpose vs. Application-Oriented packages
– Traditionally: simulation languages and simulators
Languages were flexible but required programming, simulators were easy to
use but not very flexible
– Now, almost all simulation software uses graphical interface so is relatively easy to
use and to learn
– Distinction now is between general-purpose simulation software and applications-
oriented package
Specific applications include manufacturing, call centers, telecommunications,
etc.
5. CLASSIFICATION OF SIMULATION
SOFTWARE
Modeling approaches
– Event-scheduling approach
Can uses general programming languages, or some simulation languages
During processing of an event, no simulated time passes
– Process-interaction approach
Now used by most simulation software
Instead of identifying events, identify entities (a.k.a. processes) that are created, flow around or through the
system
May have multiple realizations of an entity/process
May have different kinds of entities/processes
“Program” consists of a description of what happens to the different kinds of processes (including their entry and
exit)
Usually expressed graphically, like a flowchart
During processing of an entity/process, simulated time usually passes
6. CLASSIFICATION OF SIMULATION
SOFTWARE
Common modeling elements
– Entities – represent customers, parts, messages, paperwork, airplane, etc.
– Attributes – Information stored with each entity
Usually, every individual entity has the same set of attributes, but the values differ
to distinguish the entities
Some attributes are automatic, others are user-defined and user-maintained
– Resources – servers, machines, workers, nodes,
links, runways, gates, agents, clerks, etc.
– Queues – where entities wait if resources are not
available
7. World Views of Simulation Model
Event-Scheduling View
◦ Focus on processing each event
Process-interaction View
◦ View model as a set of processes through which an entity “flows”
◦ Life-cycle approach – time-sequenced list of events, activities, & delays
◦ Common in simulation environments
Activity Scanning Approach
◦ Focus on activities & conditions that allow it to begin
◦ At each clock advance, scan conditions to start any activity that can begin
◦ Approach is simple, but scan is slow
◦ New 3-phase approach includes some event scheduling – somewhat more complex but
more efficient
8. Categories of Simulation Software
General Purpose Languages
◦ C, C++, Java
Simulation Languages
◦ GPSS, SIMAN, SLAM, SSF
Simulation Environments
◦ Enterprise Dynamics, Arena, SIMUL8
9. Features of Simulation Languages
Some focus on a single type of application
Built in features include
◦ Statistics collection
◦ Time management
◦ Queue management
◦ Event generation
9
10. Features of Simulation Environments
Hardware and software requirements
– Matches platform/OS – Windows, UNIX, MacOS
Animation and dynamic graphics
– Concurrent vs. postprocessing
– 2D vs. 3D
– Import CAD drawings
– Display statistics, graphs dynamically during execution
10
Some focus on one type of application
Icon based
Analysis of I/O
Advanced Statistics
Optimization
Support for Experimentation
11. DESIRABLE SOFTWARE FEATURES
General capabilities
– Modeling flexibility – ability to drill down to lower levels of programming,
create custom modeling constructs
– Ease of use
– Hierarchical modeling – submodels containing submodels, etc.
– Fast execution speed
– Ability to create user-friendly front/back ends for template creation
– Run-time version for wide distribution of model
– Import/export data from/to other applications
– Automatic execution of models for different input-parameter combinations
– Combined discrete/continuous modeling
– Ability to initialize in other than empty & idle
state
– Save state at end to re-start later
– Affordable
12. DESIRABLE SOFTWARE FEATURES
Statistical capabilities
– Adequate random-number generator for basic U(0, 1) variates
Statistical properties, cycle length, adequate streams and substreams
RNG seeds should have good defaults, be fixed – not dependent on clock
– Comprehensive list of input probability distributions
Continuous, discrete, empirical
– Ability to make independent replications
– Confidence-interval formation for output performance measures
– Experimental design
– Optimum-seeking
• Customer support and documentation
• Output reports and graphics
– Standard defaults, customizable – stored in
database for postprocessing
13. Evaluating Software
Consider multiple issues
◦ Ease of use, support, applicability
Speed of execution
◦ Experimental runs – Debugging
Beware of demos & advertising
◦ Will focus on strengths only
◦ Ask for demo of YOUR problem
13
14. Evaluating Software
Carefully consider comparison checklists with yes/no answers
Can software link to external languages
Carefully consider trade-off between graphical model building
& simulation programming language
Costs – one-time vs. licensing
14
15. GENERAL-PURPOSE SIMULATION
PACKAGES
• See text for discussion of two popular general-purpose
simulation packages – Arena and Extend
– In each, builds a model of a small manufacturing system
• Mentions some additional general-purpose simulation
packages
– AweSim, Micro Saint, GPSS/SLX, SIMPLE++, SIMUL8, Taylor
Enterprise Dynamics
15
16. GPSS
General Purpose Simulation System
Highly Structured
Process Approach
Queuing Systems
Block Diagrams
40 standard blocks
Block corresponds to a statement
Transactions FLOW through the system
16
17. Other Simulation Software
SSF – Scalable Simulation Framework
◦ Application Program Interface (API)
◦ Object-oriented, process view
◦ 5 Base Classes
Process, Entity, Event, InChannel, OutChannel
◦ Designed for high-performance computers
◦ Bridges pure Java & simulation languages
17
18. Simulation Environments ~~
Common Features
GUI
Animation
Automatic statistics
Output (tables, graphs, custom)
Analysis
Process world view
18
Some allow
Event Scheduling
Mixed continuous-discrete
models
Animations – 2D & 3D
Business Graphics
21. Arena
Discrete & Continuous systems
Object-based; GUI
2D, 3D Animation
Business & Manufacturing processes
Supports Analysis
OptQuest for optimization
Based on SIMAN; embedded Visual Basic
21
22. SIMSCRIPT
SIMSCRIPT, a general programming system specially adapted to the problems
of writing simulation programs. The advantages of SIMSCRIPT are that it
reduces the time needed to program simulations of even moderate complexity
and provides increased flexibility in modifying such models in accordance with
the findings of preliminary analysis and other circumstances.
The SIMSCRIPT programming system is especially designed to facilitate the
writing of simulation programs. Digital simulations generally consist of a
numerical description of "status", which is modified at various points in
simulated time called "events".
22
23. AutoMod
Manufacturing & Materials handling
Detailed large models for planning, decision support, control
systems
AutoStat - Experimentation & analysis
AutoView - Make movies of 3D animations
Full simulation language included
23
26. Flexsim
Dynamic-flow systems - manufacturing
Discrete-event, Object-oriented simulator; developed in C++ using Open GL
Animation: 2D, 3D, Virtual reality
Drag & Drop
26
27. ProModel
Manufacturing Systems
Simulation & Animation (2D & 3D)
Output viewer – graphs, tables
SimRunner – optimizer based on evolutionary algorithm technique
OptQuest is also available
MedModel, ServiceModel
27
28. SIMUL8
Service industries, transaction processing
Drop & Drag model development
Saves in XML format
Pre-built templates for common applications
3D virtual reality graphics
Links to database
28
29. Experimentation & Statistical
Analysis Tools
Included in all most all simulation systems
Add-ons also available
Features
◦ Optimization – define fitness or cost function
29
30. Arena
Output & Process Analyzer
Confidence intervals
Comparison of systems
Warm-up determinations
Graphs (all types) – 2D & 3D
Scenario definition
30
31. AutoStat (from AutoMod)
Warm-up determination
Steady state determination
Confidence intervals
Sensitivity analysis
Optimization via evolutionary strategy
31
32. OptQuest
Based on scatter search, tabu search, linear-integer programming, data
mining, neural nets (evolutionary)
Uncertainty problems
Global optimums
Handles non-linear and discontinuous relationships
32
34. Conclusion
Many simulation software environments available
Many do have trial versions to download for trying
Before deciding, consider the features and the add-ons available that will
suit your particular environment
34
35. GPSS Block Diagram for Example
Each entity has a name
Name each queue, server, etc.
In rectangle, parameters (as necessary)
Right attachment, name of entity
Far right column – GPSS Command
35
36. GPSS Syntax
Assembly-like
Label OpCode Subfields ; comment
Label: col. 1, <= 9 alphanumeric, alpha start
OpCode: 4+ characters of command
Subfields: as necessary, separated by commas
Comment: after ; or with * in column 1
36