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.
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
Bagrodia R L, Chandy K M, Misra J 1987 A message-based approach to discrete event simulation.IEEE Trans. Software Eng. 13: 654–665
Banks J, Carson J S 1984Discrete-event system simulation (Englewood Cliffs, NJ: Prentice Hall)
Banks J, Norman V 1996 Second look at simulation software. Non-traditional uses can lead to unexpected benefits.OR/MS Today 23: 4
Blackstone J H, Hogg G L, Phillips D T 1981 A two-list synchronization procedure for discrete event simulation.Commun. ACM 24: 825–829
Boas P V E, Kaas R, Zijlstra E 1977 Design and implementation of an efficient priority queue.Math. Syst. Theory 10: 99–127
Bollobas B, Simon J 1985 Repeated random insertions into a priority queue.J. Algorithms 6: 466–477
Brown R 1988 Calendar queues: a fast O(1) priority queue implementation for the simulation event set.Commun. ACM 31: 1220–1227
Bruno G 1984 Using Ada for discrete event simulation.Software Pract. Exper. 14: 685–695
Chung K, Sang J, Rego V 1993 A performance comparison of event calendar algorithms: an empirical approach.Software Pract. Exper. 23: 1107–1138
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)
Davey D, Vaucher J 1980 Self-optimizing partition sequencing sets for discrete event simulation.INFOR J. 18: 21–41
Davidson G A 1989 Calendar P’s and queues.Commun. ACM 32: 1241–1243
Devroye L 1986Non-uniform random variate generation (New York: Springer Verlag)
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
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
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)
Fischer M J, Paterson M S 1994 Fishspear: a priority queue algorithm.J. Assoc. Comput. Mach. 41: 3–30
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
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
Franta W R, Maly K 1978 A comparison of HEAPS and the TL structure for the simulation event set.Commun. ACM 21: 873–875
Fredman M L, Tarjan R E 1987 Fibonacci heaps and their uses in improved network optimization problems.J. Assoc. Comput. Mach. 34: 596–615
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
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
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.
Hac A 1982 Computer system simulation in Pascal.Software Pract. Exper. 12: 777–784
Hac A 1984 PL/I as a discrete event simulation tool.Software Pract. Exper. 14: 692–702
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.)
Houten 1988 Simulation languages for PCs take different approaches.IEEE Software 5: 91–94
Jain R 1991The art of computer system performance analysis: Techniques for experimental design, measurement, simulation and modelling (New York: Wiley)
Johnson D B 1975 Priority queues with update and finding minimal spanning trees.Info. Proc. Lett. 4: 53–57
Jonassen A, Dahl O J 1975 Analysis of an algorithm for priority queue administration.BIT 15: 409–422
Jones D W 1986 An empirical comparison of priority queue and event set implementations.Commun. ACM 29: 300–311
Kaubisch W H, Perrott R H, Hoare C A R 1976 Quasiparallel programming.Software Pract. Exper. 6: 341–356
Knuth D E 1973aThe art of computer programming: Vol. 2/Seminumerical algorithms (Reading, MA: Addison-Wesley)
Knuth D E 1973bThe art of computer programming: Vol. 3/Sorting and searching (Reading, MA: Addison-Wesley)
Kriz J, Landmayr H 1980 Extensions of Pascal by coroutines and its application to quasiparallel programming and simulation.Software Pract. Exper. 10: 773–789
L’Ecuyer P 1988 Efficient and portable random number generation.Commun. ACM 31: 742–749, 774
Law A M, Kelton W D 1993Simulation, modeling and analysis (New York: McGraw-Hill)
Leutenegger S T, Vernon M K 1990 The performance of multiprogrammed multiprocessor scheduling policies. InProc. ACM SIGMETRICS 18: 226–236
Little M C, McCue D L 1994 Construction and use of a simulation package in C++.C User’s J. 12: 3
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)
Majumdar S, Eager D, Bunt R 1988 Scheduling in multiprogrammed parallel systems. InProc. ACM SIGMETRICS 16: 104–113
Markowitz H M, Kiviat P J, Villaneuva R 1987Simscript II.5 programming language (Los Angeles: CACI)
Marlin 1980 Coroutines. InLecture notes in computer science 95 (Berlin: Springer-Verlag)
Marsden B W 1984 A standard pascal event simulation package.Software Pract. Exper. 14: 659–684
McCormack W M, Sargent R G 1981 Analysis of future event set algorithms for discrete event simulation.Commun. ACM 24: 801–812
Melamed B, Morris R J 1985 Visual simulation: the performance analysis workstation.IEEE Comput. 18: 87–94
Nevalainen O, Teuhola J 1979 Priority queue administration by sublist index.Comput. J. 22: 220–225
Olsson R A 1990 Using SR for discrete event simulation.Software Pract. Exper. 20: 1187–1208
O’Keefe R M 1985 Comment on “Complexity Analysis of Event Set Algorithms”.Comput. J. 28: 245–272
Park S K, Meller K W 1988 Random number generators: good ones are hard to find.Commun. ACM 31: 1192–1201
Pawlikowski K 1990 Steady state simulation of queueing processes: a survey of problems and solutions.ACM Comput. Surv. 22: 123–170
Pegden C D, Sadowski R P, Shannon R E 1990Introduction to simulation using SIMAN (Sewickley: System Modeling)
Pritsker A A 1986Introduction to simulation and SLAM II (New York: Halstead)
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
Scher J M 1991 Reworked GPSS/H book is a strong standard.IEEE Software 8(4): 105–106
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
Sharma R, Rose L L 1988 Modular design for simulation.Software Pract. Exper. 18: 945–966
Shearn D C 1975 Discrete event simulation in ALGOL68.Software Pract. Exper. 5: 279–293
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
Sleator D D, Tarjan R E 1986 Self-adjusting heaps.SIAM J. Comput. 15: 52–69
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
Stasko J T, Vitter J S 1987 Pairing heaps: experiments and analysis.Commun. ACM 30: 234–249
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)
Tocher K D 1965 Review of simulation languages.Oper. Res. Q. 16: 189–217
Ulrich E G 1978 Event manipulation for discrete simulations requiring large numbers of events.Commun. ACM 21: 777–785
Vaucher J G 1977 On the distribution of event times for the notices in a simulation event list.INFOR J. 15: 171–182
Vaucher J G, Duval P A 1975 A comparison of simulation event list algorithms.Commun. ACM 18: 223–230
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
Welch P 1983 Statistical analysis of simulation results. InComputer performance modeling handbook (ed.) S S Lavenberg (New York: Academic Press)
Williams J W J 1964 Algorithms 232: Heapsort.Commun. ACM 7: 347–348
Wyman F B 1976 Improved event scanning mechanisms for discrete event simulation.Commun. ACM 19: 350–353
Zeigler B P 1976Theory of modelling and simulation (New York: Wiley) (Reissued by Krieger, Malabar, FL in 1985)
Zeigler B P 1987 Hierarchical, modular, discrete-event modelling in an object-oriented environment.Simulation 49: 219–230
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02802549