After more than 20 years from the very first attempts at using software agents as building blocks of real-world software systems (e.g., [5]), we witness today high-profile applications of software agents (e.g., [7]), even if agent-based software development cannot be considered common practice (e.g., [2]). This special issue is intended to represent a milestone in the research on software agents and agent-based software development by clearly identifying current trends and relevant topics, and by providing an informed outlook on the future of discussed themes.

This special issue originated from the conversations that the early passing of Fabio Bellifemine generated in the community of researchers and practitioners interested in the area of software agents and agent-based software development. Fabio was considered a prominent contributor to the real-world application of software agents and agent-based software systems (e.g., [8]). His authoritative opinions helped to spread the idea that software agents can offer beneficial opportunities to improve the quality of real-world software systems (e.g., [1,5]). He was the propulsive force behind JADE [3], which significantly contributed to shape the understanding of software agents and agent-based software development that the research community shares today. A recent survey [6] provides convincing evidence that JADE is still among the most widely used tools to develop agent-based software systems in various contexts, which include high-profile applications that help to serve millions of users every day [4].

After an initial screening of the received manuscripts, twelve were put forward for review. Each manuscript was reviewed by at least three selected experts in the respective area, based on relevance, novelty, significance, technical quality, and clarity. Following two rounds of reviews, three manuscripts were accepted for publication in the special issue. This issue consists of the following three articles:

  • Roberta Calegari, Giovanni Ciatto, Viviana Mascardi, and Andrea Omicini, Logic-based technologies for multi-agent systems: A systematic literature review;

  • Angelo Croatti, and Alessandro Ricci, Mobile apps as personal assistant agents: The JaCa-Android framework for programming agents-based applications on mobile devices;

  • Davide Dell’Anna, Mehdi Dastani, and Fabiano Dalpiaz, Runtime revision of sanctions in normative multi-agent systems.

These three papers show a wide range of research trends in software agents and agent-based software development. The paper by Roberta Caleari, Giovanni Ciatto, Viviana Mascardi, and Andrea Omicini is a review of the numerous proposals of logic-based technologies for multi-agent systems. Declarative agent languages and technologies have been fundamental in the field of agent-based software development, as is also witnessed by the successful series of the homologue international workshop (DALT), which, since 2003, has been co-located with the International Conference on Autonomous Agents and Multi-Agent Systems (since 2013, the DALT workshop series has been merged into the broader Engineering Multi-Agent Systems workshop series); nevertheless, the declarative and logic approaches are still important in the multi-agent systems research area. The paper states that the declarative and logic approaches will play an even more fundamental role in the construction of socio-technical systems, because the stakeholders need explanations of the behavior of the intelligent agents, and such approaches can help make sub-symbolic techniques (nowadays widely used in artificial intelligence applications) understandable to humans. This is particularly valuable when AI plays a critical role within human organizations. The paper identifies 271 documents and 47 technologies, classifies them according to both a multi-agent systems and a logic perspective, and analyses them from the technology viewpoint. From the multi-agent systems point of view, the paper classifies the selected technologies with respect to the main abstractions they use, such as agents, societies, and environment. Along the logic perspective, the paper categorizes the selected technologies with respect to the sort of logic they use, such as first-order logic, description logic, and BDI logic. The paper also relates some technologies with supported applications.

The paper by Angelo Croatti and Alessandro Ricci shows the impact that software agents and agent-based approaches can have on the development of applications. JaCa-Android is a framework that allows Android applications to be developed as agents that interact with the environment, which provides the facilities to manage the user interface and to access the user context and the device context. The framework is based on the JaCaMo platform, which allows for designing and programming smart mobile apps using BDI-based cognitive agents within the A&A conceptual model. The paper shows how agent-based software development offers a powerful abstraction tool for hiding as much as possible low-level details concerning the Android context yet retaining the full power of its functionalities. Moreover, the paper shows that software agents can scale up easily with complexity.

The paper by Davide Dell’Anna, Mehdi Dastani, and Fabiano Dalpiaz addresses the problem of adjusting a set of norms so as to stimulate a set of heterogeneous agents to achieve system-level goals. This paper is a good example of how agents could be used not only for software development, but also as an approach for solving complex problems. Here an agent system is used for estimating when and how to revise norms that regulate complex behaviours of a society. For example, to quickly identify optimal revisions of the initially enforced norms of a traffic system. Agents can effectively simplify the evaluation of complex systems and they can identify faults.

Collectively, these three articles illustrate some of the most relevant topics currently being investigated in the research on software agents and agent-based software systems. They discuss very active topics, such as the interplay between symbolic and non-symbolic artificial intelligence in relation with the agent metaphor, and they outline a few themes that are likely to attract relevant attention from the research community in the near future.

The guest editors would like to thank the anonymous reviewers for their thoughtful and detailed reviews, as well as the editorial staff for their assistance during the review process.

The guest editors would like to fondly and admiringly dedicate this special issue to the memory of Fabio Bellifemine, for his prominent contributions to the area of software agents and agent-based software development, and for his propulsive role in the conception and promotion of several international initiatives in the area of software agents and agent-based software development.