Interaction Protocols in the JADEL Programming Language Federico Bergenti Eleonora Iotti Dipartimento di Matematica e Informatica Universit` a degli Studi di Parma, Italy federico.bergenti@unipr.it stefania.monica@unipr.it Stefania Monica Agostino Poggi Dipartimento di Ingegneria dell’Informazione Universit` a degli Studi di Parma, Italy eleonora.iotti@studenti.unipr.it agostino.poggi@unipr.it Abstract This paper presents the support for interaction protocols that has been recently added to the JADEL programming language. JADEL is an agent-oriented programming lan- guage designed to ease the development of JADE agents and multi-agent systems by offering general-purpose agent- oriented abstractions to the programmer. The first part of the paper presents JADEL and motivates the need for a new agent-oriented programming language. Then, the agent- oriented abstractions that JADEL has been providing since its first version—namely agents, behaviours and communi- cation ontologies—are described. The new support for inter- action protocols is finally presented, and a simple example of a JADEL multi-agent system that uses interaction proto- cols is reported. The paper is concluded with an overview of the current state of JADEL and related tools. Categories and Subject Descriptors I.2.11 [ARTIFICIAL INTELLIGENCE]: Distributed Artificial Intelligence Keywords Interaction protocols, JADEL, domain-specific languages, multi-agent systems 1. Introduction and Motivation Agent-Oriented Programming (AOP) is the programming paradigm first introduced by Shoham (Shoham 1997) to give first class citizenship to the agent abstraction in a pro- gramming language. Currently, the literature reports sev- eral languages and tools intended to support AOP and de- signed to provide needed language features for the develop- ment of agents and multi-agent systems, as described, e.g., in (B˘ adic˘ a et al. 2011; Bordini et al. 2006). Notably, for Shoham AOP is a variation of object-oriented programming, and, in Shoham’s word “The name is not accidental, since from the engineering point of view AOP can be viewed as a specialization of the object-oriented programming (OOP) paradigm” (Shoham 1997). The long-standing debate on the relations between AOP and OOP that characterized the years immediately following the introduction of AOP is by far not accidental, and many object-oriented tools have been pro- vided to support the effective development of agents and multi-agent systems. Agent platforms are well-known ex- amples of such tools that provide language-agnostic—yet, normally, object-oriented—approaches to the development of agents and multi-agent systems. A recent survey (Kravari and Bassiliades 2015) showed that one of the most popu- lar agent platforms in everyday use is JADE (Java Agent DEvelopment framework, jade.tilab.com) (Bellifemine et al. 2005), and the same survey noted that JADE is widely used in both academic and industrial settings. JADE can be considered a consolidated tool and, it has been used for many relevant applications, e.g., (Poggi and Bergenti 2010; Bergenti et al. 2011, 2013). Just to cite a notable example, JADE has been in daily use for service provision and man- agement in Telecom Italia for more than 6 years, serving mil- lions of customers in one of the largest and most penetrating broadband networks in Europe (Bergenti et al. 2015). Since its initial conception, which dates back to early 1998, JADE has been intended primarily to offer support to Java developers. Just a few attempts, like a .NET porting, tried to loose the tie that couples JADE with Java. This is not surprising because the decision of supporting developers of multi-agent systems with a Java framework, rather than with a specific language, was taken at the very beginning of the initiative and it was perceived as one of the major features of JADE, from which its name. Such a choice was strictly connected with the development technologies available in the early 2000s. At the time Java was a novel and promis- ing technology, and it was common opinion that it would have changed radically the way software was built. Develop- ers wanted to use it, above all, for their professional growth, and high-profile decision makers were happy with it because Java was the technology that marked the rapid growth of the Web. Nowadays, we witness that 100% pure Java is no longer an appealing characteristic of a project, and the time Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org. AGERE’16, October 30, 2016, Amsterdam, Netherlands c 2016 ACM. 978-1-4503-4639-9/16/10...$15.00 http://dx.doi.org/10.1145/3001886.3001888 11