RAMSES: Reversibility-Based Agent Modeling and Simulation Environment with Speculation-Support

  • Davide Cingolani
  • Alessandro PellegriniEmail author
  • Francesco Quaglia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9523)


This paper presents RAMSES, a framework for easily specifying agent-based discrete event models entailing both environment and agent entities. RAMSES offers parallel execution capabilities based on speculative event processing and an innovative software reversibility technique that copes with state restore in case the run slides along a non-consistent speculative path. Reversibility in RAMSES relies on transparent static software instrumentation, thus allowing the model developer to concentrate on the actual forward-execution logic of the simulation events occurring in the system. An experimental assessment of RAMSES is also presented, which is aimed at determining its run-time effectiveness and its potential for simplifying the development of agent-based models when compared to other (general purpose) speculative frameworks for parallel discrete event simulation.


  1. 1.
    Takahashi, T., Tadokoro, S., Ohta, M., Ito, N.: Agent based approach in disaster rescue simulation - from test-bed of multiagent system to practical application. In: Birk, A., Coradeschi, S., Tadokoro, S. (eds.) RoboCup 2001. LNCS (LNAI), vol. 2377, pp. 102–111. Springer, Heidelberg (2002) CrossRefGoogle Scholar
  2. 2.
    Macy, M.W., Willer, R.: From factors to actors: computational sociology and agent-based modeling. Ann. Rev. Sociol. 28(1), 143–166 (2002)CrossRefGoogle Scholar
  3. 3.
    Macal, C., North, M.: Tutorial on agent-based modeling and simulation part 2: how to model with agents. In: Proceedings of the 2006 Winter Simulation Conference, WSC, pp. 73–83. Society for Computer Simulation (2006)Google Scholar
  4. 4.
    Page, S.E.: Agent-based models. In: Durlauf, S.N., Blume, L.E. (eds.) The New Palgrave Dictionary of Economics. Palgrave Macmillan (2008)Google Scholar
  5. 5.
    Fujimoto, R.M.: Parallel discrete event simulation. In: Proceedings of the 21st Conference on Winter Simulation, WSC, pp. 19–28. ACM Press (1989)Google Scholar
  6. 6.
    Barnes Jr, P.D., Carothers, C.D., Jefferson, D.R., LaPre, J.M.: Warp speed: executing time warp on 1, 966, 080 cores. In: SIGSIM Principles of Advanced Discrete Simulation, SIGSIM-PADS 2013, Montreal, QC, Canada, 19–22 May 2013, pp. 327–336 (2013)Google Scholar
  7. 7.
    Cingolani, D., Pellegrini, A., Quaglia, F.: Transparently mixing undo logs and software reversibility for state recovery in optimistic pdes. In: Proceedings of the 2015 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation, SIGSIM-PADS. ACM Press, June 2015Google Scholar
  8. 8.
    Pellegrini, A., Vitali, R., Quaglia, F.: Autonomic state management for optimistic simulation platforms. IEEE Trans. Parallel Distrib. Syst. 26(6), 1560–1569 (2015)CrossRefGoogle Scholar
  9. 9.
    Fox, D., Ko, J., Konolige, K., Limketkai, B., Schulz, D., Stewart, B.: Distributed multirobot exploration and mapping. Proc. IEEE 94(7), 1325–1339 (2006)CrossRefGoogle Scholar
  10. 10.
    Pellegrini, A., Quaglia, F.: The ROme OpTimistic simulator: a tutorial. In: Mey, D., et al. (eds.) Euro-Par 2013. LNCS, vol. 8374, pp. 501–512. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  11. 11.
    Luke, S., Cioffi-Revilla, C., Panait, L., Sullivan, K., Balan, G.: Mason: a multiagent simulation environment. Simulation 81(7), 517–527 (2005)CrossRefGoogle Scholar
  12. 12.
    Cordasco, G., De Chiara, R., Mancuso, A., Mazzeo, D., Scarano, V., Spagnuolo, C.: A framework for distributing agent-based simulations. In: Alexander, M., et al. (eds.) Euro-Par 2011, Part I. LNCS, vol. 7155, pp. 460–470. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  13. 13.
    Wittek, P., Rubio-Campillo, X.: Scalable agent-based modelling with cloud HPC resources for social simulations. In: Proceedings of the 4th International Conference on Cloud Computing Technology and Science, CloudCom, pp. 355–362. IEEE Computer Society (2012)Google Scholar
  14. 14.
    Karpov, Y.G.: Anylogic – a new generation professional simulation tool. In: Proceedings of the 6th International Congress on Mathematical Modeling, MATHMOD, September 2004Google Scholar
  15. 15.
    Holcombe, M., Coakley, S., Smallwood, R.: A general framework for agent-based modelling of complex systems. In: Proceedings of the 2006 European Conference on Complex Systems. European Complex Systems Society, Paris, France (2006)Google Scholar
  16. 16.
    Richmond, P., Romano, D.: Agent based GUP, a real-time 3D simulation and interactive visualisation framework for massive agent based modelling on the gpu. In: Proceedings International Workshop on Supervisualisation (2008)Google Scholar
  17. 17.
    Romano, P., Palmieri, R., Quaglia, F., Carvalho, N., Rodrigues, L.: On speculative replication of transactional systems. J. Comput. Syst. Sci. 80(1), 257–276 (2014)zbMATHCrossRefMathSciNetGoogle Scholar
  18. 18.
    Jefferson, D.R.: Virtual Time. ACM Trans. Prog. Lang. Syst. 7(3), 404–425 (1985)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Pellegrini, A., Quaglia, F.: Programmability and performance of parallel ECS-based simulation of multi-agent exploration models. In: Lopes, L., et al. (eds.) Euro-Par 2014, Part I. LNCS, vol. 8805, pp. 395–406. Springer, Heidelberg (2014) Google Scholar
  20. 20.
    Pellegrini, A., Quaglia, F.: A study on the parallelization of terrain-covering ant robots simulations. In: Mey, D., et al. (eds.) Euro-Par 2013. LNCS, vol. 8374, pp. 585–594. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  21. 21.
    Pellegrini, A.: Hijacker: efficient static software instrumentation with applications in high performance computing (poster paper). In: Proceedings of the 2013 International Conference on High Performance Computing & Simulation, HPCS. IEEE Computer Society, July 2013Google Scholar
  22. 22.
    Brown, R.: Calendar queues: a fast O(1) priority queue implementation for the simulation event set problem. Commun. ACM 31, 1220–1227 (1988)CrossRefGoogle Scholar
  23. 23.
    Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Davide Cingolani
    • 1
  • Alessandro Pellegrini
    • 1
    Email author
  • Francesco Quaglia
    • 1
  1. 1.DIAGSapienza University of RomeRomeItaly

Personalised recommendations