The Journal of Systems and Software 84 (2011) 169–184
Contents lists available at ScienceDirect
The Journal of Systems and Software journal homepage: www.elsevier.com/locate/jss
Organizational structures supported by agent-oriented methodologies David Isern ∗ , David Sánchez, Antonio Moreno Universitat Rovira i Virgili, Departament d’Enginyeria Informàtica i Matemàtiques, Intelligent Technologies for Advanced Knowledge Acquisition (ITAKA) Research Group, Tarragona, Catalonia, Spain
a r t i c l e
i n f o
Article history: Received 29 March 2010 Received in revised form 21 June 2010 Accepted 3 September 2010 Available online 15 September 2010 Keywords: Software agents Agent-oriented methodologies Organizations
a b s t r a c t Agent technology is a software paradigm that permits to implement large and complex distributed applications. In order to assist the development of multi-agent systems, agent-oriented methodologies (AOM) have been created in the last years to support modelling more and more complex applications. Even though agents are perceived as autonomous entities that act according to some objectives, they are also members of a society, and have to exchange information with other agents and maintain some relationships at an organizational level. Modern AOMs should be able to capture and represent organizational structures, defining interaction and collaboration patterns between agents, their internal roles and dependencies between groups of agents. This paper analyses the most notable AOMs, paying attention to the support and possibilities that they offer for modelling organizational structures with different levels of complexity. This work can help developers to select the most appropriate methodology taking into account the social and organizational requirements of the multi-agent system to be deployed. © 2010 Elsevier Inc. All rights reserved.
1. Introduction An agent is an autonomous and proactive entity that acts in an environment and is capable of interacting with other agents (within a multi-agent system—MAS) and the environment in order to satisfy its objectives (Wooldridge, 2002). From the software engineering point of view, MASs are based on open architectures that allow a dynamic management of distributed societies of agents. Being a modern software paradigm, multi-agent systems aim to offer a tool to realistically model and reproduce the interactions and social structures observed in real world scenarios. Problem decomposition, distributed execution, elaborated communication skills and realistic behaviours are some of the added values which agent technology offers to developers. The adoption of general rules and patterns to design and implement systems allows researchers to share and reuse knowledge easily, to enable the design and development work to be distributed to different peoples, to ensure compliance with appropriate standards, and to improve the quality of the final product. Sophisticated distributed applications such as agent-based systems require an appropriate software engineering methodology to enable competitive and flexible products (Henderson-Sellers and Giorgini, 2005). A software methodology is a body of procedures employed by a discipline and it is typically characterised by a modelling language (specific syntax and notation used for the description of models
∗ Corresponding author. Tel.: +34 977256563; fax: +34 977559710. E-mail address:
[email protected] (D. Isern). 0164-1212/$ – see front matter © 2010 Elsevier Inc. All rights reserved. doi:10.1016/j.jss.2010.09.005
and their elements) and a software process (that defines the developed activities, the interrelationships among them, and the ways in which they are performed) (Bauer and Müller, 2004; Gómez-Sanz et al., 2004; Henderson-Sellers and Giorgini, 2005). Agent-oriented methodologies (AOMs) focus directly on the properties of agentbased systems and try to include in their scope all aspects of agents. As it will be stated in this survey, existing AOMs allow the description of social structures, permit the use of tools to perform project management, and include IDE or CASE tools that facilitate the analysis and design of MASs (Luck et al., 2005). All methodologies need to contain enough abstractions to model and support MASs, which are usually structured as societies of agents that play roles and exchange information following predefined protocols (Bernon et al., 2005; Henderson-Sellers and Giorgini, 2005). AOMs usually permit the agent developer to analyse the requirements of the system, design it and, in some cases, translate all the analysis and design models into a prototype using a specific programming language. Nowadays, an agent programmer has some difficulties to select one of the available alternatives. The AgentLink AOSE Technical Forum Group (Bernon et al., 2005), the FIPA Design Process Documentation and Fragmentation Working Group (formerly FIPA Methodological Committee) (FIPA, 2009) and more recent contributions (e.g., Beydoun et al., 2009) have worked towards the creation of a common meta-model using a unified set of MASrelated concepts like autonomy, expressiveness of acts, and social and local abilities. Unfortunately, these attempts have had a limited success and nowadays many different methodologies remain with their own meta-models and scope.
170
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
If we make an overview from the 90s, the first software engineering approaches that supported agent-based systems were framed in the knowledge engineering field. The first attempts to classify methodologies described three main families: knowledge engineering, agent-oriented and object-oriented extensions (Bauer and Müller, 2004; Henderson-Sellers and Giorgini, 2005). Nowadays, as proposed in Argente et al. (2006), two main families can be distinguished: agent-oriented and organizational-oriented. The agent-oriented approaches focus the design on the individual actions of the agents, so MASs are designed in terms of the agents’ mental states (such as beliefs, intentions, goals, and commitments) and agents cooperate in order to achieve their goals. With the development of the agent paradigm and the increasing complexity of distributed systems, nowadays, the organizational vision of MAS is widely accepted. This view suggests that agents represent individuals living in a society in which each agent plays specific roles and interacts with other agents. This leads to the definition of social interaction structures such as groups, teams or coalitions which model the behaviour and interactions observed in a real world scenario (Argente et al., 2004; Cossentino et al., 2010; Gómez-Sanz and Pavón, 2004; Zambonelli et al., 2003). Many of those aspects were not considered in classical object-based AOMs. As a result, in the last years there have been numerous attempts to incorporate organizational aspects to already existing AOMs or to create new ones paying special attention to the social view of MASs. Unfortunately, there has not been a widely adopted methodology which may be considered as standard. This paper is focused in the analysis and comparison of modern AOMs that support organizational aspects of MASs. Previous reviews such as Bauer and Müller (2004), Iglesias et al. (1999), Sturm and Shehory (2003), and Sudeikat et al. (2004), which define different frameworks of agent-based criteria in order to compare some existing methodologies from the software engineering point of view, do not focus on the social and organizational modelling possibilities of AOMs. Moreover, each of them compares a reduced set of methodologies, without a practical perspective like what can be designed with each approach? To answer this question, first of all, we summarise (Section 2) the main standard organizational paradigms observed in multi-agent systems such as holarchies, hierarchies, and teams. Then, by analysing the meta-models of the reviewed methodologies, we discuss their modelling possibilities and comment which of the organizational paradigms are supported for each of them. The selection of the set of AOMs to review was made taking into account several formal criteria (in order of importance): published works in indexed journals, papers in the most important conferences in the software engineering area, book chapters and papers on specialised workshops. We considered relevant articles published between 2002 and 2009, and references therein were also reviewed. The analysis of mobile agents (Cucurull et al., 2009) is out of the scope of this survey. Additionally, we discarded methodologies that do not support any of the studied organizational paradigms. In this sense, we discarded methodologies like Tropos (Bresciani et al., 2004), PASSI (Cossentino et al., 2005), and Prometheus (Padgham and Winikoff, 2004). In the end, we analysed the features of the following methodologies: AGR (Ferber et al., 2003), ASPECTS (Cossentino et al., 2010), Extended Gaia (Zambonelli et al., 2003), INGENIAS (Pavón et al., 2005), MaSE (DeLoach, 2004), Moise+ (Hübner et al., 2002b) and OperA (Dignum, 2004). Fig. 1 shows the chronology of these agentoriented tools and the order in which they will be analysed in this review. As a result of this study, we will discuss and compare AOMs under different dimensions, taking into account several technological criteria to analyse the degree of adoption of those methodologies in real projects, the common and main differenti-
Fig. 1. Chronology of the organizational agent-oriented tools reviewed.
ating aspects of the meta-models proposed by each methodology and the organizational structures natively supported by each one. With this review in hand, an agent developer may have a vision of which methodology may fit better his/her needs, both regarding the availability of tools and the support to the development, and in function of the expressiveness and modelling possibilities of the proposed meta-models. The rest of the paper is organized as follows. In Section 2 an overview of organizational structures applied in multi-agent systems is summarised. Section 3 makes a survey of agent-oriented methodologies and analyses their main features, makes explicit their proposed meta-models and discusses the supported organizational paradigms. Then, in Section 4 those proposals are evaluated according to the different dimensions of the analysis. Finally, Section 5 gives the concluding remarks of this survey. 2. Organizational structures A multi-agent system is usually composed by a set of autonomous agents that have to coordinate their activities in order to accomplish a global objective. While the autonomy of the agents is essential for a MAS, it may cause the loss of the global coherence. The organization of a MAS is used to manage these intra- and inter-agent properties (Hübner et al., 2007). Ferber et al. (2003) and Sichman et al. (2005) identified the basic principles of organizations in agents: • Agent interactions may eventually give rise to organizational structures. Whenever the same interaction patterns are repeated several times, involving the same agents, these interactions may be captured by pre-established structures, thus avoiding the inherent complexity of bottom-up emergent organizational formation. • Agent organizations limit the interactions among agents, aiming to optimize the achievement of global goals. As a consequence, collective behaviour will be more efficient, since the organization formation is carried on a priori. • An organization can be partitioned into different groups. Groups establish boundaries. Whereas the structure of a group A may be known by all agents belonging to A, it is hidden to all agents that do not belong to A. Thus, groups are opaque to each other and do not assume a general standardisation of agent interaction and architecture. • It is possible to build secure systems using groups as “black boxes” because what happens in a group cannot be seen from agents that do not belong to that group. It is also possible to define security policies to keep undesirable agents out of a group. One goal of MASs is to adapt well-known human organizational patterns in agent-based systems (Argente et al., 2006; Horling and Lesser, 2005). These include hierarchies, holarchies, coalitions, teams, congregations, societies, federations, and markets. This classification is not unique, and Organizational Theory has also studied and classified human organizations according to their roles, relationships, the chain of command, and the rules and norms that govern them (Robbins, 2002; Fox, 1981). According to these researchers, there
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
171
Fig. 2. Organizational paradigms (adapted from Horling and Lesser (2005)): (a) hierarchy; (b) holarchies; (c) coalitions; (d) teams; (e) congregations; (f) societies; (g) federations; and (h) markets.
are two main groups of organizations: mechanical and organic. The former are based on strict rules, and define all tasks and communications precisely. Examples of mechanical structures are hierarchies, bureaucracies and matrixes. On the contrary, tasks on organic structures are described by means of collaborative works, and the level of authority is lower than in mechanical structures, obtaining more flexible systems. Examples of organic structures are teams and virtual organizations. On this survey we will use the first classification, described by (Horling and Lesser, 2005), which is more accurate and identifies structures that have been successfully adopted in multi-agent systems. 2.1. Hierarchies In a hierarchy, agents are organized in a tree-like structure, where agents higher in the tree have a more global view than those below them (see Fig. 2a). This approach is similar to divide-and-conquer, breaking down a problem into more spe-
cific sub-problems until these become simple enough to be solved directly. Its drawbacks are fragility (prone to bottlenecks or single-point failures with potentially global consequences) and slowness in very tall structures (delays incurred by passing information across multiple levels). 2.2. Holarchies A holarchy is a hierarchy of self-regulating holons which function (a) as autonomous wholes in supra-ordination to their parts, (b) as dependant parts in sub-ordination to controls on higher levels, and (c) in co-ordination with their local environment (Giret and Botti, 2004). These organizations permit to design complex systems that are nonetheless efficient in the use of resources, highly resilient to disturbance (both internal and external), and adaptable to changes in the environment in which they exist. Holons are autonomous and self-reliant, and cooperate between them.
172
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Holarchies are useful in problems where goals can be recursively decomposed into subtasks that can be assigned to individual holons (Fig. 2b). The challenge in creating a holonic organization revolves around selecting the appropriate agents to reside in the individual holons. 2.3. Coalitions A coalition is a subset of agents formed for a purpose (goaldirected) and dissolved when that need no longer exists (dynamic) (Klusch and Gerber, 2002). Related research has extended to longer-team agreements based on trust. Its organizational structure is typically flat and, once formed, coalitions may be treated as an atomic entity. The agents in a group are expected to coordinate their activities in a manner appropriate to the coalition’s purpose. As shown in Fig. 2c, coalitions create partitions of agents, and inside each partition, agents coordinate their activities. Their main advantage is the ability to solve goals with requirements greater than any single agent can offer. Its drawback is the additional complexity incurred if the partitioning of agents is not disjoint (Chalkiadakis et al., 2009). 2.4. Teams A team is set of cooperative agents which have agreed to work together towards a common goal (Fig. 2d). In comparison to coalitions, teams attempt to maximize their utility (Anderson et al., 2004). This high-level goal remains relatively consistent and agents can change their roles over time in order to accomplish it. Its benefits are the solution of large problems, the ability to meet global constraints and the realisation of economies of scale. The main drawback is the increased communication. The challenges associated with team formation involve three problems: determining how agents will be allocated to address the high-level problem, maintaining consistency among agents during execution and revising the team as the environment or the agent population change (Lu, 2005).
of behaviour and interface intended to facilitate coexistence. They must minimize conflicts and encourage efficient solutions. Indeed, most research on agent societies is concerned with how the concepts they embody can be used to facilitate the construction of large-scale, open agent systems in general. There are two aspects to the society formation problem. The first is to define the roles, protocols and social laws which form the foundation of the society. Given such a definition, the second problem is to implement the more literal formation of the society; that is, determining how agents may join and leave it. 2.7. Federations Federations consist in groups of agents which have ceded some amount of autonomy to a single delegate, which represents the group (called facilitator, mediator, translator or broker) (see Fig. 2g). Group members interact only with this agent, which acts as an intermediary between the group and the outside world (Sawamoto et al., 2007). Intermediate agents provide a layer of abstraction for all related parties and allow decomposing the problem into more manageable subtasks, which can be executed in different groups. If the federation is well designed, agents act without requiring knowledge from other groups, avoiding a potential broker bottleneck. 2.8. Markets Markets are collections of agents with two main roles: buyers and sellers (shown in Fig. 2h as red and white respectively). Buyers send bids for a common set of items (e.g., resources, tasks, services, goods), which are received by sellers that process them and determine the winner. In these structures, agents are selfinterested, driven completely by their own goals. Interaction in markets occurs through communication and negotiation (Gimpel et al., 2006; Nevmyvaka et al., 2005). Markets are similar to federations in which a particular agent coordinates the activities of the group, but markets are more competitive and they do not cede the authority to other individuals.
2.5. Congregations
3. Survey of agent-based organizational methodologies
Congregations are groups of agents who have bounded together into a typically flat organization in order to derive additional benefits (Fig. 2e). Unlike other paradigms, congregations are assumed to be long-lived and are not formed to achieve a single specific goal. Ideally, each congregation should contain a collection of agents who would like to interact with each other. Once these groups exist, standard allocation algorithms such as auctions or coalitions can be used within each congregation to decide which agents should perform particular tasks or exchange goods (Brooks and Durfee, 2002). Communication does not occur between agents in different congregations, although the groups are not necessarily disjoint. The downside to this strategy is that the limited set may be overly restrictive, and not contain the optimal agents one might select given infinite resources.
In the following sections, the methodologies introduced in Section 1 will be surveyed, paying special attention to their structural components, their proposed meta-model and the organizational structures potentially supported for each methodology.
2.6. Societies Agents can have different goals, varied levels of rationality and heterogeneous capabilities, and they may also differ in their available information; the societal construct provides a common domain through which they can act and communicate (see Fig. 2f). A set of constraints (social laws or norms) is imposed on the behaviour of the agents (Arcos et al., 2005). These are guidelines by which agents must act, which provide a level of consistency
3.1. Agent-group-role (AGR) The Agent-Group-Role (AGR) methodology (Ferber et al., 2003) is based on three main concepts: • Agent. An agent is an active and communicating entity that plays roles within one or more groups. No constraints are placed upon the internal architecture of an agent or its mental capabilities. • Group. A group is a set of agents sharing some common characteristics. A group is used as a context for a pattern of activities, and creates partitions in the organizations. Two agents may communicate if and only if they belong to the same group, but an agent may belong to several groups. This feature allows the design of organizational structures (e.g., markets and hierarchies) by means of defining communication patterns between roles (Ferber and Gutknecht, 1998). • Role. The role is the abstract representation of a functional position of an agent in a group. An agent must play at least a role in a group, although it may play several ones. Roles are local to
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
173
Fig. 3. Meta-model of agent-group-role.
also socially dependant to the group structure which defines the group to which the agent belongs. 3.2. Extended Gaia
Fig. 4. Organizational topology supported in AGR.
groups, and a role must be requested by an agent. A role may be played by several agents. As shown in Fig. 3, the concepts agent, group and role are the main components of the methodology meta-model, allowing to define its characteristics and inter-relations. AGR is based on AALAADIN, which is a meta-model for describing market-like or hierarchical organizations (Ferber and Gutknecht, 1998). AGR argues that agents can have their joint behaviour orchestrated by interaction protocols, but the nature and the primitives to describe such protocols are left open (Coutinho et al., 2005). The authors of AGR propose to use the Gaia methodology to fill the roles and relate them to the general structure, and they provide the MadKit1 platform as a toolkit for practical implementations. AGR proposes a minimalist view of organizations. In an AGR model an organization is specified as a role-group structure imposed on the agents. As a result, AGR permits to define congregations and coalitions of agents, in which agents belonging to the same group are able to communicate between them but not with agents belonging to other disjoint groups (see Fig. 4). Agents must belong to one or several groups, but there may exist groups without agents. Agent interaction is specified in the meta-model as interaction protocols associated to role pairs played by agents. Roles are
1
MadKit is freely available at http://www.madkit.org/ (last access 03/06/2010).
The first version of the Gaia methodology, which modelled agents from the object-oriented point of view, was revisited 3 years later by the same authors in order to represent a MAS as an organized society of individuals (Cernuzzi et al., 2004; Zambonelli et al., 2005). Agents play social roles (or responsibilities) and interact with others according to protocols determined by their roles. With that approach, the overall system behaviour is understood in terms of both micro- and macro-levels. The former explains how agents act according to their roles, and the latter explains the pattern of behaviour of those agents. These constraints are labelled organization rules and organization structures respectively. A central element of the meta-model of Gaia is the agent entity, which can play one or more roles (see Fig. 5). A role is a specific behaviour to be played by an agent (or kind of agents), defined in terms of permissions, responsibilities, activities and interactions with other roles. When playing a role, an agent updates its behaviour in terms of services that can be activated according to some specific pre- and post-conditions. In addition, a role is decomposed in several protocols when agents need to communicate some data. The environment abstraction specifies all the entities and resources a multi-agent system may interact with, restricting the interactions by means of the permitted actions. The Extended Gaia meta-model adds some organizationalbased concepts. The organization itself is represented with an entity, which models a specific structure (or topology). The organizational rules are considered responsibilities of the organization. They include safety rules (time-independent global invariants that the organization must respect) and liveness rules (that define how the dynamics of the organization should evolve over time). Given the aggregation association defined from agents with respect to organizations and from organizations with respect to organization structures, Gaia permits to design a hierarchical non-overlapping structure of agents with a limited depth. From the organizational point of view, agents form teams as they belong to a unique organization, they can explicitly communicate with other agents within the same organization by means of collaborations, and organizations can communicate between them by means of interactions (Fig. 6). If inter-organization communication is omitted, coalitions and congregations may also be modelled.
174
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Fig. 5. Meta-model of extended Gaia (Bernon et al., 2005).
Fig. 6. Organizational topology supported in Extended Gaia.
3.3. Moise+ Moise+ (Hübner et al., 2002b) covers2 the organizational aspects of a MAS from two points of view (Hübner et al., 2002a): (i) functioning that describes global plans, policies to allocate tasks to agents,
2 Moise+ offers a software tool to implement the methodology: http://moise. sourceforge.net/ (last access 03/06/2010).
the coordination to execute a plan, and the quality of a plan (i.e., time consumption, resources usage) and (ii) structure that explains the roles, the relations among them (e.g., communication, authority), roles obligations and permissions, groups of roles, etc. The structural dimension of Moise+ extends the concepts found in AGR adding the ideas of abstract roles, inheritance and composition between roles, and communication and authority links. The functional dimension (social schemes) of Moise+ is a kind of task/activity/process description based on goal decomposition. When missions (collections of goals) are assigned to roles by means of deontic links (permission, obligation) we have a sort of interaction protocol description. The Moise+ meta-model (see Fig. 7) has two main parts: the agent and the organization. An agent can play different roles during its life. The organization defines a set of tasks to be accomplished, specifying the actions, resources and authorizations to execute each one. An agent is responsible of a part of a task, called a mission. A set of allowed roles and missions is called a group, to which an agent belongs. The execution of a mission is regulated by a goal that the agent should achieve. In Moise+, agents and organizations are modelled separately, being the part of a task belonging to an organization the link point to the associated agent. As shown in Fig. 8, Moise+ allows implicitly the decomposition of an organization into tasks, with individual parts that are associated to agents. In this case, agents are not structurally dependant to the organization as their task part assignments may change during the execution. Agents, on the other hand, may be organized into groups (independent from organizations) accord-
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
175
Fig. 7. Meta-model of Moise+ (adapted from Hannoun et al. (2000)).
Fig. 8. Organizational topology supported in Moise+.
ing to their roles and missions, which may also change during the execution. As a result, Moise+ allows the definition of task-oriented coalitions. 3.4. MaSE Multi-agent systems Software Engineering (MaSE) is a startto-end3 methodology that covers from the analysis to the implementation of a MAS (DeLoach, 2004). The main goal of MaSE is to guide a designer through the software life-cycle from a documented specification to an implemented agent system, with no dependency of a particular MAS architecture, agent architecture, programming language, or message-passing system. The MaSE meta-model begins with the definition of the organization (see Fig. 9). In this case each organization has a set of goals, which it seeks to achieve according to a set of roles. A role defines an entity that is able to achieve a set of goals within the organization. An organization is composed by several agents, which perform a particular role that requires a certain set of capabilities
3 AgentTool is the tool designed to support the MaSE methodology. Website: http://agenttool.cis.ksu.edu/ (last access 03/06/2010).
(see Fig. 10). The agents’ capabilities include physical capabilities (sensors or actuators) or computational capabilities (data access, knowledge, algorithms, etc.). Three additional entities (potential, policies, and ontology) are also included. Policies constrain the assignment of agents to roles (potential) thus controlling the allowable states of the organization. Finally, organizational agents are organizations that function as agents within another organization. Thus, organizational agents also possess capabilities, may coordinate with other agents, and may be assigned to play roles. As stated above, in MaSE the groups of agents belong to overlapping organizations. These structures are able to communicate at agent-level, allowing the creation of teams, coalitions and congregations. However, as the meta-model considers agents and organizations in the same manner (i.e., they are specialisations of the Organizational Agent abstract class), an organization (with its corresponding inner topology) can also be an agent in another organization. As a result, MaSE supports the recursive definition of sub-organizations, each one composed by agents and/or other organizations, allowing the creation of hierarchies and, in a more indirect manner, holarchies. Interactions are also explicitly modelled as coordination processes at agentlevel. 3.5. OperA Organizations per Agents (OperA) is a framework that describes a MAS as an organizational structure regulated by social contracts (that describe the roles in the society) and interaction contracts (that describe the interactions between agents) (Dignum, 2004; Dignum et al., 2002). Fig. 11 depicts the main classes and relationships defined in the meta-model of OperA. The two main classes are Organization and Agent. The former defines the social contracts, the norms and the communication protocols to be followed by agents. The latter uses a subset of all available organization norms, and deter-
176
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Fig. 9. Meta-model of MaSE.
mines the interaction contracts (through the interaction model). Social contracts establish an agreement between the agent and the organization model and define the way in which the agent will fulfil its roles. A social contract defines a role-enactment agent (REA). As described in Dignum (2004), the user-defined relationships between roles and the delegation of objectives to these roles permits to define markets, hierarchies and networks of agents. Networks are coalitions of self-interested agents that agree to collaborate for some time in order to achieve a mutual goal. In addition, as stated in Horling and Lesser (2005), OperA allows the creation of societies of agents by defining the structures of agents and the expected externally observable characteristics of the participants and the environment. An interaction contract includes its parties (two or more agents), the clauses (constraints of the interaction), and the communication protocol to be followed. In addition, a social contract includes information about the roles, the agent, and the specific clauses of the contract. The enactment of a role by an agent creates a REA, which acts in one (or more than one) scene. Communication acts
include the format of the message (protocol) and its content using ontologies. OperA specifically considers organizations as societies, for which several social contracts are defined, each one being associated to several agents via aggregation (see Fig. 12). Agents interact between them regardless of the social contract to which they are associated and according to the interaction contract defined at an organizational level by means of protocols. 3.6. INGENIAS INGENIAS provides a notation to guide the development process of a MAS from analysis to implementation (Fuentes-Fernández et al., 2010; Pavón et al., 2005). The INGENIAS methodology does not explicitly model social norms, although they are implicit in the organizational viewpoint. Organizational dynamics are not considered i.e., how agents can join or leave the system, how they can form groups dynamically, what their life-cycle is, etc. (Argente et al., 2006). The authors have developed an agent-oriented software tool called INGENIAS Development Kit (IDK).4 It allows to edit consistent models (according to INGENIAS specification) and to generate documented code in different languages such as JADE, Robocode, Servlets or Grasia! Agents. INGENIAS presents a set of meta-models to analyse all the system using the GOPRR language (Graph, Object, Property, Role and Relationship) from different perspectives (Kelly et al., 1996), which are the following (see Fig. 13): • Organization: framework where agents, resources, tasks and goals coexist. It is defined by its structure, functionality and social rela-
Fig. 10. Organizational topology supported in MaSE.
4 Website of INGENIAS Development projects/ingenias/ (last access 03/06/2010).
Kit
(IDK):
http://sourceforge.net/
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
177
Fig. 11. Meta-model of OperA.
•
• •
•
tionships. It proposes a decomposition of the MAS in groups and workflows. Agent: program that follows a rational behaviour and processes knowledge. The definition of an agent requires a purpose, its responsibilities and its capabilities. The behaviour consists of its mental state (information that allows the agent to take decisions), its mental state manager (operations over elements of its mental state and their relationships) and its mental state processor (selection of a decision to execute a task). Tasks/goals: decomposition of goals and tasks, the consequences of performing a task and why it should be performed. Interaction: exchange of information or requests between agents (or agents and human users). Its elements are the actors, the interaction specification, the context and the nature of the interaction. Environment: entities with which the MAS interacts (resources, other agents or applications).
In terms of organizational structures, INGENIAS decomposes organizations from two points of view. On the one hand, tasks are contained in workflows and those belong to organizations. On the other hand, agents belong to groups contained in orga-
Fig. 12. Organizational topology supported in OperA.
nizations. Groups can also belong to other groups. In this last case, INGENIAS permits the recursive definition of non-disjoint groups of agents which are allowed to interact between them (see Fig. 14). As a result of this topology and due to the lack of constraints in the association between agents, groups and organizations, INGENIAS permits the implementation of hierarchies, goal-directed teams, federations of agents, and market-based applications. Simpler congregations and coalitions may be modelled if inter-group communication is not considered. Interactions can be specified indirectly at an agent level (regardless of which group the agent belongs) as a result of the association between agents and tasks. 3.7. ASPECS ASPECS (Agent-oriented Software Process for Engineering Complex Systems) provides a holonic perspective to design MAS (Cossentino et al., 2010). Considering that complex systems typically exhibit a hierarchical configuration, on the contrary to other methodologies, it uses holons instead of atomic entities. Holons, which are agents recursively composed by other agents, permit to design systems with different granularities until the requested tasks are manageable by individual entities. Being one of the most recent methodologies, it takes the experience gained from previous approaches (such as PASSI (Cossentino, 2005) and RIO (Hilaire et al., 2000)) as the base to define the metamodel and the methodology (see Fig. 15). The goal of the proposed meta-model is to gather the advantages of organizational approaches as well as those of the holonic vision in the modelling of complex systems. A three-layer meta-model, with each level referring to a different aspect of the agent model, is proposed: The Problem domain covers the organizational description of the problem. An organization is composed by roles which interact within scenarios while executing role plans. Roles achieve organizational goals by means of their capacities (i.e., what a behaviour is able to do). The organizational context is defined by means of an
178
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Fig. 13. Meta-model defined in INGENIAS (adapted from Hannoun et al. (2000)).
ontology. This meta-model layer is used mainly during the analysis and design phases. The Agency domain defines agent-related concepts and details the holonic structure as a result of the refinement of the elements defined in the Problem domain. Each holon is an autonomous entity with collective goals and may be composed by other holons. Holonic groups define how members of the holon are organized and how they interact in order to achieve collective goals. At the finest granularity level, holons are composed by groups and their roles are
Fig. 14. Organizational topology supported in INGENIAS.
played by agents, which achieve individual goals. A rich communication between agent roles (which are instances of organizational roles) is also supported, specifying communicative acts, knowledge exchange formalized by means of the organizational ontology, and protocols specifying sequences of messages. The Solution domain refers to the specific implementation of the system on a concrete platform. They translate the specifications on the Janus platform.5 Fig. 15 depicts the main meta-model components defined in the first two model layers. Compared to other organizational approaches, it is one of the most complex and complete ones, covering all the organizational aspects considered in other methodologies (roles, tasks, plans, goals, organizations, resources, agents and, in this case, holonic structures), rich interactions (communication, protocols, messages) and a formal definition of the domain knowledge (ontology). The meta-model allows to recursively refine holons into subholons (with inter-communication possibilities). For each subholon, groups representing organizations can be defined. Agent roles played by individual agents can be associated to a group. Agent communication is defined at a role level
5 Official website of Janus Project: http://www.janus-project.org/ (last access 03/06/2010).
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
179
Fig. 15. Meta-model of ASPECS (Seidita et al., 2010).
(both for individual agents and holons) by means of message types and ontological concepts. Thanks to the hierarchical organization of model components, their structural dependency (i.e., groups must belong to holons) and their interactions, as shown in Fig. 16, ASPECS permits the implementation of holarchies and more simple hierarchies. Following the holonic structure, at a group level, ASPECS permits to define coalitions and congregations of agents. Finally, as inter-holon communication is explicitly stated, teams are also supported.
Fig. 16. Organizational topology supported in ASPECS.
4. Overview and comparison From the analysis of the AOMs presented in Section 3, one may observe that each one offers a different level of expressiveness and modelling possibilities. In consequence, agent developers should consider those differences in order to select a methodology which fits with their requirements. However, it is possible to find commonalities in their meta-models regarding how they deal with the basic components involved in an organization enabling, for example, the translation of agent models between different AOMs. In this section, we summarise the main features, similarities and differences between the analysed AOMs according to the following dimensions: (a) General criteria (see Table 1): Coverage of the life-cycle. It refers to the set of phases of the life-cycle covered by the methodology. All methodologies should cover at least the analysis and design phases, and optionally the translation of the models into an agent programming language (implementation). Scope. As described in the introduction, a methodology includes a process life-cycle and a modelling language, but some approaches can use parts from previous methodologies. This attribute has the following values: methodology (full specification defined by the approach), process (the approach only defines a workflow), and modelling language (the approach defines a notation and uses the life-cycle of another methodology).
180
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Table 1 Evaluation of general criteria.
Level of coverage Scope Interoperability Support tools Code generation Ontologies Applications
AGR
Ext. Gaia
Moise+
MaSE
Opera
INGENIAS
ASPECS
A/D Process No MadKit No No Ferber et al. (2003)
A/D Methodology No None No, only guidelines No Moraïtis et al. (2002)
A/D/I Methodology No Moise+ Agent-Speak No N/A
A/D/I Methodology UML Agent-Tool Bogor, planned Yes DeLoach et al. (2001) and Dolia (2010)
A/D Methodology UML, partially None No Yes N/A
A/D/I Methodology UML, SPEM, FIPA IDK JADE, Servlets No Giret et al. (2005) and Isern et al. (2008)
Req/A/D/I Methodology UML, SPEM, FIPA None Janus Yes Cossentino et al. (2010)
Interoperability. Methodologies should use a general language or notation that permits the inclusion or use of other software components. This criterion analyses if methodologies use a well-known notation (e.g., UML) or another standard syntax. Software and methodological support evaluates if any CASE tool exists (e.g., libraries of agents, editor, code generator, set of plug-ins), the existence of examples and the availability of a web page with exhaustive information. Facilities to create prototypes (code generation). Some methodologies permit to translate the designed models into an agent programming language. Use of knowledge representation models. Ontologies are a powerful resource that improves the interoperability of MASs, and it is important that methodologies support them. Usage in projects is an important factor that represents the maturity of a methodology. (b) Comparison of meta-models (see Table 2): this criterion summarises how the different methodologies deal with or support the main basic organizational components in their metamodels. More concretely: Organization. An organization is defined by a collection of roles that take part in institutionalised patterns of interactions with other roles in a common context. This item refers to the basic elements that permit the definition of an organizational structure. Agent. It is an autonomous entity that has specific individual goals and the intrinsic ability to realise some capacities. Agents typically play roles into organizational structures and organize themselves into more or less social structures according to their goals and/or task assignments. Role. It describes the functional perspectives of an agent. In this sense, we summarise how these roles are created, what they permit to represent and how these roles are assigned (e.g., to particular agents, or groups of agents). Task. It describes how a methodology permits the creation and allocation of actions to agents. Most of the methodologies have a direct relationship between tasks and roles, but some of them permit the definition of plans (also called workflows), and describe hierarchies of tasks. Interaction. It refers to the transmission of information within the MAS. Messages are a pillar of agent-based systems. They can include ontologies, protocols, and the use of different kinds of messages according to the requested action. In addition, messages can be handled as a concept inside the meta-model or just as a relationship between agents. Most methodologies permit a rich definition of communication protocols as well as the use of ontologies to represent their content. Constraints. They permit to define particularities of the MAS execution in a concrete scenario. These constraints can be defined over the usage of resources, in the definition of norms or, more generally, over the behaviour policies of the system.
(c) Comparison of organizational paradigms: Table 3 summarises the organizational paradigms supported by each methodology as discussed through Section 3. According to the dimensions considered in this survey for the analysed methodologies, two main aspects should be taken into consideration by the agent developer when selecting a method. On the one hand, the modelling possibilities from the social point of view should be analysed, in order to detect if an approach naturally supports the requirements stated by the problem to be solved. On the other hand, the technological maturity of the method may ease the development of a solution, providing interoperability facilities, code generation capabilities and the possibility of the inclusion of ontologies. In the following sections we discuss those aspects and compare the different methods according to the characteristics summarised in Tables 1, 2 and 3. 4.1. General criteria As shown in Table 1, older approaches only cover the analysis and design stages of the life-cycle process, while most recent ones add the implementation phase to translate their models into an existing agent programming language. The evolution of agentoriented methodologies goes in parallel with the evolution of agent programming languages, and only with the maturity of both fields start-to-end approaches have emerged. Nowadays there are dozens of agent languages and development frameworks (Bordini et al., 2006), but as stated by Wooldridge (2009), the most well-known and widely used is JADE (Bellifemine et al., 2007). If we analyse the scope of the approaches, most of them are full methodologies because they define both the life-cycle process and a modelling language. The exception is AGR, that cannot be considered as a full methodology because it uses the modelling language proposed by Gaia. Although these methodologies define a development process using a particular modelling language, some of them adopt existing standard representations to improve their interoperability and expressiveness. Some of the UML diagrams like classes, use cases and collaborations are widely adopted (UML, 2010), but they are extended with other diagrams specifically designed by each approach taking into account its particularities. This inheritance of an existing and well-known notation also reduces the learning curve of these methodologies. Regarding this issue, ASPECS and INGENIAS adopt the OMG specification Software Process Engineering and Modelling (SPEM) (SPEM, 2008), which is used to define the software and systems development processes and their components. Finally, due to the domain of application of these methodologies, the inclusion of recommendations defined by FIPA in different settings of the agent life-cycle (FIPA, 2002a) (e.g., protocols of communication, performatives, and agent communication language) supposes an added value to the generated prototypes as well as an improvement of the interoperability with other FIPAbased applications. Only the newest methodologies like ASPECS and INGENIAS include those FIPA recommendations.
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Roles define plans composed by tasks
Based on protocols, communicative acts and ontologies Role constraints and access to resources defined
Tasks included in workflows
Define participating agents, specifications and context Associated to environmental resources and applications
Not explicitly supported. Inherent to roles Interaction contracts define acts and ontologies Clauses in social contracts and norms in interactions
Assigned to individual agents or holons Belonging to groups, assigned to agents and tasks Roles assigned with contracts
Constraints
Interaction
Not explicitly supported. Inherent to roles Via communication protocols inside each group Included in roles assigned to agents as dependencies Task
Allowed action constraints
Tasks are divided into parts (actions)
Activities assigned to roles performed by agents Interaction model uses communication acts and protocols Constraints assigned to resources and actions
Assigned to groups, playing one or several roles Associated to groups and played by agents Agent
Role
Represented as Group of Roles Organization
Defined as role interactions
Assigned to agents, composed by missions Roles defined for organizational structures
Define goals. Played by agents with appropriate capabilities Not explicitly supported. Inherent to goals and roles Coordination at agent and organization levels. Policies constraint agent execution
Executes task parts via roles Agent types provide services
Assigned to roles to achieve a goal
Agents assigned to roles via social contr.
Goal-based agents
Composed by roles and norms. They define groups at an agent-level Agents and groups define holons Decomposed into groups of agents and workflows Org. defines tasks to be completed Composed by organizational structures
Organization defines agents, capabilities, policies, ontologies
Org. defines roles, contracts, norms and protocols
ASPECS Moise+
MaSE
OperA
INGENIAS
Table 3 Allowed organizational paradigms in the analysed methodologies.
Ext. Gaia AGR
Table 2 Meta-model-related evaluations.
181
Hierarchies Holarchies Coalitions Teams Congregations Societies Federations Markets
AGR
Ext. Gaia
Moise+
MaSE
Opera
INGENIAS
ASPECS
䊉 䊉 䊉 䊉
䊉 䊉 䊉 䊉
䊉
䊉 䊉 䊉 䊉 䊉
䊉
䊉 䊉 䊉 䊉
䊉 䊉 䊉 䊉 䊉
For an agent developer, the possibility of using a graphical development kit associated to a methodology can ease its adoption. With regard to supporting tools, Moise+, AgentTool and the INGENIAS development kits are ongoing works that are under development and in continuous improvement (the latest releases are dated 2009 and 2010). Only MadKit seems to be finished, offering the last stable version dated in 2008; its website still maintains an up-to-date forum with many documentation and examples for agent developers. In addition, some development kits permit both the generation of code and its execution, such as Moise+. However, JADE, which is one of the most widely used agent-oriented programming frameworks, is only used by INGENIAS. As depicted in Table 1, there is a wide disparity of languages used by the different tools to generate prototypes, and that constitutes one of their main drawbacks from the re-usability point of view. AgentSpeak and Janus are two examples of agent languages to create MASs. AgentSpeak (Rao, 1996) is focused in the development of BDI agents, whereas Janus (Gaud et al., 2008) is a specialised framework to create holonic MASs. Bogor is not an agent-related language but it is designed to execute concurrent processes using a model checking optimization model. Ontologies define areas of common understanding between multiple agents (Dolia, 2010), easing their interoperability and permitting a high-level communication. With independence of their scope (application, domain and upper), some methodologies permit the inclusion of ontologies in a MAS from the early stages of design: MaSE, OperA and ASPECS. Finally, the maturity of methodologies can be analysed by the number of systems that have adopted them. Most of the analysed methodologies have associated applications that show their feasibility. These methodologies have been applied in different fields such as medical informatics (Isern et al., 2008), manufacturing (Cossentino et al., 2010; Giret et al., 2005), and e-commerce (Ferber et al., 2003). Only OperA and Moise+ have not been used in real settings, whereas MaSE and INGENIAS are the most used ones. Unfortunately, the number of real world applications that use agent-oriented methodologies is still low. 4.2. Analysis of the meta-models From the analysis of the meta-models, we can observe that all methodologies share a basic set of elements: organization, agent, role, task, interaction and constraints; however, the way in which those elements are considered by each method varies. Obviously, all methods explicitly incorporate the notion of Agent class as an atomic execution element to which task goals or roles are associated. The way in which agents are related in the meta-model significantly determines the social structures supported by the method. Aggregation associations are the most common, defined according to a container structural element. The degree of generality of that element defines the complexity of the supported social structures. In some cases, agents directly belong to organizations (such as the case of Extended Gaia, MaSE or OperA); in other cases, they can be organized in several auxiliary structures, such as groups (in the case of AGR, INGENIAS) or holons (in the case of ASPECS).
182
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
In the later cases, methods support more easily the definition of structured social models (such as hierarchies or holarchies). In other methods such as Moise+ the relation between Agents and Organizations is stated in an indirect manner, according to the tasks they execute; even though some agent structures can be defined in an implicit manner, this hampers the expressiveness of the method from the social point of view. Agents’ tasks are typically associated to them according to their roles (AGR, ASPECS, Extended Gaia, INGENIAS, MaSE and OperA). Only Moise+ explicitly assigns tasks to Agents, even though, in that case, tasks are understood as global problems to be solved by a community of agents which individually execute task parts. In some cases, the Task class in not included in the meta-model, being implicit to the mission, goal or agent plan. Roles and tasks will naturally derive in agent behaviours implemented at a code level, which at the end define what an agent is capable of. The characteristics or associations related to the interaction are also an important aspect that influences the expressiveness of inter-agent communication. In most cases, interaction protocols and structured messages are explicitly supported (such as in ASPECS, Extended Gaia, MaSE, INGENIAS or OperA). They are fundamental when aiming to implement standard and interoperable communication models such as those defined by FIPA (FIPA, 2002b). The expressiveness of messages is also related with the use of ontologies previously discussed. The combination of wellknown protocols and ontologies that define the knowledge to be exchanged results in interoperable platforms that are easy to deploy and to extend. The identified commonalities between the methods’ metamodels may allow finding bridges between them in order to, for example, design a common meta-model employing a unified set of elements. However, as stated in the introduction, previous attempts to propose a global model from the integration of existing ones (Bernon et al., 2005; Beydoun et al., 2009) have had a very limited success. However, it is also interesting to note that, in some cases, a new methodology takes into account older ones, updating some of their parts and creating a new and more complete approach. In this sense, ASPECS (as far as we know, the newest methodology) bases and validates its model with regard to three older methodologies. As a result, it incorporates their benefits and improves the functionalities of previous works. This incremental evolution of AOMs seems a more feasible approach towards the development of more complete and, in consequence, more applicable methodologies. In general, there seems to be a relation between how recently a method has been developed (which is the case of ASPECS, INGENIAS or MaSE) and how detailed, flexible and expressive its meta-model is. As a result, modern AOMs provide more flexibility and more modelling capabilities in their meta-models, supporting the implementation of more complex organizational structures. On the contrary, the less flexible ones are Opera and Moise+, which also correspond to more theoretical proposals which offer very little support to the development (i.e., code generation or CASE tools). 4.3. Supported organizational structures With regards to the analysis of the social structures supported by each methodology conducted in Section 2 and summarised in Table 3, some conclusions can be enounced. The most complete methodologies are ASPECS and MaSE, supporting very complex organizational structures such as holarchies, in which agents are recursively organized in self-regulated structures called holons. ASPECS, however, supports holarchies in a more natural way, differentiating clearly each abstraction level of the organization (holons, subholons, groups, agents), whereas MaSE supports it as a recursive definition of organizations.
Hierarchies (considered as simpler holarchies) are also supported by other methods (AGR, Extended Gaia and INGENIAS) as a result of associating agents into groups. However, from those three, only INGENIAS supports the definition of hierarchies with multiple levels of depth; in the other two cases, the depth of the hierarchy is limited to the definition of groups of agents. Coalitions, teams and congregations are similar social structures, differentiated by the possibility of supporting inter-agent communication (only for the case of teams) or not. Most methods explicitly stating the notion of group of agents (or an alternative notation such as holons or sub-organizations), support the three structures; only AGR does not support the definition of inter-agent communication, which results in the fact that teams cannot be directly modelled. Moise+ and OperA remain as the least flexible models from the social point of view. However, OperA is the only one that explicitly supports the structure of society, defined as a set of agents dependant on a social contract. Federations and markets are special cases of teams and coalitions in which agents play concrete behaviours (e.g., sellers-buyers). In those cases, the method should specifically support those agent roles natively (such as INGENIAS) whereas in other cases, agents should be explicitly implemented. Another aspect that significantly influences the modelling capabilities of methods with regards to social structures is agent interaction. Communication is a very important and differentiating characteristic of agents with respect to other software paradigms. As stated above, in the meta-models, agent interaction is typically represented by means of associations. According to the origin and destination of an association and its cardinality, the communication process is defined between individual agents (such as in Extended Gaia, INGENIAS or MaSE) or also between organizations (such as in Extended Gaia or ASPECS). This aspect determines if agent communication is allowed between different organizational structures (such as groups or holons) or if it is restricted to intra-agent communication. As a result, inherently connected social structures such as teams are not supported in some cases, such as in AGR and Moise+.
5. Conclusions Nowadays, a wide range of agent-oriented methodologies has been proposed, addressing different elements of the modelling problem or proposing different meta-models. However, the design and adoption of a methodology as a standard for the analysis, design and management of multi-agent systems is a challenge still unsolved (McKean et al., 2008). Due to the disparity of models and coverage, several authors have proposed frameworks to compare and evaluate them (e.g., Sudeikat et al., 2004; Elamy and Far, 2006; Dam and Winikoff, 2003; Sturm and Shehory, 2003). The conclusions of those evaluations show an evolution of the methodologies and an increasing level of expressiveness, materialized in recent works (or modification of previous ones) as a native support for organizational structures of agent societies. The maturity of this research area is reflected in the number of methodologies currently available, many of them offering a wide level of possibilities from the organizational perspective. The set of analysed methodologies goes from the most theoretical ones like OperA and Extended Gaia to the most developed and practical ones like INGENIAS and MaSE. The evaluation of all those methodologies is useful to understand the complexity and variety of possible designs and solutions for agent-based applications. As stated above it is also interesting to observe the evolution of methodologies from a chronological point of view, which reflects the increasing completeness and flexibility of the most recent approaches such as ASPECS.
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
It is also important to note the effort made by FIPA towards the standardisation of all agent-related topics. The incorporation of those standards into agent methodologies is relevant because most of the currently available agent-based languages and implemented applications follow the guidelines and recommendations defined by this organization (Isern et al., 2010). With this work we present an up-to-date review of AOMs focused in the social characteristics of agent-based systems. We aim to provide some guidelines to an agent developer to select the approach which better fits with his/her problem requirements from two perspectives. From a high-level perspective, the paper analyses the facilities offered by the different methodologies and their technological maturity, it summarises the allowed organizational structures, and it reviews the models used to create agent architectures. From a lower level perspective, the analysis of the meta-models permits to identify the modelling possibilities of each methodology and their commonalities and differences, seeing how their complexity and possibilities have evolved over time. References Anderson, J.E., Tanner, B., Baltes, J., 2004. Dynamic coalition formation in robotic soccer. In: Soh, L.-K., Anderson, J.E. (Eds.), AAAI-04 Workshop on Forming and Maintaining Coalitions and Teams in Adaptive Multiagent Systems. AAAI Press, San Jose, CA. Arcos, J.L., Esteva, M., Noriega, P., Rodríıguez-Aguilar, J.A., Sierra, C., 2005. Engineering open environments with electronic institutions. Eng. Appl. Artif. Intell. 18, 191–204. Argente, E., Giret, A., Valero, S., Julian, V., Botti, V., 2004. Survey of MAS methods and platforms focusing on organizational concepts. In: Vitrià, J., Radeva, P., Aguiló, I. (Eds.), Setè Congrés Català d’Intel ligència Artificial, CCIA 2004. Recent Advances in Artificial Intelligence Research and Development. IOS Press, Barcelona, Catalonia, pp. 309–316. Argente, E., Julian, V., Botti, V., 2006. Multi-agent system development based on organizations. Electron. Notes Theor. Comput. Sci. 150, 55–71. Bauer, B., Müller, J., 2004. Methodologies and modeling languages. In: Luck, M., Ashri, R., D’Inverno, M. (Eds.), Agent-based Software Development. Artech House, Inc., Norwood, MA, pp. 77–131. Bellifemine, F., Caire, G., Greenwood, D., 2007. Developing Multi-agent Systems with JADE. John Wiley and Sons, Chichester, England. Bernon, C., Cossentino, M., Pavón, J., 2005. Agent-oriented software engineering. Knowl. Eng. Rev. 20, 99–116. Beydoun, G., Low, G., Henderson-Sellers, B., Mouratidis, H., Gómez-Sanz, J., Pavón, J., González-Pérez, C., 2009. FAML: a generic metamodel for MAS development. IEEE Trans. Soft. Eng. 35, 841–863. Bordini, R.H., Braubach, L., Dastani, M., Seghrouchni, A.E.F., Gómez-Sanz, J.J., Leite, J., O’Hare, G., Pokahr, A., Ricci, A., 2006. A survey of programming languages and platforms for multi-agent systems. Informatica 30, 33–44. Bresciani, P., Giorgini, P., Giunchiglia, F., Mylopoulos, J., Perini, A., 2004. TROPOS: an agent-oriented software development methodology. Auton. Agents Multi-Agent Syst. 8, 203–236. Brooks, C.H., Durfee, E.H., 2002. Congregating and market formation. In: Castelfranchi, C., Johnson, W.L. (Eds.), First International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS 2002. ACM Press, Bologna, Italy, pp. 694–695. Cernuzzi, L., Juan, T., Sterling, L., Zambonelli, F., 2004. The Gaia methodology: basic concepts and extensions. In: Bergenti, F., Gleizes, M.P., Zambonelli, F. (Eds.), Methodologies and Software Engineering for Agent Systems. Springer, US, pp. 69–88. Chalkiadakis, G., Elkind, E., Polukarov, M., Jennings, N.R., 2009. The price of democracy in coalition formation. In: Decker, K., Sichman, J.S., Sierra, C., Castelfranchi, C. (Eds.), 8th International Conference on Autonomous Agents and Multiagent Systems. ACM Press, Budapest, Hungary, pp. 401–408. Cossentino, M., 2005. From requirements to Code with the PASSI methodology. In: Henderson-Sellers, B., Giorgini, P. (Eds.), Agent-oriented Methodologies. Idea Group, pp. 79–106. Cossentino, M., Gaglio, S., Sabatucci, L., Seidita, V., 2005. The PASSI and Agile PASSI MAS Meta-models compared with a unifying proposal. In: Pechoucek, M., Petta, P., Varga, L.Z. (Eds.), 4th International Central and Eastern European Conference on Multi-Agent Systems, CEEMAS 2005. Springer Berlin/Heidelberg, Budapest, Hungary, pp. 183–192. Cossentino, M., Gaud, N., Hilaire, V., Galland, S., Koukam, A., 2010. ASPECS: an Agentoriented Software Process for Engineering Complex Systems: How to design agent societies under a holonic perspective. Auton. Agents Multi-Agent Syst., DOI: 10.1007/s10458-009-9099-4. Coutinho, L.R., Sichman, J.S., Boissier, O., 2005. Modeling organization in MAS: a comparison of models. In: First Workshop on Software Engineering for Agentoriented Systems, SEAS 2005. Brazilian Computer Society, Uberlância, Brazil. Cucurull, J., Martí, R., Navarro-Arribas, G., Robles, S., Borrell, J., 2009. Full mobile agent interoperability in an IEEE-FIPA context. J. Syst. Soft. 82, 1927–1940.
183
Dam, K.H., Winikoff, M., 2003. Comparing agent oriented methodologies. In: Giorgini, P., Henderson-Sellers, B., Winikoff, M. (Eds.), 5th International BiConference Workshop, AOIS 2003. Springer Berlin/Heidelberg, Melbourne and Chicago, pp. 78–93. DeLoach, S.A., 2004. The MaSE methodology. In: Bergenti, F., Gleizes, M.P., Zambonelli, F. (Eds.), Methodologies and Software Engineering for Agent Systems: The Agent-oriented Software Engineering Handbook. Kluwer Academic Publishers, pp. 107–125. DeLoach, S.A., Wood, M.F., Sparkman, C.H., 2001. Multiagent systems engineering. Int. J. Soft. Eng. Knowl. Eng. 11, 231–258. Dignum, V., 2004. A Model for Organizational Interaction: Based on Agents, Founded in Logic. University of Utrech, Utrech, The Netherlands. Dignum, V., Meyer, J.-J., Weigand, H., 2002. An organizational-oriented model for agent societies. In: Castelfranchi, C., Johnson, W.L. (Eds.), First International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS 2002. ACM Press, Bologna, Italy, pp. 694–695. Dolia, P.M., 2010. Integrating ontologies into multi-agent systems engineering (MaSE) for university teaching environment. J. Emer. Technol. Web Intell. 2, 42–47. Elamy, A.-H.H., Far, B., 2006. On the evaluation of agent-oriented software engineering methodologies: a statistical approach. In: Kolp, M., HendersonSellers, B., Mouratidis, H., Garcia, A., Ghose, A., Bresciani, P. (Eds.), 8th International Bi-Conference Workshop, AOIS 2006. Springer Berlin/Heidelberg, Hakodate/Luxembourg, pp. 105–122. Ferber, J., Gutknecht, O., 1998. A meta-model for the analysis and design of organizations in multi-agent systems. In: Demazeau, Y. (Ed.), International Conference on Multi-Agent Systems, ICMAS 1998. IEEE Press, Paris, France, pp. 41–50. Ferber, J., Gutknecht, O., Michel, F., 2003. From agents to organizations: an organizational view of multi-agent systems. In: Giorgini, P., Müller, J., Odell, J. (Eds.), 4th International Workshop on Agent-oriented Software Engineering IV, AOSE 2003. Springer Berlin/Heidelberg, Melbourne, Australia, pp. 214–230. FIPA, 2002a. FIPA Abstract Architecture Specification. Foundation for Intelligent and Physical Agents (FIPA), Geneva, Switzerland. FIPA, 2002b. FIPA ACL Message Structure Specification. Foundation for Intelligent and Physical Agents (FIPA), Geneva, Switzerland. FIPA, 2009. FIPA Design Process Documentation and Fragmentation Working Group. Foundation for Intelligent and Physical Agents, IEEE-FIPA, Geneva, Switzerland. Fox, M.S., 1981. An organizational view of distributed systems. IEEE Trans. Syst. Man Cybern. 11, 70–80. ˜ Fuentes-Fernández, R., García-Magarino, I., Gómez-Rodríguez, A.M., GonzálezMoreno, J.C., 2010. A technique for defining agent-oriented engineering processes with tool support. Eng. Appl. Artif. Intell. 23, 432–444. Gaud, N., Galland, S., Hilaire, V., Koukam, A., 2008. An organisational platform for holonic and multiagent systems. In: Hindriks, E., Pokahr, A., Sardina, S. (Eds.), Sixth International Workshop on Programming Multi-Agent Systems, PROMAS 2008 held in Seventh International Conference on Autonomous agents and Multiagent Systems, AAMAS 2008. AAAI, Estoril, Portugal, pp. 111–126. Gimpel, H., Jennings, N.R., Kersten, G.E., Ockenfels, A., Weinhardt, C., 2006. Market Engineering: A Research Agenda, International Seminar Negotiation, Auctions, and Market Engineering. Springer Verlag, Dagstuhl Castle, Germany, pp. 1–15. Giret, A., Botti, V., 2004. Holons and agents. J. Intell. Manuf. 15, 645–659. Giret, A., Botti, V., Valero, S., 2005. MAS methodology for HMS. In: Second Int. Conf. on Industrial Applications of Holonic and Multi-Agent Systems, HoloMAS 2005. Springer-Verlag, Copenhagen, Denmark, pp. 39–49. Gómez-Sanz, J., Pavón, J., 2004. Methodologies for developing multi-agent systems. J. Univ. Comput. Sci. 10, 359–374. Gómez-Sanz, J., Gervais, M.P., Weiss, G., 2004. A survey on agent-oriented software engineering research. In: Bergenti, F., Gleizes, M.P., Zambonelli, F. (Eds.), Methodologies and Software Engineering for Agent Systems. Springer, US, pp. 33–64. Hannoun, M., Boissier, O., Sichman, J.S., 2000. MOISE: an organizational model for multi-agent systems. In: Monard, M.C., Sichman, J.S. (Eds.), Proc. of International Joint Conference 7th Ibero-American Conference on AI 15th Brazilian Symposium on AI IBERAMIA-SBIA 2000. Springer Berlin/Heidelberg, Atibaia, Brazil, pp. 156–165. Henderson-Sellers, B., Giorgini, P., 2005. Agent-oriented methodologies: an introduction. In: Henderson-Sellers, B., Giorgini, P. (Eds.), Agent-oriented Methodologies. Idea Group, pp. 1–19. Hilaire, V., Koukam, A., Gruer, P., Müller, J.-P., 2000. Formal specification and prototyping of multi-agent systems. In: Omicini, A., Tolksdorf, R., Zambonell, F. (Eds.), First International Workshop on Engineering Societies in the Agent World, ESAW 2000. Springer Berlin/Heidelberg, Berlin, Germany, pp. 114–127. Horling, B., Lesser, V., 2005. A survey of multi-agent organizational paradigms. Knowl. Eng. Rev. 19, 281–316. Hübner, J.F., Sichman, J.S., Boissier, O., 2002a. A model for the structural, functional, and deontic specification of organizations in multiagent systems. In: Bittencourt, G., Ramalho, G. (Eds.), Proc. of 16th Brazilian Symposium on Artificial Intelligence, SBIA 2002. Springer Berlin/Heidelberg, Porto de Galinhas/Recife, Brazil, pp. 439–448. Hübner, J.F., Sichman, J.S., Boissier, O., 2002b. MOISE+: towards a structural, functional, and deontic model for MAS organization. In: Castelfranchi, C., Johnson, W.L. (Eds.), First International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS 2002. ACM Press, Bologna, Italy, pp. 501–502. Hübner, J.F., Sichman, J.S., Boissier, O., 2007. Developing organised multi-agent systems using the Moise+ model: programming issues at the system and agent level. Int. J. Agent-Orient. Softw. Eng. 1, 370–395.
184
D. Isern et al. / The Journal of Systems and Software 84 (2011) 169–184
Iglesias, C.A., Garijo, M., González, J.C., 1999. A survey of agent-oriented methodologies. In: Müller, J., Singh, M.P., Rao, A.S. (Eds.), 5th International Workshop on Intelligent Agents V: Agent Theories, Architectures, and Languages (ATAL’98). Springer Verlag, Paris, France, pp. 317–330. Isern, D., Gómez-Alonso, C., Moreno, A., 2008. Methodological development of a multi-agent system in the healthcare domain. Commun. SIWN 3, 65–68. Isern, D., Sánchez, D., Moreno, A., 2010. Agents applied in health care: a review. Int. J. Med. Inf. 75, 145–166. Kelly, S., Lyytinen, K., Rossi, M., 1996. MetaEdit+: a fully configurable multi-user and multi-tool CASE and CAME environment. In: Constantopoulos, P., Mylopoulos, J., Vassiliou, Y. (Eds.), Advanced Information Systems Engineering. Proc. of 8th International Conference, CAiSE 1996. Springer Berlin/Heidelberg, Heraklion, Crete, Greece, pp. 1–21. Klusch, M., Gerber, A., 2002. Dynamic coalition formation among rational agents. IEEE Intell. Syst. 17, 42–47. Lu, H., 2005. Team formation in agent-based computer games. In: Pisan, Y. (Ed.), 2nd Australasian conference on Interactive Entertainment, IE 2005. ACM Press, Sydney, Australia, pp. 121–124. Luck, M., McBurney, P., Shehory, O., Willmott, S., 2005. Agent technology: computing as interaction (a roadmap for agent based computing). AgentLink. McKean, J., Shorter, H., Luck, M., McBurney, P., Willmott, S., 2008. Technology diffusion: analysing the diffusion of agent technologies. Auton. Agents Multi-Agent Syst. 17, 372–396. Moraïtis, P., Petraki, E., Spanoudakis, N.I., 2002. Engineering JADE agents with the Gaia methodology. In: Kowalczyk, R. (Ed.), Agent Technology Workshops 2002. Springer Verlag, pp. 77–91. Nevmyvaka, Y., Sycara, K., Seppi, D.J., 2005. Electronic Market Making: Initial Investigation, Artificial Intelligence in Economics and Finance. World Scientific. Padgham, L., Winikoff, M., 2004. Developing Intelligent Agent Systems: A Practical Guide. John Wiley and Sons. Pavón, J., Gómez-Sanz, J.J., Fuentes, R., 2005. The INGENIAS methodology and tools. In: Henderson-Sellers, B., Giorgini, P. (Eds.), Agent-oriented Methodologies. Idea Group, pp. 236–276. Rao, A.S., 1996. AgentSpeak(L): BDI agents speak out in a logical computable language. In: Van de Velde, W., Perram, J.W. (Eds.), 7th European Workshop on Modelling Autonomous Agents in a Multi-agent World: Agents Breaking Away: Agents Breaking Away. Springer-Verlag New York, Einhoven, The Netherlands, pp. 42–55. Robbins, S.P., 2002. Organizational Behavior. Prentice Hall. Sawamoto, J., Tsuji, H., Hiratsuka, K., Koizumi, H., 2007. A proposal of multi-agent system development framework for cooperative problem solving and its experimental evaluation. Int. J. High Perform. Comput. Network., 5. Seidita, V., Cossentino, M., Galland, S., Gaud, N., Hilaire, V., 2010. The metamodel: a starting point for design processes construction. Int. J. Soft. Eng. Knowl. Eng.. Sichman, J.S., Dignum, V., Castelfranchi, C., 2005. Agents organizations: a concise overview. Braz. Comp. Soc.: Spec. Issue Agents Organ. 11, 1–8. SPEM, 2008. Software & Systems Process Engineering Metamodel Specification (SPEM), http://www.omg.org/spec/SPEM/2.0/ (last access June 17, 2010).
Sturm, A., Shehory, O., 2003. A framework for evaluating agent-oriented methodologies. In: Giorgini, P., Henderson-Sellers, B., Winikoff, M. (Eds.), 5th International Bi-Conference Workshop, AOIS 2003. Springer Berlin/Heidelberg, Melbourne and Chicago, pp. 94–109. Sudeikat, J., Braubach, L., Pokahr, A., Lamersdorf, W., 2004. Evaluation of agentoriented software methodologies—examination of the gap between modeling and platform. In: Odell, J., Giorgini, P., Müller, J.P. (Eds.), 5th International Workshop on Agent-oriented Software Engineering, AOSE 2004. Springer Berlin/Heidelberg, New York, NY, pp. 126–141. UML, 2010. Unified Modelling Language (UML), http://www.omg.org/spec/UML/2.3/ (last access June 17, 2010). Wooldridge, M., 2002. An Introduction to Multiagent Systems. John Wiley and Sons, Ltd., West Sussex, England. Wooldridge, M., 2009. An Introduction to MultiAgent Systems, 2nd ed. John Wiley & Sons. Zambonelli, F., Jennings, N.R., Wooldridge, M., 2003. Developing multiagent systems: the Gaia methodology. ACM Trans. Soft. Eng. Methodol. 12, 317–370. Zambonelli, F., Jennings, N.R., Wooldridge, M., 2005. Multi-Agent Systems as Computational Organizations: The Gaia Methodology. In: Henderson-Sellers, B., Giorgini, P. (Eds.), Agent-oriented Methodologies. Idea Group, pp. 136–171. David Isern is a post-doctoral researcher of the University Rovira i Virgili’s Department of Computer Science and Mathematics. He is a member of the ITAKA research group (Intelligent Techniques for Advanced Knowledge Acquisition). He is also associate professor of the Open University of Catalonia. He received his PhD in Artificial Intelligence (2009) and an MSc (2005) from the Technical University of Catalonia. His research interests are intelligent software agents, distributed systems, user’s preferences management, and ontologies, especially applied in healthcare and information retrieval systems. David Sánchez is a Lecturer at the University Rovira i Virgili’s Computer Science and Mathematics Department. He is a member of the ITAKA research group (Intelligent Techniques for Advanced Knowledge Acquisition). His research interests are intelligent agents and ontology learning from the Web. He received a PhD on Artificial Intelligence from UPC (Technical University of Catalonia) in 2008. Antonio Moreno is a Lecturer at the University Rovira i Virgili’s Computer Science and Mathematics Department. He is the founder and head of the ITAKA research group (Intelligent Techniques for Advanced Knowledge Acquisition), and the academic coordinator of the Computer Science Master studies. His main research interests are the application of agent technology to problems in diverse domains (health care, Tourism) and ontology learning from the Web. He was the coordinator of the Spanish network on agents and multi-agent technology. He has organised several workshops on agents applied in healthcare in the most prestigious International scientific conferences. He has acted as invited editor of special issues in AI Communications, Artificial Intelligence in Medicine and IEEE Intelligent Systems, and he has also edited several books.