This document provides an overview of simulation languages. It discusses the main types of simulation as discrete and continuous. It then focuses on discrete event simulation, describing the typical components like events list, clock, statistics, and simulation engine logic. It also mentions object oriented simulation and continuous simulation languages, giving examples like block-structured languages and GPSS.
This document provides an overview of simulation languages. It discusses the main types of simulation as discrete and continuous. It then focuses on discrete event simulation, describing the typical components like events list, clock, statistics, and simulation engine logic. It also mentions object oriented simulation and continuous simulation languages, giving examples like block-structured languages and GPSS.
This document provides an overview of simulation languages. It discusses the main types of simulation as discrete and continuous. It then focuses on discrete event simulation, describing the typical components like events list, clock, statistics, and simulation engine logic. It also mentions object oriented simulation and continuous simulation languages, giving examples like block-structured languages and GPSS.
This document provides an overview of simulation languages. It discusses the main types of simulation as discrete and continuous. It then focuses on discrete event simulation, describing the typical components like events list, clock, statistics, and simulation engine logic. It also mentions object oriented simulation and continuous simulation languages, giving examples like block-structured languages and GPSS.
Download as PPTX, PDF, TXT or read online from Scribd
Download as pptx, pdf, or txt
You are on page 1of 12
Simulation and Modelling
Chapter Five
Simulation Landuages
By: Hayelom M. (PhD Candidate at UESTC)
Introduction • A computer simulation language describes the operation of a simulation on a computer. • There are two major types of simulation: – Continuous and – discrete • Most languages also have a graphical interface and at least simple statistical gathering capability for the analysis of the results. • An important part of discrete event languages is the ability to generate pseudo-random numbers and variates from different probability distributions. Discrete System Simulation • A common exercise in learning how to build discrete-event simulations is to model a queue, such as customers arriving at a bank to be served by a teller. • In this example, the system entities are CUSTOMER- QUEUE and TELLERS. • The system events are CUSTOMER-ARRIVAL and CUSTOMER-DEPARTURE. (The event of TELLER- BEGINS-SERVICE can be part of the logic of the arrival and departure events.) • The system states, which are changed by these events, are NUMBER-OF-CUSTOMERS-IN-THE-QUEUE (an integer from 0 to n) and TELLER-STATUS (busy or idle). • The random variables that need to be characterized to model this system stochastically are CUSTOMER- INTERARRIVAL-TIME and TELLER-SERVICE-TIME. Components of a Discrete-event Simulation • Clock: The simulation must keep track of the current simulation time, in whatever measurement units are suitable for the system being modelled. • Events List: The simulation maintains at least one list of simulation events. An event is described by the time at which it occurs and a type, indicating the code that will be used to simulate that event. • The simulation needs to generate random variables of various kinds, depending on the system model. • Statistics: The simulation typically keeps track of the system’s statistics, which quantify the aspects of interest. In the bank example, it is of interest to track the mean service times. • Ending Condition: the simulation designer must decide when the simulation will end. Typical choices are at time ‘t’ or “after processing n number of events” or, more generally, “when statistical measure X reaches the value x”. Simulation Engine Logic • The main loop of a discrete-event simulation is something like this: • Start – Initialize Ending Condition to FALSE. – Initialize system state variables. – Initialize Clock (usually starts at simulation time zero). – Schedule an initial event (i.e., put some initial event into the Events List). • “Do loop” or “While loop” While (Ending Condition is FALSE) then do the following: – Set clock to next event time. – Do next event and remove from the Events List. – Update statistics. – End – Generate statistical report. Stages used in Discrete Event Simulation Object Oriented Simulation
• 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. • 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. Continuous Simulation Languages • Continuous system simulation languages are very high level programming languages which assist modelling and simulation of systems characterized by ordinary and partial differential equations. • Continuous Simulation refers to a computer model of a physical system that incessantly tracks system response over time according to a set of above specified equations Block-structured Continuous Simulation Languages • Block oriented simulation languages are based on the method of analogue computers. • The system must be expressed as a block diagram that defines the interconnection of functional units and their quantitative parameters. • “Programming” means entering the interconnection of the blocks and their description. • Then the user adds statements and/or directives that control the simulation. • If the system is described as a set of equations, they must be converted to a block diagram. Example: GPSS Simulation Languages • General purpose languages Eg. C++, C, FORTRAN, Java etc… • Special purpose languages Eg. SIMSCRIPT, GPSS, COMNET, OPNET, SimPack, etc. Q&A