The first twenty years of agent-based software development with JADE

A recent survey provides convincing evidence that JADE is among the most widely used tools to develop agent-based software systems. It finds application in industrial settings and to support research, and it has been used to introduce students to software agents in various universities. This paper offers a perspective on the current state of JADE by first presenting a chronicle of the relevant events that contributed to make JADE what it is today. Then, this paper enumerates some of the abstractions that JADE helped to identify and that are now commonly adopted in the community of researchers and practitioners interested in software agents and agent-based software development. Such abstractions have been successfully applied to construct relevant software systems, and among them, this paper reports on a mission-critical system that uses the abstractions that JADE contributed to identify to serve millions of users every day. Finally, this paper discusses an outlook on the near future of JADE by sketching a recent project that could contribute to provide a new perspective on the use of JADE.

[1]  Michael Wooldridge,et al.  Programming Multi-Agent Systems in AgentSpeak using Jason (Wiley Series in Agent Technology) , 2007 .

[2]  Federico Bergenti,et al.  On the Use of Agents as Components of Software Systems , 2004 .

[3]  Alessandro Ricci,et al.  Three approaches to the coordination of multiagent systems , 2002, SAC '02.

[4]  Yoav Shoham,et al.  An overview of agent-oriented programming , 1997 .

[5]  Giovanni Caire,et al.  WADE: a software platform to develop mission critical applications exploiting agents and workflows , 2008, AAMAS.

[6]  A. Omicini,et al.  Autonomous and Adaptive Systems , 2007 .

[7]  Lars Braubach,et al.  Developing Distributed Systems with Active Components and Jadex , 2012, Scalable Comput. Pract. Exp..

[8]  Stéphane Galland,et al.  SARL: A General-Purpose Agent-Oriented Programming Language , 2014, 2014 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT).

[9]  Heiko Behrens,et al.  Xtext: implement your language faster than the quick and dirty way , 2010, SPLASH/OOPSLA Companion.

[10]  Federico Bergenti,et al.  An Introduction to the JADEL Programming Language , 2014, 2014 IEEE 26th International Conference on Tools with Artificial Intelligence.

[11]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[12]  Agostino Poggi,et al.  Interaction protocols in the JADEL programming language , 2016, AGERE!@SPLASH.

[13]  Federico Bergenti,et al.  Location-Aware Social Gaming with AMUSE , 2016, PAAMS.

[14]  Franziska Klügl From agent theory to agent implementation , 2001 .

[15]  Federico Bergenti,et al.  Large-Scale Network and Service Management with WANTS , 2015 .

[16]  Dejan S. Milojicic,et al.  MASIF: The OMG mobile agent system interoperability facility , 1998, Personal Technologies.

[17]  Hyacinth S. Nwana,et al.  ZEUS: A Toolkit for Building Distributed Multiagent Systems , 1999, Appl. Artif. Intell..

[18]  Kalliopi Kravari,et al.  A Survey of Agent Platforms , 2015, J. Artif. Soc. Soc. Simul..

[19]  Federico Bergenti,et al.  An Introduction to the Major Features of a Scripting Language for JADE Agents , 2018, AI*IA.

[20]  Pengfei Hao,et al.  A Heading Maintaining Oriented Compression Algorithm for GPS Trajectory Data , 2019, Informatica.

[21]  Zoran Budimac,et al.  Software agents: Languages, tools, platforms , 2011, Comput. Sci. Inf. Syst..

[22]  Federico Bergenti,et al.  An Overview of the AMUSE Social Gaming Platform , 2013, WOA@AI*IA.

[23]  Michael Luck,et al.  Methodologies and Software Engineering for Agent Systems: The Agent-Oriented Software Engineering Handbook (Multiagent Systems, Artificial Societies, and Simulated Organizations) , 2004 .

[24]  Agostino Poggi,et al.  An Actor Based Software Framework for Scalable Applications , 2014, IDCS.

[25]  Agostino Poggi,et al.  Developing multi‐agent systems with a FIPA‐compliant agent framework , 2001, Softw. Pract. Exp..

[26]  Michael Fisher,et al.  MetateM: The Story so Far , 2005, PROMAS.

[27]  João Leite,et al.  A Survey of Programming Languages and Platforms for Multi-Agent Systems , 2006, Informatica.

