The TurtleKit Simulation Platform: A Multi-Agent Tool for Designing and Studying Complex Systems Grégory Beurier
Fabien Michel
Institut de Recherche pour le Développement 32, av. H. Varagnat, 93143 Bondy Cedex, France
LIRMM - CNRS - UM2 161 r. Ada, 34392 Montpellier Cedex 5, France
[email protected]
[email protected]
Categories and Subject Descriptors I.2.11 [Distributed Artificial Intelligence]: Multi-Agent Systems; I.6.7 [Simulation and Modeling]: Simulation Support Systems
General Terms Modeling and Simulation, complex systems, MAS
Keywords Complex Systems, MAS, TurtleKit, MadKit
1. INTRODUCTION 1.1 Domain and Goal of the Demonstration Multi-Agent Based Simulations (MABS) are now widely used for the design and study of complex systems. In this context, this demonstration presents the second version of the TurtleKit platform [4]. The purpose of this demonstration is threefold: 1. Presenting the relevance and the modeling capabilities of the TurtleKit simulation model. 2. Showing how a model could be designed, implemented and executed using the TurtleKit platform. 3. Demonstrating some of the main features of the platform by showing some applications which have been developed with TurtleKit.
to achieve more complex tasks (e.g. search for food). Despite this simplicity, very complex and interesting dynamics could be obtained. However, since the major goal of these platforms remains the simplicity of use, they intentionally do not afford advanced programming tools which could be used to extend the platform simulation models and features. Developing TurtleKit, our main goal is to provide a tool that combine the Logo modeling approach simplicity and expressiveness with all the programming benefits related with (1) the use of high level programming languages and (2) the use of a multiagent standard platform such as MadKit1 [3]. Hence, TurtleKit is an open source platform written in Java relying on a MadKit kernel. Therefore, the main innovative aspect of the TurtleKit project is precisely to provide a simulation software combining a Logo-based modeling approach with an Organization-Centered MAS (OCMAS) perspective [3], on which MadKit relies.
2.
SCENARIO
The demonstration is intended to take about 15 to 20 minutes and is divided in three equal parts as follows.
2.1
Presenting the TurtleKit Simulation Model
The first part mainly consists in presenting the core characteristics of the TurtleKit platform. More precisely, PDF slides and a video are used to present the following aspects of this work. 1. Motivations.
1.2 Motivations
2. The agent behavioral model.
Platforms such as StarLogo [6] or NetLogo [5] have successfully used a Logo-based approach to develop modeling and simulation tools which required no expertise and are very easy to use. Indeed, such approaches rely on very simple agent and environment models: Agents (so-called turtles) evolve in a two-dimensional discretized world which is a grid of patches (each patch can contain local information, e.g. a pheromone concentration). Designing a turtle behavior consists in combining predefined simple primitives (e.g. moving forward, changing color, perceiving a patch variable value)
3. The environment model.
Cite as: The TurtleKit Simulation Platform: A Multi-Agent Tool for Designing and Studying Complex Systems, Author(s), Proc. of 8th Int. Conf. on Autonomous Agents and Multiagent Systems (AAMAS 2009), Decker, Sichman, Sierra and Castelfranchi (eds.), May, 10– 15, 2009, Budapest, Hungary, pp. XXX-XXX. c 2008, International Foundation for Autonomous Agents and Copyright Multiagent Systems (www.ifaamas.org). All rights reserved.
4. The simulation engine and the graphical user interface.
2.2
Design, Implementation and Execution of TurtleKit Models
This part of the demonstration presents, step by step, how a TurtleKit simulation model is designed, implemented and executed in TurtleKit. The idea is to lively show, on a laptop, the different stages which are required to program and execute a TurtleKit simulation. A video is also supporting this part. 1 MadKit is a generic Multi-agent platform providing support for the development and execution of MAS. It is an open source software and can be downloaded at http://www.madkit.net
Hence, this part shows two important aspects of programming with TurtleKit: (1) the ease of using the default classes and settings of TurtleKit and (2) how advanced users can take advantage of the platform software architecture to extend and refine the default tools or create new ones. More specifically, the following features are explained in details: • How to use the default classes and run a simulation. • How the overall simulation process could be managed and refined. • How the platform default tools could be tuned and extended.
2.3 Desmonstrating Platform Potential and Essential Features The last part of the demonstration will be supported by a demonstration video. This video first illustrates some features of the platform. Especially, using some toy simulations, the video illustrates (1) how several simulations could be ran simultaneously using the graphical interface and (2) how the platform default tools could be used to observe and analyze simulated systems using multiple different perspectives, this being one of the most interesting feature of the TurtleKit platform as it is a essential for the study of complex systems [4]. The second part of the movie shows the actual potential of the platform by demonstrating some applications which have developed in the context of more advanced projects. Especially, the video demonstrates two major applications : • Multi-level emergence in MAS [2] • A morphogenesis model for multiagent embryogeny [1]
3. THE TURTLEKIT TECHNOLOGY TurtleKit is developed using the MadKit platform. MadKit is a modular and scalable multiagent platform written in Java and built upon the AGR (Agent/Group/Role) organizational model: Agents are situated in groups and play roles [3]. MadKit allows high heterogeneity in agent architectures and communication languages, and various customizations. The TurtleKit kernel relies on the synchronous engine of MadKit: A simulation library that allows the creation of customized simulation platforms in terms of agent architecture, environment models, scheduling policies, etc. Starting from this technology, the TurtleKit kernel relies on only few default agents: • The Scheduler agent defines how the model is executed. • The Observer and Viewer agents are specialized in probing and visualizing simulation models. • The turtles and the environment agents (simulated entities). All these agents have default running settings and can be used as they are. However, they are all made to be easily extended by advanced users so that they can reach the modeling and visualization requirements of a particular project
(e.g. like in the work done in the context of the SMAART project: http://www.loria.fr/∼simoniol/smaart.html). Another very ineresting aspect is that TurtleKit agents also benefit from all the execution infrastructure provided by the MadKit platform. Especially, turtles can be embedded in AGR organizations and communicate using organizational structures. The resulting software architecture provides several benefits: Firstly, any agent (simulated or part of the engine) can access all the available agentified MadKit services (network services, charts drawing, data saving, agent launching, etc.) through regular agent-to-agent communication schemes. Secondly, the modeling of complex systems can be naturally conceived as organised society of agents, following an OCMAS approach. It is an important feature since complex systems often define organizational patterns.
4.
CONCLUSIONS
This demonstration presents the TurtleKit platform and illustrates several aspects of this simulation tool in a lively and interactive manner. The demonstration shows the motivations, explains the underlying technology and the use of the platform, and demonstrates the potential of the approach by presenting two advanced projects. The TurtleKit software (version 2.1) can be downloaded at the MadKit webiste at http://www.madkit.net. The source code is included in this version. The Application Programming Interface is also available online on the MadKit website. The videos made for this demonstration can be viewed at http://www.lirmm.fr/∼fmichel/TurtleKit.
5.
REFERENCES
[1] G. Beurier, F. Michel, and J. Ferber. A morphogenesis model for multiagent embryogeny. In L. M. Rocha, L. S. Yaeger, M. A. Bedau, D. Floreano, R. L. Goldstone, and A. Vespignani, editors, Proceedings of the Tenth International Conference on the Simulation and Synthesis of Living Systems, Artificial Life X, pages 84–90, Cambridge, MA, USA, August 2006. MIT Press. [2] G. Beurier, O. Simonin, and J. Ferber. Model and simulation of multi-level emergence. In 2nd IEEE International Symposium on Signal Processing and Information Technology, ISSPIT’02, Marrakesh, Morocco, Dec. 2002. [3] J. Ferber, O. Gutknecht, and F. Michel. From agents to organizations: an organizational view of multi-agent systems. In P. Giorgini, J. P. M¨ uller, and J. Odell, editors, Agent-Oriented Software Engineering IV, volume 2935 of LNCS, pages 214–230. Springer Verlag, January 2004. [4] F. Michel, G. Beurier, and J. Ferber. The TurtleKit simulation platform: Application to complex systems. In A. Akono, E. Tony´e, A. Dipanda, and K. Y´etongnon, editors, International Conference on Signal & Image Technology and Internet-Based Systems SITIS’ 05, pages 122–128. IEEE, nov. 2005. [5] NetLogo. http://ccl.northwestern.edu/netlogo. Accessed January 2009. [6] StarLogo. http://education.mit.edu/starlogo. Accessed January 2009.