Skip to main content
Log in

Chemical-oriented simulation of computational systems with ALCHEMIST

  • Article
  • Published:
Journal of Simulation

Abstract

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.

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.

Institutional subscriptions

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10

Similar content being viewed by others

Notes

  1. http://alchemist.apice.unibo.it.

  2. An example, built on the code we used for the case study in Section 5, is available through the ALCHEMIST website.

References

  • Alves R, Antunes F and Salvador A (2006). Tools for kinetic modeling of biochemical networks. Nature Biotechnology 24 (6) pp 667–672.

    Article  Google Scholar 

  • 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.

  • Babaoglu Ö et al (2006). Design patterns from biology for distributed computing. TAAS 1 (1): 26–66.

    Article  Google Scholar 

  • Babulak E and Wang M (2008). Discrete event simulation: State of the art. iJOE 4 (2): 60–63.

    Google Scholar 

  • 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.

  • Banâtre J-P and Métayer DL (1993). Programming by multiset transformation. Communications of the ACM 36 (1): 98–111.

    Article  Google Scholar 

  • 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 

  • 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 

  • 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.

  • Bergstra JA and Bethke I (2002). Molecular dynamics. Journal of Logic and Algebraic Programming 51 (2): 193–214.

    Article  Google Scholar 

  • Berry G and Boudol G (1992). The chemical abstract machine. Theoretical Computer Science 96 (1): 217–248.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Cardelli L and Gordon AD (2000). Mobile ambients. Theoretical Computer Science 240 (1): 177–213.

    Article  Google Scholar 

  • 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 

  • 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.

  • 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.

    Article  Google Scholar 

  • 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.

  • 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 

  • 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.

  • 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.

    Article  Google Scholar 

  • Gillespie DT (1977). Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry 81 (25): 2340–2361.

    Article  Google Scholar 

  • Harel D (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming 8 (3): 231–274.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Hoschek W (2004). The Colt Distribution: Open Source Libraries for High Performance Scientific and Technical Computing in Java. CERN, Geneva: http://acs.lbl.gov/software/colt/.

    Google Scholar 

  • 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 

  • Luke S et al (2005). Mason: A multiagent simulation environment. Simulation 81 (7): 517–527.

    Article  Google Scholar 

  • Macal CM and North MJ (2010). Tutorial on agent-based modelling and simulation. Journal of Simulation 4 (3): 151–162.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

  • 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]: http://www.sciencedirect.com/science/article/pii/S0167642311001778.

  • 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’.

    Article  Google Scholar 

  • 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.

  • Murata T (1989). Petri nets: Properties, analysis and applications. Proceedings of the IEEE, Vol. 77, pp 541–580.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • Oancea B, Rosca IG, Andrei T and Iacob AI (2011). Evaluating Java performance for linear algebra numerical computations. Procedia Computer Science 3: 474–478.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Omicini A and Zambonelli F (1999). Coordination for internet application development. Autonomous Agents and Multi-agent Systems 2 (3): 251–269.

    Article  Google Scholar 

  • Paun G (2002). Membrane Computing: An Introduction. Springer-Verlag, New York: Secaucus, NJ.

    Book  Google Scholar 

  • Pollacia LF (1989). A survey of discrete event simulation and state-of-the-art discrete event languages. SIGSIM Simulation Digest 20 (3): 8–25.

    Article  Google Scholar 

  • Priami C (1995). Stochastic pi-calculus. The Computer Journal 38 (7): 578–589.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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.

  • Sklar E (2007). Netlogo, a multi-agent simulation environment. Artificial Life 13 (3): 303–311.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

  • 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).

  • 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.

    Article  Google Scholar 

  • Viroli M et al (2007). Infrastructures for the environment of multiagent systems. Autonomous Agents and Multi-agent Systems 14 (1): 49–60.

    Article  Google Scholar 

  • 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.

  • Viroli M and Zambonelli F (2010). A biochemical approach to adaptive service ecosystems. Information Sciences 180 (10): 1876–1892.

    Article  Google Scholar 

  • 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.

  • 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).

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Zeigler B (1984). Multifaceted Modelling and Discrete Event Simulation. Academic Press.

    Google Scholar 

  • Zeigler BP (1976). Theory of Modeling and Simulation. John Wiley.

    Google Scholar 

Download references

Acknowledgements

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

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M Viroli.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pianini, D., Montagna, S. & Viroli, M. Chemical-oriented simulation of computational systems with ALCHEMIST. J Simulation 7, 202–215 (2013). https://doi.org/10.1057/jos.2012.27

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1057/jos.2012.27

Keywords

Navigation