This Article 
 Bibliographic References 
 Add to: 
Maisie: A Language for the Design of Efficient Discrete-Event Simulations
April 1994 (vol. 20 no. 4)
pp. 225-238

Maisie is a C-based discrete-event simulation language that was designed to cleanly separate a simulation model from the underlying algorithm (sequential or parallel) used for the execution of the model. With few modifications, a Maisie program may be executed by using a sequential simulation algorithm, a parallel conservative algorithm or a parallel optimistic algorithm. The language constructs allow the run-time system to implement optimizations that reduce recomputation and state saving overheads for optimistic simulations and synchronization overheads for conservative implementations. This paper presents the Maisie simulation language, describes a set of optimizations, and illustrates the use of the language in the design of efficient parallel simulations.

[1] M. Abrams, "The object library for parallel simulation(OLPS)," inWinter Simulation Conf. Proc., Dec. 1988.
[2] G. R. Andrews, "Synchronizing resources,"ACM Trans. Program. Lang. Syst., vol. 3, no. 4, pp. 405-430, Oct. 1981.
[3] D. Baezner, G. Lomow, and B.W. Unger, "Sim++: The transition to distributed simulation,"Proc. 1990 SCS Multiconf. Distrib. Simulation, 1990, pp. 211-218.
[4] R.L. Bagrodia, K.M. Chandy, and W. Liao, "A unifying framework for distributed simulations,"ACM Trans. Modeling and Comput. Simulation, vol. 2, pp. 348-385, Oct. 1991.
[5] R. Bagrodia, K. M. Chandy, and J. Misra, "A message-based approach to discrete-event simulation,"IEEE Trans. Software Eng., vol. SE-13, pp. 654-665, June 1987.
[6] R.L. Bagrodia and W.-T. Liao, "Maisie: A language and optimizing environment for distributed simulation,"Proc. 1990 SCS Multiconf. Distrib. Simulation, 1990, pp. 205-210.
[7] R.L. Bagrodia and W.-T. Liao, "Transparent optimizations of overheads in optimistic simulations,"Proc. 1992 Winter Simulation Conf., 1992, pp. 637-645.
[8] R.L. Bagrodia and W.-T. Liao "Maisie user manual," Tech. Rep., Dept. of Comput. Sci., Univ. of Call at Los Angeles, CA, 1993.
[9] R.E. Bryant, "Simulation of Packet Communication Architecture Computer Systems," Tech. Report MIT/LCS/TR-188, Laboratory for Computer Science, MIT Cambridge, Mass., 1977.
[10] K.M. Chandy and R. Sherman, "The conditional event approach to distributed simulation,"Proc. 1989 SCS Multiconf. Distrib. Simulation, 1989, pp. 93-99.
[11] K.M. Chandy and R. Sherman, "Space-time and simulation,"Proc. 1989 SCS Multiconf. Distrib. Simulation Conf., 1989, pp. 53-57.
[12] B.A. Cota and R.G. Sargent, "Automatic lookahead computation for conservative distributed simulation," Tech. Rep. CASE Center 8916, Simulation Research Group and CASE Center, Syracuse University, Syracuse, NY, 1989.
[13] O.-J. Dahl, "Discrete event simulation languages," inProgramming Languages, F. Genuys, ed. New York: Academic Press, 1968, pp. 348-395.
[14] R. Fujimoto.."Lookahead in parallel discrete event simulation,"Int. Conf. Parallel Processing, 1988, pp. 34-41.
[15] R. Fujimoto, G. Gopalakrishnan, and J.J. Tsai, "The roll back chip: Hardware support for distributed simulation using Time Warp,"Proc. 1988 SCS Simulation Multiconf. Distrib. Simulation, 1988, pp. 81-86.
[16] R. M. Fujimoto, "Parallel discrete event simulation,"Commun. ACM, vol. 33, no. 10, pp. 30-53, Oct. 1990.
[17] A. Gafni, "Rollback mechanisms for optimistic distributed simulation systems,"Proc. 1988 SCS Multiconf. Distrib. Simulation, 1988, pp. 61-67.
[18] A. Geist, A. Beguelin, and J. Dongarra, "PVM 3.0 user's guide and reference manual," Tech. Rep. ORNL/TM-12187, Oak Ridge National Lab., 1993.
[19] D.H. Gill, F.X. Maginnis, S.R. Rainier, and T.P. Reagan, "An interface for programming parallel simulations,"Proc. 1989 SCS Multiconf. Distrib. Simulation, 1989, pp. 151-154.
[20] A. G. Greenberg, B. D. Lubachevsky, and I. Mitrani, "Unboundedly parallel simulations via recurrence relations,"Proc. 1990 ACM SIGMETRICS Conf. on Measure. and Model. Comput. Syst., May 1990, vol. 18, no. 1, pp. 11-12.
[21] D. Jefferson, "Virtual Time,"ACM Trans. Programming Languages, Vol. 7, No. 3, July 1985, pp. 404-425.
[22] D.R. Jefferson et al., "Distributed Simulation and the Time Warp Operating Sys tem,"ACM Operating Systems Review, Vol. 21, No. 5, Nov. 1987, pp. 77-93.
[23] V. Jha and R.L. Bagrodia, "Transparent implementation of conservative algorithms in parallel simulation languages,"Proc. 1993 Winter Simulation Conf., 1993, pp. 677-686.
[24] Y.-B. Lin and E.D. Lazowska, "Exploiting lookahead in parallel simulation,"IEEE Trans. Parallel Distrib. Syst., vol. 1, pp. 457-469, Oct. 1990.
[25] J. Misra, "Distributed discrete-event simulation,"Comput. Surveys, vol. 18, no. 1, Mar. 1986.
[26] D. M. Nicol, "Parallel discrete-event simulation of FCFS stochastic queueing networks," inProc. ACM SIGPLAN Symp. Parallel Programming: Experience with Applications, Languages, and Systems, 1988, pp. 124-137.
[27] K. Nygaard and O.J. Dahl, "The Development of the SIMULA Languages," inHistory of Programming Languages, R.L. Wexelblat, ed., Academic Press, New York, 1981.
[28] B.R. Preiss, "The Yaddes distributed discrete event simulation specification language and execution environments,"Proc. 1989 SCS Multiconf. Distrib. Simulation, 1989, pp. 139-144.
[29] H. Rajaei, "Sima: An Environment for Parallel Discrete-Event Simulation,"Proc. 25th Ann. Simulation Symp., IEEE Computer Society Press, Los Alamitos, Calif., Apr. 1992, pp. 147-155.
[30] P. Reynolds, "A spectrum of options for parallel simulation,"Proc. 1988 Winter Simulation Conf., 1988, pp. 325-332.
[31] P. F. Reynolds, "An efficient framework for parallel simulations," in V. Madisetti, D. Nicol, and R. Fujimoto, editors,Proc. 1991 SCS Multiconf. Advances in Parallel Distrib. Simulation, vol. 23, pp. 167-174, Jan. 1991.
[32] H.D. Schwetman, "CSIM: A C-Based, Process-Oriented Simulation Language,"Proc. 1986 Winter Simulation Conf., American Statistical Assoc., Washington, DC, 1986.
[33] C. L. Seitz, "The Cosmic Cube,"Commun. ACM, pp. 22-33, Jan. 1985.
[34] J. Steinman, "SPEEDES: Synchronous parallel environment for emulation and discrete event simulation,"Proc. 1991 SCS Multiconf. Advances in Parallel Distrib. Simulation, 1991, pp. 95-103.
[35] J. West and A. Mullarney, "ModSim: A language for distributed simulation,"Proc. 1988 SCS Multiconf. Distrib. Simulation, 1988, pp. 155-159.

Index Terms:
discrete event simulation; simulation languages; optimisation; synchronisation; parallel algorithms; C language; Maisie; C-based discrete-event simulation language; simulation model/algorithm separation; sequential simulation algorithm; parallel conservative algorithm; parallel optimistic algorithm; language constructs; run-time system; optimizations; recomputation overheads; state saving overheads; synchronization overheads; distributed simulation; semantic rollback; lookahead optimization; interrogative simulation
R.L. Bagrodia, Wen-Toh Liao, "Maisie: A Language for the Design of Efficient Discrete-Event Simulations," IEEE Transactions on Software Engineering, vol. 20, no. 4, pp. 225-238, April 1994, doi:10.1109/32.277572
Usage of this product signifies your acceptance of the Terms of Use.