Journal of Simulation

, Volume 7, Issue 3, pp 202–215 | Cite as

Chemical-oriented simulation of computational systems with ALCHEMIST



In this paper we address the engineering of complex and emerging computational systems featuring situatedness, adaptivity and self-organisation, like pervasive computing applications in which humans and devices, dipped in a very mobile environment, opportunistically interact to provide and exploit information services. We adopt a meta-model in which possibly mobile, interconnected and communicating agents work according to a set of chemical-like laws. According to this view, substantiated by recent research on pervasive computing systems, we present the Alchemist simulation framework, which retains the performance of known Stochastic Simulation Algorithms for (bio)chemistry, though it is tailored to the specific features of complex and situated computational systems.


distribution pervasive systems simulation bio-inspiration 



This work has been supported by the EU-FP7-FET Proactive project SAPERE Self-aware Pervasive Service Ecosystems, under contract no.256873


  1. Alves R, Antunes F and Salvador A (2006). Tools for kinetic modeling of biochemical networks. Nature Biotechnology 24 (6) pp 667–672.CrossRefGoogle Scholar
  2. Autili M, Benedetto P and Inverardi P (2009). Context-aware adaptive services: The plastic approach. In: FASE’09 Proceedings. Springer-Verlag, Berlin, Heidelberg, pp 124–139.Google Scholar
  3. Babaoglu Ö et al (2006). Design patterns from biology for distributed computing. TAAS 1 (1): 26–66.CrossRefGoogle Scholar
  4. Babulak E and Wang M (2008). Discrete event simulation: State of the art. iJOE 4 (2): 60–63.Google Scholar
  5. Banâtre J-P, Fradet P and Métayer DL (2001). Gamma and the chemical reaction model: Fifteen years after. In: Proceedings of the Workshop on Multiset Processing: Multiset Processing, Mathematical, Computer Science, and Molecular Computing Points of View, ser. WMP’00. Springer-Verlag, London, UK, pp 17–44.Google Scholar
  6. Banâtre J-P and Métayer DL (1993). Programming by multiset transformation. Communications of the ACM 36 (1): 98–111.CrossRefGoogle Scholar
  7. Bandini S, Manzoni S and Vizzari G (2009a). Agent based modeling and simulation: An informatics perspective. Journal of Artificial Societies and Social Simulation 12 (4): 4.Google Scholar
  8. Bandini S, Manzoni S and Vizzari G (2009b). Crowd behavior modeling: From cellular automata to multi-agent systems. In: Uhrmacher AM and Weyns D (eds). Multi-agent Systems: Simulation and Applications ser. Computational Analysis, Synthesis, and Design of Dynamic Systems, CRC Press, Taylor Francis Group, Boca Raton, FL 33487-2742, pp 389–418.Google Scholar
  9. Bandini S and Vizzari G (2007). Regulation function of the environment in agent-based simulation. In: Proceedings of the 3rd International Conference on Environments for Multi-agent Systems III, ser. E4MAS’06, Springer-Verlag, Berlin, Heidelberg, 2007, pp 157–169.Google Scholar
  10. Bergstra JA and Bethke I (2002). Molecular dynamics. Journal of Logic and Algebraic Programming 51 (2): 193–214.CrossRefGoogle Scholar
  11. Berry G and Boudol G (1992). The chemical abstract machine. Theoretical Computer Science 96 (1): 217–248.CrossRefGoogle Scholar
  12. Brijder R, Ehrenfeucht A, Main MG and Rozenberg G (2011). A tour of reaction systems. International Journal of Foundations of Computer Science 22 (7): 1499–1517.CrossRefGoogle Scholar
  13. Bull JM et al (2003). Benchmarking Java against C and Fortran for scientific applications. Concurrency and Computation: Practice and Experience 15 (3–5): 417–430.CrossRefGoogle Scholar
  14. Cardelli L and Gordon AD (2000). Mobile ambients. Theoretical Computer Science 240 (1): 177–213.CrossRefGoogle Scholar
  15. Cowan R (2000). Stochastic models for DNA replication. In: Shanbhag DN and Rao CR (eds). Stochastic Processes: Modelling and Simulation, Vol. 21. Handbook of Statistics. Elsevier, pp 137–166.Google Scholar
  16. Credi A et al (2007). Modelization and simulation of nano devices in {nanok} calculus. In: Computational Methods in Systems Biology, International Conference, CMSB 2007, Edinburgh, Scotland, 20–21 September, Proceedings, ser. Lecture Notes in Computer Science, Vol. 4695. Springer, pp 168–183.Google Scholar
  17. Ewald R, Maus C, Rolfs A and Uhrmacher AM (2007). Discrete event modeling and simulation in systems biology. Journal of Simulation 1 (2): 81–96.CrossRefGoogle Scholar
  18. Fernandez-Marquez JL et al (2012). Description and composition of bio-inspired design patterns: A complete overview. Natural Computing, doi: 10.1007/s11047-012-9324-y, online First, pp 1–25.Google Scholar
  19. Fok C-L, Roman G-C and Lu C (2009). Enhanced coordination in sensor networks through flexible service provisioning. In: Field, J and Vasconcelos, VT (eds). Proceedings of COORDINATION 2009 ser. LNCS, Vol. 5521, Springer-Verlag, Lisbon, Portugal.Google Scholar
  20. Gardelli L, Viroli M and Omicini A (2007). Design patterns for self-organising systems. In: Verbrugge, R and Varga, LZ (eds). Proceedings of the Multi-agent Systems and Applications V, ser, LNAI, Burkhard, H-D. Springer, September, Vol. 4696, pp 123–132, 5th International Central and Eastern European Conference on Multi-agent Systems (CEEMAS’07), Leipzig, Germany, 25–27 September.Google Scholar
  21. Gibson MA and Bruck J (2000). Efficient exact stochastic simulation of chemical systems with many species and many channels. Journal of Physical Chemistry A 104 (9): 1876–1889.CrossRefGoogle Scholar
  22. Gillespie DT (1977). Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry 81 (25): 2340–2361.CrossRefGoogle Scholar
  23. Harel D (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming 8 (3): 231–274.CrossRefGoogle Scholar
  24. Helleboogh A, Vizzari G, Uhrmacher A and Michel F (2007). Modeling dynamic environments in multi-agent simulation. Autonomous Agents and Multi-agent Systems 14 (1): 87–116.CrossRefGoogle Scholar
  25. Hoschek W (2004). The Colt Distribution: Open Source Libraries for High Performance Scientific and Technical Computing in Java. CERN, Geneva: Scholar
  26. Lecca P, Ihekwaba AEC, Dematté L and Priami C (2010). Stochastic simulation of the spatio-temporal dynamics of reaction-diffusion systems: The case for the bicoid gradient. Journal of Integrative Bioinformatics 7 (1): 1–32.Google Scholar
  27. Luke S et al (2005). Mason: A multiagent simulation environment. Simulation 81 (7): 517–527.CrossRefGoogle Scholar
  28. Macal CM and North MJ (2010). Tutorial on agent-based modelling and simulation. Journal of Simulation 4 (3): 151–162.CrossRefGoogle Scholar
  29. Mallavarapu A, Thomson M, Ullian B and Gunawardena J (2009). Programming with models: Modularity and abstraction provide powerful capabilities for systems biology. Journal of the Royal Society, Interface/the Royal Society 6 (32): 257–270.CrossRefGoogle Scholar
  30. Mamei M and Zambonelli F (2009). Programming pervasive and mobile computing applications: The TOTA approach. ACM Transactions on Software Engineering and Methodology 18 (4): 1–56.CrossRefGoogle Scholar
  31. Matsumoto M and Nishimura T (1998). Mersenne twister: A 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Transactions on Modelling and Computer Simulation 8 (1): 3–30.CrossRefGoogle Scholar
  32. Minar N, Burkhart R, Langton C and Askenazi M (1996). The {S}warm simulation system: A toolkit for building multi-agent simulations. Working Paper 96-06-042, Santa Fe, CA.Google Scholar
  33. Molesini A, Casadei M, Omicini A and Viroli M (2011). Simulation in agent-oriented software engineering: The SODA case study. Science of Computer Programming, August 2011, Special Issue on Agent-oriented Design methods and Programming Techniques for Distributed Computing in Dynamic and Complex Environments. [Online]:
  34. Molesini A, Omicini A and Viroli M (2009). Environment in agent-oriented software engineering methodologies. Multiagent and Grid Systems 5 (1): 37–57, Special Issue ‘Engineering Environments in Multi-agent Systems’.CrossRefGoogle Scholar
  35. Montagna S, Pianini D and Viroli M (2012). A model for Drosophila melanogaster development from a single cell to stripe pattern formation. In: 27th Annual ACM Symposium on Applied Computing (SAC 2012), Riva del Garda (Trento), Italy, 26–30 March, to appear.Google Scholar
  36. Murata T (1989). Petri nets: Properties, analysis and applications. Proceedings of the IEEE, Vol. 77, pp 541–580.CrossRefGoogle Scholar
  37. Murphy AL, Picco GP and Roman G-C (2006). Lime: A model and middleware supporting mobility of hosts and agents. ACM Transactions on Software Engineering and Methodology 15 (3): 279–328.CrossRefGoogle Scholar
  38. North MJ, Howe TR, Collier NT and Vos JR (2007). A declarative model assembly infrastructure for verification and validation. In: Takahashi S, Sallach D and Rouchier J (eds). Advancing Social Simulation: The First World Congress. Springer: Japan, pp 129–140.CrossRefGoogle Scholar
  39. Oancea B, Rosca IG, Andrei T and Iacob AI (2011). Evaluating Java performance for linear algebra numerical computations. Procedia Computer Science 3: 474–478.CrossRefGoogle Scholar
  40. Omicini A, Ricci A and Viroli M (2008). Artifacts in the A&A meta-model for multi-agent systems. Autonomous Agents and Multi-agent Systems 17 (3): 432–456 December, Special Issue on Foundations, Advanced Topics and Industrial Perspectives of Multi-agent Systems.CrossRefGoogle Scholar
  41. Omicini A and Zambonelli F (1999). Coordination for internet application development. Autonomous Agents and Multi-agent Systems 2 (3): 251–269.CrossRefGoogle Scholar
  42. Paun G (2002). Membrane Computing: An Introduction. Springer-Verlag, New York: Secaucus, NJ.CrossRefGoogle Scholar
  43. Pollacia LF (1989). A survey of discrete event simulation and state-of-the-art discrete event languages. SIGSIM Simulation Digest 20 (3): 8–25.CrossRefGoogle Scholar
  44. Priami C (1995). Stochastic pi-calculus. The Computer Journal 38 (7): 578–589.CrossRefGoogle Scholar
  45. Ricci A, Piunti M and Viroli M (2011). Environment programming in multiagent systems—An artifact-based perspective. Autonomous Agents and Multi-agent Systems 23 (2): 158–192.CrossRefGoogle Scholar
  46. Roy PV et al (2008). Self-management for large-scale distributed systems: An overview of the selfman project. In: Bonsangue MM, Graf S and de Roever W-P (eds). Formal Methods for Components and Objects, LNCS No. 5382. Springer Verlag, pp 153–178.Google Scholar
  47. Schumacher M, Grangier L and Jurca R (2007). Governing environments for agent-based traffic simulations. In: Proceedings of the 5th international Central and Eastern European conference on Multi-agent Systems and Applications V, ser. CEEMAS’07. Springer-Verlag, Berlin, Heidelberg pp 163–172.Google Scholar
  48. Sklar E (2007). Netlogo, a multi-agent simulation environment. Artificial Life 13 (3): 303–311.CrossRefGoogle Scholar
  49. Slepoy A, Thompson AP and Plimpton SJ (2008). A constant-time kinetic Monte Carlo algorithm for simulation of large biochemical reaction networks. The Journal of Chemical Physics 128 (20): 205101.CrossRefGoogle Scholar
  50. Uhrmacher AM and Priami C (2005). Discrete event systems specification in systems biology—A discussion of stochastic pi calculus and devs. In: Proceedings of the 37th Conference on Winter Simulation, ser. WSC’05. Winter Simulation Conference, pp 317–326.Google Scholar
  51. Viroli M and Casadei M (2009). Biochemical tuple spaces for selforganising coordination. In: Field LJ and Vasconcelos VT (eds). Proceedings of the Coordination Languages and Models, ser., Lisbon, Portugal: Springer, June, Vol. 5521, pp 143–162, Proceedings of the 11th International Conference (COORDINATION 2009).Google Scholar
  52. Viroli M, Casadei M, Montagna S and Zambonelli F (2011). Spatial coordination of pervasive services through chemical-inspired tuple spaces. ACM Transactions on Autonomous and Adaptive Systems 6 (2): 14:1–14:24.CrossRefGoogle Scholar
  53. Viroli M et al (2007). Infrastructures for the environment of multiagent systems. Autonomous Agents and Multi-agent Systems 14 (1): 49–60.CrossRefGoogle Scholar
  54. Viroli M et al (2011). A coordination approach to adaptive pervasive service ecosystems. In: 1st Awareness Workshop ‘Challenges in Achieving Self-awareness in Autonomous Systems’ (AWARE 2011), SASO 2011, Ann Arbor, MI, 7 October.Google Scholar
  55. Viroli M and Zambonelli F (2010). A biochemical approach to adaptive service ecosystems. Information Sciences 180 (10): 1876–1892.CrossRefGoogle Scholar
  56. Weyns D, Boucké N and Holvoet T (2006). Gradient field-based task assignment in an AGV transportation system. In: Proceedings of the Fifth International Joint Conference on Autonomous Agents and Multiagent Systems, ser. AAMAS’06, ACM, New York, NY, pp 842–849.Google Scholar
  57. Zambonelli F et al (2011). Self-aware pervasive service ecosystems. Procedia Computer Science 7: 197–199, Proceedings of the 2nd European Future Technologies Conference and Exhibition 2011 (FET 11).CrossRefGoogle Scholar
  58. Zambonelli F and Viroli M (2011). A survey on nature-inspired metaphors for pervasive service ecosystems. International Journal of Pervasive Computing and Communications 7 (3): 186–204.CrossRefGoogle Scholar
  59. Zeigler B (1984). Multifaceted Modelling and Discrete Event Simulation. Academic Press.Google Scholar
  60. Zeigler BP (1976). Theory of Modeling and Simulation. John Wiley.Google Scholar

Copyright information

© Operational Research Society 2013

Authors and Affiliations

  1. 1.DISI-Universita di BolognaCesenaItaly

Personalised recommendations