Pragmatic Insights: Live UIs for Agent-based Modelling in Pharo

Object-oriented programming has had a long-standing history with simulation systems in terms of human-computer interaction [1] dating back to Simula and early versions of Smalltalk-72 and Smalltalk-76. These frameworks were based on discrete, event-based simulations as revealed by the classic simulation examples of Smalltalk-80 Blue-book [2]. Nevertheless present time trends have pivoted towards agent-based modelling and abstractions, with systems like NetLogo capturing a sizeable following and heed. Two of the widely known agent-based modelling (ABM) platforms in Smalltalk (MobiDyC and CORMAS) have recently begun experimenting with porting their systems to Pharo. The rationale behind this choice is to allow modern re-imagination of the platforms that can take advantage of developments in: agile visualization, moldable tools, domain-specific languages (DSLs) and so on. This work focuses on the salient user interface component of these platforms, namely the spatial interface, which empowers a user to visualize the evolution of the system through time. We start with a concise analysis of the state-of-the-art for spatial interfaces and their platforms (MobiDyC, NetLogo, GAMA and CORMAS), scrutinizing in terms of programming flexibility, extensibility, portability, scalability, and interaction. Subsequently we highlight our on-going efforts in building an open-source extension for CORMAS' spatial interface in Pharo. In closing, we detail the pragmatic experience gained in the course of our work and present future perspectives.

[1]  Jan Kurs,et al.  PetitParser: Building Modular Parsers , 2013 .

[2]  Uri Wilensky,et al.  NetLogo: A simple environment for modeling complexity , 2014 .

[3]  Charles M. Macal,et al.  Tutorial on agent-based modelling and simulation , 2005, Proceedings of the Winter Simulation Conference, 2005..

[4]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[5]  Rj Allan,et al.  Survey of Agent Based Modelling and Simulation Tools , 2009 .

[6]  E. Casalicchio,et al.  Federated Agent-based Modeling and Simulation Approach to Study Interdependencies in IT Critical Infrastructures , 2007, 11th IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT'07).

[7]  Michael J. North,et al.  Tutorial on agent-based modelling and simulation , 2005, Proceedings of the Winter Simulation Conference, 2005..

[8]  Oscar Nierstrasz,et al.  Language Boxes , 2009, SLE.

[9]  Johannes Brauer,et al.  Programming Smalltalk – Object-Orientation from the Beginning , 2015, Springer Fachmedien Wiesbaden.

[10]  Gregory R. Madey,et al.  Tools of the Trade: A Survey of Various Agent Based Modeling Platforms , 2009, J. Artif. Soc. Soc. Simul..

[11]  Michael J. North,et al.  Tutorial on Agent-Based Modeling and Simulation PART 2: How to Model with Agents , 2006, Proceedings of the 2006 Winter Simulation Conference.

[12]  G. Huse Individual‐based Modeling and Ecology , 2008 .

[13]  Christophe Le Page,et al.  Cormas: Common-Pool Resources and Multi-agent Systems , 1998, IEA/AIE.

[14]  François Bousquet,et al.  Cormas: An Agent-Based Simulation Platform for Coupling Human Decisions with Computerized Dynamics , 2016 .

[15]  Johannes Brauer The VisualWorks Development Environment , 2015 .

[16]  J. Pepper,et al.  The evolution of cooperation in an ecological context: an agent based model , 2000 .

[17]  Sami Souissi,et al.  Describing space-time patterns in aquatic ecology using IBMs and scaling and multi-scaling approaches , 2005 .

[18]  Alan C. Kay The early history of Smalltalk , 1993, HOPL-II.

[19]  Timothy A. Kohler,et al.  Dynamics in human and primate societies: agent-based modeling of social and spatial processes , 2000 .

[20]  Christophe Le Page,et al.  Mobidyc, a Generic Multi-Agents Simulator for Modeling Populations Dynamics , 1998, IEA/AIE.

[21]  Mashanum Osman,et al.  An overview of simulation software for non-experts to perform multi-robot experiments , 2015, 2015 International Symposium on Agents, Multi-Agent Systems and Robotics (ISAMSR).

[22]  Kishoj Bajracharya,et al.  Comparison of three agent-based platforms on the basis of a simple epidemiological model (WIP) , 2013, SpringSim.

[23]  Pierre Bommel,et al.  Facilitating the design of ABM and the code generation to promote participatory modelling , 2016 .

[24]  S. Tisue NetLogo : Design and Implementation of a Multi-Agent Modeling Environment , 2004 .

[25]  Andrei Chis,et al.  GTInspector: a moldable domain-aware object inspector , 2015, SPLASH.

[26]  Christophe Le Page,et al.  Participatory Agent-Based Simulation for Renewable Resource Management: The Role of the Cormas Simulation Platform to Nurture a Community of Practice , 2012, J. Artif. Soc. Soc. Simul..

[27]  Leif Gustafsson,et al.  Consistent micro, macro and state-based population modelling. , 2010, Mathematical biosciences.