Advantages/merits of Simulation
languages.
• Programming effort reduced because of inbuilt
programming features.
• Program making time is reduced due to inbuilt
features.
• Environment for simulation is naturally built.
• Modification of built models is easy
• Excellent debugging and error analysis.
• Models prepared are easy to use and
demonstrate.
Simulation Language High Level language
Costly Cheap
Automatic error detection Less automation in error
detection
Special skills needed to operate Normal people can work
Less programming needed More programming needed
Take less time Take more time
Eg: SIMSCRIPT Eg: Java
Programming time is less Programming time is more.
Not available easily Available easily
Building simulation easy because Simulation models have to be
of inbuilt simulation environment built from scratch without
predefined features
DYNAMO
• Originally developed by Jack Pugh at MIT
• First system dynamics simulation language
• It has special statistical and mathematical functions,
but the integration method used is old and
inaccurate.
• Conceptually simple & easy to use.
• Provides an equation based development
environment for system dynamics models
• DYNAMO today runs on PC compatibles under
Dos/Windows.
POWERSIM
• Software Dev. Environment to create model & perform Runs.
• Optimisation & analysis of model with simulation Risks.
• Modeling possible for any kind of problem(Biz/Tech)
• Easy to follow & Demonstrate.
• Variable dependencies shown using arrows & simple
mathematical language similar to spreadsheets.
• Simulation Results can be presented using graphs,Charts etc.
• Sensitivity analysis via the risk analysis facility.
• Allows the creation of user interface.
• Data exchange with Excel possible.
SIMULA
• General purpose programming language with algorithmic capabilities
like ALGOL & added simulation facilities.
• Allows description of processes parelelly operating in groups called
active phases.
• Process definition via a block ( independent self contained unit of
program).
• Data structure (process info) defined via block head
• Operation rule (process’ work) defined via block statements.
• Generates many block instances interacting at the same time & related
to each other.
• Block instances are structured and named via LIST PROCESSING
ABILITY of SIMULA.
• Good debugging features & readability.
• Language can be extended.
• Well structured language.
Criteria /Factors considered before
selecting a language.
• Ease of Use – Documentation,translation ,debugging etc must be
easy.
• Generic nature – Must handle wide variety of applications.
• Programming capabilites – normal algorithmic ability & special
simulation features.
• Efficiency – runtime efficiency must be high,execution time &
memory needs must be low ( happens when language is structured)
• Availability & portability – must support lot of systems. It must be
machine independent.
Time in DYNAMO
• LEVEL.K: a level calculated at the present time
• LEVEL.J: a level calculated one time interval earlier
• DT: the length of the time interval between J and K
dt dt
J: past K: present L: future
DYNAMO Program
(Population model)
POP = Population at some instance, PAR= frequency of population growth
DT = time interval
Star statement * Population Growth
Level statement L POP.K =POP.J+DT*(BIRTH.JK-DEATH.JK)
present one time interval earlier between J and K
Initial value stmt
N POP = 10
Rate statement R BIRTH.KL = (POP.K)(PAR)
R DEATH.KL = (POP.K)(PAR)
Constant statement
C PAR = 0.1
SPEC statement
SPEC DT = 1.0
Inventory model
DINV = desired inventory , FOPW = fraction ordered per week
Star statement * Inventory system
Level statement L INV.K =INV.J+DT*(ORDER.JK-SALE.JK)
present one time interval earlier between J and K
Initial value stmt
N INV = DINV
Rate statement
R ORDER.KL = FOPW * DEFECT.K
Constant statement
C FOPW= 0.2
Constant statement A DEFECT.K = DINV-INV.K
Rate statement C DINV = 100
SPEC statement
R SALE.KL = S ()
SPEC DT = 1.0