1 Introduction

In the last few years, information system technologies have focused on solving challenges in order to develop distributed applications. Distributed systems can be viewed as collections of service-provider and service-consumer components interlinked by dynamically defined workflows (Luck and McBurney 2008).

Nowadays, there has been a trend in modeling software as a service in order to provide higher levels of functionality that facilitate the emergence of new services dynamically. These models demand complex, flexible, and adaptive systems, in which components cannot simply be passive and reactive entities managed by only one organization (Del Val et al. 2014). Instead of being a solitary activity, computation becomes an inherently social one, leading to new ways of conceiving, designing, developing, and handling computational systems (Sierra et al. 2011). Considering the emergence of distributed paradigms such as web services, service-oriented computing, grid computing, peer-to-peer technologies, autonomic computing, etc., large systems can be viewed as the services that are offered and consumed by different entities.

The concept of an intelligent agent provides support to build distributed systems as components with higher levels of intelligence, which demand complex ways of interaction and cooperation in order to solve specific objectives. Therefore, wide agreement can be found in the literature regarding the relevance of multiagent systems as a proper paradigm for building current and next generation distributed systems.

Multiagent systems are one of the most important and exciting research areas that have arisen in the field of Information Technologies in the last decade (Luck et al. 2005). According to Wooldridge and Jennings (1995), an agent is defined by its flexibility, which implies that an agent is: reactive, an agent must answer to its environment; proactive, an agent has to be able to try to fulfill his own plans or objectives; and social, an agent has to be able to communicate with other agents by means of some kind of language. A multiagent system consists of a number of agents that interact with one another (Wooldridge 2002). The area of multiagent systems represents a key development issue, especially in distributed artificial intelligence.

In open and dynamic systems, agents may enter or abandon the system for different reasons; agents act on behalf of service owners, managing access to services, and ensuring that contracts are fulfilled; agents act on behalf of service consumers, locating services, making contracts, and receiving and presenting results; agents are required to engage in interactions, negotiate with one another, make agreements, and make proactive run-time decisions, individually and collectively, while responding to changing circumstances; agents also need to collaborate within organizations and to form coalitions of agents with different capabilities in support of virtual organizations to reach global and individual goals.

When developing applications based on the new generation of distributed systems, developers and users require infrastructures and tools that support essential features in multiagent systems (such as agent organizations, mobility, etc.) and that facilitate system design, management, execution, and evaluation (Denti et al. 2002; Garcia-Fornes et al. 2011). Agent infrastructures are usually built using other technologies such as grid systems, service-oriented architectures, P2P networks, etc. In this sense, the integration and interoperability of such technologies in multiagent systems is also a challenging issue in the area of both tools and infrastructures for multiagent systems. What is more, agent technologies can provide concepts and tools that give possible answers to the challenges of practical development of such systems by taking into consideration issues such as decentralization and distribution of control, flexibility, adaptation, trust, security, and openness (Boissier et al. 2013). A long-term goal is the industrial development of infrastructures for building highly scalable applications comprising pre-existing agents that must be organized or orchestrated. Finally, in order for multiagent systems to be included in real domains such as media and Internet, logistics, e-commerce, and health care, infrastructures and tools for multiagent systems should provide efficiency, scalability, security, management, monitoring, and other features related to building real applications.

Considering these issues, the development of software tools and infrastructures that support the execution of systems represents a prominent requirement. In more detail, we need models, frameworks, methods, and algorithms to construct large-scale open distributed computer systems, which can be grouped, among others, into the following requirements:

  • Autonomy, interaction, and mobility as key features. They have to cope with the high dynamism of the system topology and with semantic mismatches in the interactions. These are both natural consequences of the distributed and autonomous nature of the components.

  • Security mechanisms and trust measures that complement the classical cryptographic methods. Trust measures are essential in open environments where interactions have to be made under uncertainty regarding the environmental state.

  • Techniques that enable software components to cooperate and reach agreements with other systems on the mutual performance of services.

  • Negotiation, argumentation, decision-making, knowledge modeling, virtual organizations, and learning. These will be the sandbox techniques used to build this next generation of software systems.

  • Software engineering methodologies that deal with the issues raised in these new application scenarios.

With this goal in mind, this special issue on Advances on Infrastructures and Tools for Multiagent Systems focuses on the issue of infrastructures and tools for multiagent Systems. This issue aims to promote the state of the art of infrastructures and tools supporting the developments carried out in different research areas related to multiagent systems. This special issue provides a forum to bring together leading researchers from both academia and industry to present research advances on the design and implementation of infrastructures and tools for multiagent systems.

We are particularly interested in infrastructures and tools that allow agent-based systems to be adopted by designers and programmers in both academia and industry. These include the following topics: agent communication technologies, interoperability and standards; integration of technologies to support multiagent systems; integration of agent infrastructures with non-agent infrastructures; efficiency and scalability evaluation; agent infrastructure benchmarks; security, privacy, and identity management in multiagent systems; secure infrastructures and tools for multiagent systems; infrastructures and tools that support social and organizational models; infrastructures and tools that support trust and reputation models; infrastructures and tools supporting intelligent virtual environments; infrastructures, and tools supporting electronic institutions; infrastructures for agent-based service-oriented systems; design, management, and monitoring tools for multiagent systems; semantic web tools for multiagent systems; mobile agent technologies; industry implementations of multiagent systems, etc. Each one of the five papers of this special issue provides a high quality contribution that has been reviewed at least by two expert reviewers from an international committee. These papers are summarized next.

Among the many different topics of interest, in this special issue, “Infrastructures and Tools for Multiagent Systems for the new generation of Distributed Systems”, we focus on the following topics.

2 Methodologies for multiagent systems

