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.
Similar content being viewed by others
Notes
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.
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.
Babulak E and Wang M (2008). Discrete event simulation: State of the art. iJOE 4 (2): 60–63.
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.
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.
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.
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.
Berry G and Boudol G (1992). The chemical abstract machine. Theoretical Computer Science 96 (1): 217–248.
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.
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.
Cardelli L and Gordon AD (2000). Mobile ambients. Theoretical Computer Science 240 (1): 177–213.
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.
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.
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.
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.
Gillespie DT (1977). Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry 81 (25): 2340–2361.
Harel D (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming 8 (3): 231–274.
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.
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/.
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.
Luke S et al (2005). Mason: A multiagent simulation environment. Simulation 81 (7): 517–527.
Macal CM and North MJ (2010). Tutorial on agent-based modelling and simulation. Journal of Simulation 4 (3): 151–162.
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.
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.
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.
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’.
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.
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.
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.
Oancea B, Rosca IG, Andrei T and Iacob AI (2011). Evaluating Java performance for linear algebra numerical computations. Procedia Computer Science 3: 474–478.
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.
Omicini A and Zambonelli F (1999). Coordination for internet application development. Autonomous Agents and Multi-agent Systems 2 (3): 251–269.
Paun G (2002). Membrane Computing: An Introduction. Springer-Verlag, New York: Secaucus, NJ.
Pollacia LF (1989). A survey of discrete event simulation and state-of-the-art discrete event languages. SIGSIM Simulation Digest 20 (3): 8–25.
Priami C (1995). Stochastic pi-calculus. The Computer Journal 38 (7): 578–589.
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.
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.
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.
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.
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.
Viroli M et al (2007). Infrastructures for the environment of multiagent systems. Autonomous Agents and Multi-agent Systems 14 (1): 49–60.
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.
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).
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.
Zeigler B (1984). Multifaceted Modelling and Discrete Event Simulation. Academic Press.
Zeigler BP (1976). Theory of Modeling and Simulation. John Wiley.
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
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1057/jos.2012.27