Skip to main content
Log in

An overview of discrete event simulation methodologies and implementation

  • Published:
Sadhana Aims and scope Submit manuscript

Abstract

Discrete event simulation has been widely used to model and evaluate computer and engineering systems and has been an on-going area of research and development. This paper presents an overview of the field. It covers specifications of discrete event systems, simulation methodology, simulation languages, data structures for event management, and front and backend support in simulation packages including random number generation and resource management. The emphasis of the survey is on simulation methodology and event scheduling, which forms the core of any simulation package or environment.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Ahuja R K, Melhorn K, Orlin J B, Tarjan R E 1990 Faster algorithms for the shortest path problem.J. Assoc. Comput. Mach. 37: 213–223

    MATH  MathSciNet  Google Scholar 

  • Bagrodia R L, Chandy K M, Misra J 1987 A message-based approach to discrete event simulation.IEEE Trans. Software Eng. 13: 654–665

    Article  Google Scholar 

  • Banks J, Carson J S 1984Discrete-event system simulation (Englewood Cliffs, NJ: Prentice Hall)

    MATH  Google Scholar 

  • Banks J, Norman V 1996 Second look at simulation software. Non-traditional uses can lead to unexpected benefits.OR/MS Today 23: 4

    Google Scholar 

  • Blackstone J H, Hogg G L, Phillips D T 1981 A two-list synchronization procedure for discrete event simulation.Commun. ACM 24: 825–829

    Article  Google Scholar 

  • Boas P V E, Kaas R, Zijlstra E 1977 Design and implementation of an efficient priority queue.Math. Syst. Theory 10: 99–127

    Article  MATH  Google Scholar 

  • Bollobas B, Simon J 1985 Repeated random insertions into a priority queue.J. Algorithms 6: 466–477

    Article  MATH  MathSciNet  Google Scholar 

  • Brown R 1988 Calendar queues: a fast O(1) priority queue implementation for the simulation event set.Commun. ACM 31: 1220–1227

    Article  Google Scholar 

  • Bruno G 1984 Using Ada for discrete event simulation.Software Pract. Exper. 14: 685–695

    Article  MATH  Google Scholar 

  • Chung K, Sang J, Rego V 1993 A performance comparison of event calendar algorithms: an empirical approach.Software Pract. Exper. 23: 1107–1138

    Article  Google Scholar 

  • Comfort J C 1979 A taxonomy and analysis of event set management algorithms for discrete event simulation. InProc. 12th Annu. Simulation Symposium, pp 115–146

  • Crane C A 1972 Linear lists and priority queues as balanced binary trees. Tech. Rep. STAN-CS-72-259, Comput. Sci., Stanford, CA

  • Dahl O J 1968 Discrete event simulation languages. InProgramming Languages (ed.) F Genuys (London: Academic Press)

    Google Scholar 

  • Davey D, Vaucher J 1980 Self-optimizing partition sequencing sets for discrete event simulation.INFOR J. 18: 21–41

    Google Scholar 

  • Davidson G A 1989 Calendar P’s and queues.Commun. ACM 32: 1241–1243

    Article  Google Scholar 

  • Devroye L 1986Non-uniform random variate generation (New York: Springer Verlag)

    MATH  Google Scholar 

  • Driscoll J R, Gabow H N, Shrairman R, Tarjan R E 1988 Relaxed heaps: an alternative to Fibonacci heaps with applications to parallel computation.Commun. ACM 31: 1343–1354

    Article  MathSciNet  Google Scholar 

  • Englebrecht-Wiggans R, Maxwell W L 1978 Analysis of the time indexed list procedure for synchronization of discrete event simulations.Manage. Sci. 24: 1417–1427

    Google Scholar 

  • Evans J B 1983Investigations into the scheduling of events and modelling of interrupts in discrete event simulation. Ph D thesis, Dept. of Operations Research, Univ. of Lancaster

  • Evans J B 1988Structures of discrete event simulation: An introduction to the engagement strategy (Chichester: Ellis Horwood)

    MATH  Google Scholar 

  • Fischer M J, Paterson M S 1994 Fishspear: a priority queue algorithm.J. Assoc. Comput. Mach. 41: 3–30

    MATH  Google Scholar 

  • Fishwick P A 1992 SimPack: getting started with simulation programming inC and C++. InProc. Winter Simulation Conference, Arlington, VA, pp 154–162

  • Fishwick P A 1993 A simulation environment for multimodeling.Discrete Event Dynamic Syst.: Theor. Appl. 3: 151–171

    Article  Google Scholar 

  • Francon J, Viennot G, Vuillemin J 1978 Description and analysis of an efficient priority queue representation. InProc. 19th Annual Symp. on Foundations of Computer Science, Piscataway, NJ, pp 1–7

  • Franta W R, Maly K 1977 An efficient data structure for the simulation event set.Commun. ACM 20: 596–602

    Article  MATH  Google Scholar 

  • Franta W R, Maly K 1978 A comparison of HEAPS and the TL structure for the simulation event set.Commun. ACM 21: 873–875

    Article  Google Scholar 

  • Fredman M L, Tarjan R E 1987 Fibonacci heaps and their uses in improved network optimization problems.J. Assoc. Comput. Mach. 34: 596–615

    MathSciNet  Google Scholar 

  • Fredman M L, Sedgewick R, Sleator D D, Tarjan R E 1986 The pairing heap: a new form of self-adjusting heap.Algorithmica 1: 111–129

    Article  MATH  MathSciNet  Google Scholar 

  • Funka-Lea C A, Kontogiorgos T D, Morris R J, Rubin L D 1991 Interactive visual modeling for performance.IEEE Software 8(5): 58–68

    Article  Google Scholar 

  • Grunwald D 1991 A users guide to Awesime: an objected oriented parallel programming and simulation system. Tech. Report CU-CS-552-91, University of Colorado, Boulder.

    Google Scholar 

  • Hac A 1982 Computer system simulation in Pascal.Software Pract. Exper. 12: 777–784

    Article  MATH  Google Scholar 

  • Hac A 1984 PL/I as a discrete event simulation tool.Software Pract. Exper. 14: 692–702

    Google Scholar 

  • Henriksen J O 1977 An improved events list algorithm. InProc. Winter Simulation Conference, pp 554–557

  • Henriksen J O 1983 Event list management — a tutorial. InProc. Winter Simulation Conference, pp 543–551

  • Henriksen J O, Crain R C 1982GPSS/H user’s manual 2nd edn (Annandale: Wolverine Software Corp.)

    Google Scholar 

  • Houten 1988 Simulation languages for PCs take different approaches.IEEE Software 5: 91–94

    Google Scholar 

  • Jain R 1991The art of computer system performance analysis: Techniques for experimental design, measurement, simulation and modelling (New York: Wiley)

    Google Scholar 

  • Johnson D B 1975 Priority queues with update and finding minimal spanning trees.Info. Proc. Lett. 4: 53–57

    Article  MATH  Google Scholar 

  • Jonassen A, Dahl O J 1975 Analysis of an algorithm for priority queue administration.BIT 15: 409–422

    Article  MATH  Google Scholar 

  • Jones D W 1986 An empirical comparison of priority queue and event set implementations.Commun. ACM 29: 300–311

    Article  Google Scholar 

  • Kaubisch W H, Perrott R H, Hoare C A R 1976 Quasiparallel programming.Software Pract. Exper. 6: 341–356

    Article  MATH  Google Scholar 

  • Knuth D E 1973aThe art of computer programming: Vol. 2/Seminumerical algorithms (Reading, MA: Addison-Wesley)

    Google Scholar 

  • Knuth D E 1973bThe art of computer programming: Vol. 3/Sorting and searching (Reading, MA: Addison-Wesley)

    Google Scholar 

  • Kriz J, Landmayr H 1980 Extensions of Pascal by coroutines and its application to quasiparallel programming and simulation.Software Pract. Exper. 10: 773–789

    Article  MATH  Google Scholar 

  • L’Ecuyer P 1988 Efficient and portable random number generation.Commun. ACM 31: 742–749, 774

    Article  MathSciNet  Google Scholar 

  • Law A M, Kelton W D 1993Simulation, modeling and analysis (New York: McGraw-Hill)

    Google Scholar 

  • Leutenegger S T, Vernon M K 1990 The performance of multiprogrammed multiprocessor scheduling policies. InProc. ACM SIGMETRICS 18: 226–236

    Article  Google Scholar 

  • Little M C, McCue D L 1994 Construction and use of a simulation package in C++.C User’s J. 12: 3

    Google Scholar 

  • Lomow G, Baezner D 1990. A tutorial introduction to object-oriented simulation and Sim++. InProc. Winter Simulation Conference, pp 149–153

  • MacDougall M H 1987Simulating computer systems: techniques and tools (Boston: MIT Press)

    Google Scholar 

  • Majumdar S, Eager D, Bunt R 1988 Scheduling in multiprogrammed parallel systems. InProc. ACM SIGMETRICS 16: 104–113

    Article  Google Scholar 

  • Markowitz H M, Kiviat P J, Villaneuva R 1987Simscript II.5 programming language (Los Angeles: CACI)

    Google Scholar 

  • Marlin 1980 Coroutines. InLecture notes in computer science 95 (Berlin: Springer-Verlag)

    Google Scholar 

  • Marsden B W 1984 A standard pascal event simulation package.Software Pract. Exper. 14: 659–684

    Article  MATH  Google Scholar 

  • McCormack W M, Sargent R G 1981 Analysis of future event set algorithms for discrete event simulation.Commun. ACM 24: 801–812

    Article  MathSciNet  Google Scholar 

  • Melamed B, Morris R J 1985 Visual simulation: the performance analysis workstation.IEEE Comput. 18: 87–94

    Google Scholar 

  • Nevalainen O, Teuhola J 1979 Priority queue administration by sublist index.Comput. J. 22: 220–225

    Article  MATH  Google Scholar 

  • Olsson R A 1990 Using SR for discrete event simulation.Software Pract. Exper. 20: 1187–1208

    Article  Google Scholar 

  • O’Keefe R M 1985 Comment on “Complexity Analysis of Event Set Algorithms”.Comput. J. 28: 245–272

    Article  Google Scholar 

  • Park S K, Meller K W 1988 Random number generators: good ones are hard to find.Commun. ACM 31: 1192–1201

    Article  Google Scholar 

  • Pawlikowski K 1990 Steady state simulation of queueing processes: a survey of problems and solutions.ACM Comput. Surv. 22: 123–170

    Article  Google Scholar 

  • Pegden C D, Sadowski R P, Shannon R E 1990Introduction to simulation using SIMAN (Sewickley: System Modeling)

    Google Scholar 

  • Pritsker A A 1986Introduction to simulation and SLAM II (New York: Halstead)

    Google Scholar 

  • Sanderson P, Sharma R, Rozin R, Treu S 1991 The hierarchical simulation language HSL: a versatile tool for process-oriented simulation.ACM Trans. Modeling Comput. Simulation 1: 113–153

    Article  MATH  Google Scholar 

  • Scher J M 1991 Reworked GPSS/H book is a strong standard.IEEE Software 8(4): 105–106

    Google Scholar 

  • Schwetman H 1988 Using CSIM to model complex systems. InProc. Winter Simulation Conference, pp 246–253

  • Schwetman H 1990 Introduction to process-oriented simulation and CSIM. InProc. Winter Simulation Conference, pp 154–157

  • Shanbagh V K, Gopinath K 1997 A C++ generator from graphical specifications.Software Pract. Exper. 27: 395–424

    Article  Google Scholar 

  • Sharma R, Rose L L 1988 Modular design for simulation.Software Pract. Exper. 18: 945–966

    Article  Google Scholar 

  • Shearn D C 1975 Discrete event simulation in ALGOL68.Software Pract. Exper. 5: 279–293

    Article  MATH  Google Scholar 

  • Sleator D D, Tarjan R E 1983 Self-adjusting binary trees. InProc. ACM SIGACT Symp. on Theory of Computing, pp 235–245

  • Sleator D D, Tarjan R E 1985 Self-adjusting binary search trees.J. Assoc. Comput. Mach. 32: 652–686

    MATH  MathSciNet  Google Scholar 

  • Sleator D D, Tarjan R E 1986 Self-adjusting heaps.SIAM J. Comput. 15: 52–69

    Article  MATH  MathSciNet  Google Scholar 

  • Srikanth S 1996 A software tool for performance analysis of data structure representations. M Tech thesis, Dept. of Comput. Sci. & Eng., Regional Engineering College, Warangal

    Google Scholar 

  • Stasko J T, Vitter J S 1987 Pairing heaps: experiments and analysis.Commun. ACM 30: 234–249

    Article  MathSciNet  Google Scholar 

  • Stroustrup B, Shapiro J E 1987 A set of C++ classes for co-routine style programming. InProc. USENIX C++Workshop, pp 417–439

  • Taneri D 1976 The use of subcalendars in event driven simulations. InProc. Summer Simulation Conference, pp 63–66

  • Tarjan R E 1983Data structures and network algorithms (Philadelphia: SIAM)

    Google Scholar 

  • Tocher K D 1965 Review of simulation languages.Oper. Res. Q. 16: 189–217

    Article  Google Scholar 

  • Ulrich E G 1978 Event manipulation for discrete simulations requiring large numbers of events.Commun. ACM 21: 777–785

    Article  Google Scholar 

  • Vaucher J G 1977 On the distribution of event times for the notices in a simulation event list.INFOR J. 15: 171–182

    MATH  Google Scholar 

  • Vaucher J G, Duval P A 1975 A comparison of simulation event list algorithms.Commun. ACM 18: 223–230

    Article  MATH  Google Scholar 

  • Virjo A 1972 A comparative study of some discrete-event simulation languages. InProc. Nordata Conference, Helsinki, pp 1532–1564

  • Vuillemin J 1978 A data structure for manipulating priority queues.Commun. ACM 21: 309–314

    Article  MATH  MathSciNet  Google Scholar 

  • Welch P 1983 Statistical analysis of simulation results. InComputer performance modeling handbook (ed.) S S Lavenberg (New York: Academic Press)

    Google Scholar 

  • Williams J W J 1964 Algorithms 232: Heapsort.Commun. ACM 7: 347–348

    Google Scholar 

  • Wyman F B 1976 Improved event scanning mechanisms for discrete event simulation.Commun. ACM 19: 350–353

    MathSciNet  Google Scholar 

  • Zeigler B P 1976Theory of modelling and simulation (New York: Wiley) (Reissued by Krieger, Malabar, FL in 1985)

    MATH  Google Scholar 

  • Zeigler B P 1987 Hierarchical, modular, discrete-event modelling in an object-oriented environment.Simulation 49: 219–230

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rajesh Mansharamani.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mansharamani, R. An overview of discrete event simulation methodologies and implementation. Sadhana 22, 611–627 (1997). https://doi.org/10.1007/BF02802549

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02802549

Keywords

Navigation