In the last few years, agent methodologies have provided support for analysis and design of agent-based systems. These methodologies could extend current software engineering techniques in order to deal with autonomous, open, and dynamic agent-based systems (Luck and McBurney 2008). When considering these systems, some properties can be identified: abstraction, modularity, dynamnic extensibility, or reusability (Ricci et al. 2011).

Similarly, the development of open and dynamic systems requires agent methodologies that completely cover the analysis and design of these systems by considering the regulations of the system, and its social nature. Since different infrastructures and tools for multiagent systems focus on different functionalities of the development process, methodologies are required to describe and guide the selection of systems from both the system development and the evaluation point of view (Garcia et al. 2011). Therefore, we need methodologies that are appropriately defined to catch all the requirements for the design of systems, from the global system’s purposes to the specification of the behavior of each individual entity.

The paper “Beast methodology: An agile testing methodology for multi-agent systems based on behavior driven development” (Carrera et al. 2014) focuses on multiagent systems methodologies. In more detail, the authors propose a methodology for testing multiagent systems based on several platforms. This methodology automatically generates skeletons from behavior-driven development specifications while the multiagent system is being developed. From the user's point of view, the BEAST methodology provides a transparent traceability in order to test cases while developing their projects.

3 Negotiation

In the last few years, the development of systems in which agents are able to negotiate with others has increased (Baarslag et al. 2013). Negotiation is the key technique to achieving a composition of behaviors capable of dealing with the dynamics of open software systems (Jennings et al. 2001; Kraus 1997). In this sense, the interaction among components depends on the agents that enter and exit the system, and also on the rules that regulate the interactions among these agents (Ossowski et al. 2013).

Considering the autonomy and adaptability of agent-based systems, the negotiation process of the interaction, the establishment of trade-offs and penalizations, or the use of experience during the negotiation process are all challenges for the evolution of open and distributed systems. What is more, collaboration and negotiation are both concepts that are used to solve some engineering problems (Lin et al. 2013).

Related to this topic, the paper “A MAS-based infrastructure for negotiation and its application to a water-right market” (Alfonso et al. 2014) provides a negotiation framework for modeling virtual scenarios, and specifically putting the framework into practice in a water-right market. The proposed infrastructure provides mechanisms for exchanging information, negotiating, and dealing with critical situations. This infrastructure handles multiple negotiation protocols that can be dynamically defined.

4 Normative systems

The behavior of entities and agents may change with time according to the restrictions and rules that regulate the system. The use of norms for developing open systems is essential for providing integrity and adaptability, as agents are expected to accomplish within the conventions of the system (Vasconcelos et al. 2012). According to Ossowski et al. (2013), the adaptation of the code is a requirement for the design of open distributed applications. What is more, the development of open and flexible systems also includes the evolution of the regulations of the system (Andrighetto et al. 2013). Therefore, issues such as norm adoption and behavioral learning are issues that must be dealt with.

Specifically focused on the construction of open systems composed by norm-aware agents, the paper “Norm reasoning services” (Criado et al. 2014) provides a range of services for allowing the development of non-normative and normative agents. These services inform about the norms that are in force at a given moment in order to allow agents to reason about them. These services allow designers and developers to design normative systems with reasoning capabilities.

5 Trust and security

Security-related studies in the multiagent systems research field have been increasing over the last few years, as have intelligent autonomous agents and agent-based applications. An understanding of the actual risk is needed when using these sorts of applications, since an agent’s incorrect or inappropriate behavior may cause undesired effects such as money loss and data loss (Garcia-Fornes et al. 2011). Specially, the development of open systems demands approaches in which structural properties such as authenticity, integrity, and privacy are guaranteed (Pinyol and Sabater-Mir 2013). In open and dynamic systems such as open networks, we can distinguish two security dimensions: how to guarantee the identity and how to guarantee the behavior (Ossowski et al. 2013).

Considering the popularity increase of social networks in the last few years, measures are required to understand the intentions of the entities in order to be able to predict their behavior. In this sense, the relationships built over time among entities and/or their principals may also provide guarantees of behavior (Sierra and Debenham 2006). Without specific support for security, some sensitive information can be leaked, and the security of the system can be compromised (Jung et al. 2012).

Focused on this issue, the paper “BFF: A tool for eliciting tie strength and user communities in social networking services” (Fogués et al. 2014) presents a tool for automatically obtaining relationship strength values in user communities from social networking services. In order to calculate the tie strength, this tool considers crucial factors such as the temporal cost of collecting the variables.

6 Organizations

Agent organizations (Ferber and Gutknecht 1998; Dignum and Dignum 2012) provide a paradigm for representing the interaction of heterogeneous agents in order to reach global or individual goals through the definition of roles, relationships, and regulations that constrain the behavior of agents inside a group of agents. Organizations can be used as a paradigm for solving complex tasks by aggregating the basic tasks provided by individual agents or entities (Ossowski et al. 2013). The new paradigms of distributed systems demand the construction of open and dynamic systems in which heterogeneous entities must interact, span organizational boundaries, and operate effectively within rapidly changing circumstances.

The development of new techniques for managing open and dynamic resources is a challenge for achieving the cooperation and coordination among agents. Adaptation of an organizational system is related to the reconfiguration of this system without explicit external control (Campos et al. 2011; Kota et al. 2012). Thus, techniques from the field of coordination models and languages are particularly promising in this context (Ossowski and Menezes 2006).

Dealing with this topic, the paper “An Adaptive Framework for Monitoring Agent Organizations” (Alberola et al. 2014) presents a framework for dynamic monitoring of multiagent organizations. The monitoring mechanism determines at runtime the information that is monitored according to the organizational state at each moment. Organizational agents are provided with this information in order to evaluate the potential improvement and cost of carrying out an adaptation.