[28]  Federico Bergenti,et al.  Location-aware JADE Agents in Indoor Scenarios , 2015, WOA.

[29]  Federico Bergenti,et al.  A Comparison of Accurate Indoor Localization of Static Targets via WiFi and UWB Ranging , 2016, PAAMS.

[30]  Bernard Burg,et al.  Deploying FIPA-Compliant Systems on Handheld Devices , 2001, IEEE Internet Comput..

[31]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[32]  Thomas Magedanz,et al.  Grasshopper - A Mobile Agent Platform for Active Telecommunication , 1999, IATA.

[33]  Yoav Shoham,et al.  AGENT0: A Simple Agent Language and Its Interpreter , 1991, AAAI.

[34]  Jörg P. Müller,et al.  Application Impact of Multi-agent Systems and Technologies: A Survey , 2014, Agent-Oriented Software Engineering.

[35]  Federico Bergenti,et al.  Overview of a Scripting Language for JADE-Based Multi-Agent Systems , 2018, WOA.

[36]  Thomas Magedanz,et al.  Mobile agents - enabling technology for active intelligent network implementation , 1998, IEEE Netw..

[37]  Fabio Bellifemine,et al.  A Protocol-Based Semantics for FIPA'97 ACL and its Implementation in JADE , 1999 .

[38]  Stefan Poslad,et al.  Open Source, Standards and Scaleable Agencies , 2000, Agents Workshop on Infrastructure for Multi-Agent Systems.

[39]  Agostino Poggi,et al.  Agent-oriented model-driven development for JADE with the JADEL programming language , 2017, Comput. Lang. Syst. Struct..

[40]  BellifemineFabio,et al.  Developing multi-agent systems with a FIPA-compliant agent framework , 2001 .

[41]  Noman Islam,et al.  FIPA and MASIF standards: a comparative study and strategies for integration , 2010, NSEC '10.

[42]  Franco Zambonelli,et al.  Methodologies and Software Engineering for Agent Systems , 2004, Multiagent Systems, Artificial Societies, and Simulated Organizations.

[43]  Javier González-Ordás,et al.  KOWLAN: A Multi Agent System for Bayesian Diagnosis in Telecommunication Networks , 2009, 2009 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology.

[44]  Federico Bergenti,et al.  A scripting language for practical agent-oriented programming , 2018, AGERE!@SPLASH.

[45]  Federico Bergenti A Discussion of Two Major Benefits of Using Agents in Software Development , 2002, ESAW.

[46]  Jürgen Dix,et al.  GOAL: A Multi-agent Programming Language Applied to an Exploration Game , 2014, Agent-Oriented Software Engineering.

[47]  Franco Zambonelli,et al.  Methodologies and software engineering for agent systems : the agent-oriented software engineering handbook , 2004 .

[48]  Fabio Bellifemine,et al.  Developing Multi-Agent Systems with JADE (Wiley Series in Agent Technology) , 2007 .

[49]  Agostino Poggi,et al.  An Ontology Support for Semantic Aware Agents , 2005, AOIS.

[50]  Federico Bergenti,et al.  Extending Message Handlers with Pattern Matching in the Jadescript Programming Language , 2019, WOA.

[51]  C. V. Aart Creating and Using Ontologies in Agent Communication � , 2002 .

[52]  Stefan Poslad,et al.  Ubiquitous Computing: Smart Devices, Environments and Interactions , 2009 .

[53]  Hyacinth S. Nwana,et al.  The ZEUS Agent Building Tool-kit , 1998 .

[54]  Agostino Poggi,et al.  Ubiquitous Information Agents , 2002, Int. J. Cooperative Inf. Syst..

[55]  Agostino Poggi,et al.  JADE - A Java Agent Development Framework , 2005, Multi-Agent Programming.

[56]  Federico Bergenti,et al.  Agents on the Move: JADE for Android Devices , 2014, WOA.

[57]  P. D. O'Brien,et al.  FIPA — Towards a Standard for Software Agents , 1998 .

[58]  Rafael H. Bordini,et al.  AGERE!: programming based on actors, agents, and decentralized control , 2012, SPLASH '12.

[59]  Alessandro Ricci,et al.  Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project , 2011, SPLASH Workshops.