Aspectizing Multi-agent Systems: From Architecture to Implementation [chapter]

Alessandro Garcia, Uirá Kulesza, Carlos Lucena
2005 Lecture Notes in Computer Science  
Agent architectures have to cope with a number of internal properties (concerns), such as autonomy, learning, and mobility. As the agent complexity increases, these agent properties crosscut each other and the agent's basic functionality. In addition, multi-agent systems encompass multiple agent types with heterogeneous architectures. Each of these agent types has different properties, which need to be composed in different ways. In this context, the separation and the flexible composition of
more » ... ent concerns are crucial for the construction of heterogeneous agent architectures. Moreover the separation of agent concerns needs to be guaranteed throughout the different development phases, especially from the architectural to the implementation phase. Existing approaches do not provide appropriate support for the modularization of agent properties at the architectural stage, and do not promote a smooth transition to the system implementation. This paper presents an aspect-oriented method that allows for a better separation of concerns, supporting the systematic aspectization of agent properties through the architectural definition, detailed design and implementation. A multi-agent system for paper reviewing management is assumed as a case study through this paper to show the applicability of our proposal. entity that acts on the environment and manipulate objects [30] [31] [32] [33] . As a consequence, the internal architecture of a software agent includes special concerns, which are classified in two categories: agenthood concerns (Section 2.1) and additional concerns (Section 2.2). Agenthood Concerns Agenthood concerns are the features incorporated by all the agent architectures independently from the agent type. Agenthood usually consists of the basic agent concerns -the agent services and the knowledge -and some behavioral properties. Although there is no widely accepted definition of agenthood, autonomy, interaction, and adaptation are considered agenthood properties of software agents, while collaboration, roles, learning, and mobility are neither necessary nor sufficient conditions for agenthood [30] [31] [32] [33] . Knowledge. There are different proposed models for knowledge structuring [34, 35] , but the knowledge elements are often expressed by beliefs, goals, actions, and plans [26, 34, 35] . This work focuses on such a knowledge-structuring model because many projects consider the belief-desire-intention (BDI) model [34] to be the base line for describing the agent knowledge [19, 21, 26] . The agent's beliefs are knowledge elements that describe information about the agent itself, the environment, and its partners. A goal may be realized through different plans. A plan describes a strategy to achieve an internal goal of the agent, and the selection of plans is based on agent beliefs. Actions and plans are used to implement the agent services. Interaction. The interaction concern is the agent property that implements the communication with the external environment. The interaction behavior basically consists of receiving messages and sending messages to other agents through sensors and effectors. Since an message is received, it is unmarshaled and stored in an agent inbox. When an agent is performing actions and plans, it needs to send messages to the other agents. A message is sent from a simple action or from a plan. The sent messages are marshaled and stored in an outbox. Agent messages are structured according an agent communication language (ACL) [36] . Since different agents can use different ACLs, messages are translated to an internal message style used by the agent. The interaction protocol can also implement a sensory behavior, which consists of observing events in the environment objects. Adaptation. The adaptation concern is the agent property that modifies the agent according to external and internal events [37, 38] . There are two kinds of adaptation: knowledge adaptation and behavior adaptation. They follow the same basic protocol, which consists of observing relevant environmental or internal events, gathering the information needed, selecting and invoking the associated adapters [37] . However, knowledge adaptation results in the modification of some piece of the agent knowledge. The behavior adaptation results in either the plan cancellation or the selection of new plans which should be executed next. Sophisticated adapters include reasoning techniques [37, 38] and planners [37, 38] . Autonomy. Autonomy usually means that an agent has control over its own actions and can act independently of others [31, 39, 40] . To be autonomous, the agent must [30, 31, 39, 40] : (i) create its own goals on the basis of internal and external events, (ii) make decisions on goal instantiations, (iii) have its own control threads (execution
doi:10.1007/978-3-540-31846-0_8 fatcat:do7zrn73tbggthi3emxsbp7uzq