Requirements for Multi-Agent Systems

Carla T. L. L. Silva, Jaelson Castro, Patricia Azevedo Tedesco
2003 Workshop em Engenharia de Requisitos  
Autonomous agents are beginning to be used as a software paradigm, because of their potential to build more powerful and flexible complex systems. To achieve such benefits a standard definition of is agenthood is necessary. In doing so, agent-oriented software engineering will not only be able to develop standardised processes for building agent-based systems but also be able to better as evaluate existing agent-oriented methodologies. This paper presents a set of requirements for
more » ... systems and the relationships between them using the NFR framework. In order to exemplify the use of the defined criteria, we present a comparative study of two important agent-oriented methodologies. Introduction Agent orientation has the potential to become a mainstream software engineering paradigm in response to the increasing complexity of today's software systems. In particular, these systems are required to operate in complex -distributed, large, open, dynamic, unpredictable, heterogeneous, and highly interactive -application environments [1] . Agenthood offers a higher level of abstraction in thinking about software systems features and behaviour. Hence, it seems natural to build complex software systems in terms of agents and multi-agent technology. Agent orientation is beginning to be used in industrial and commercial applications, ceasing to exist only in the academic environment. The usage of this technology in industry has demonstrated that agent oriented techniques lead to improvement of distributed complex system development. However, the benefits promised by the agents paradigm cannot be fully achieved yet because although many different perspectives of agency have been described and discussed, there is no universally accepted definition of what exactly determines agenthood. Therefore, there is no standardised development process to build agentoriented applications. This paper is an attempt to establish the requirements for multi-agent systems, i.e., to determine which concepts and features really need to be defined in order to build an agent-oriented software system. After that, we analyse the most well known agentoriented methodologies based on the requirements we have established. Such analysis enables us to point out the most suitable one for a specific agent-based application. It is worth remarking that we use the NFR framework [2] to express the relationships among the requirements. The NFR is adequate to this situation because it makes explicit the relationships between non-functional requirements and the design decisions intended to implement them. The paper is organised as follows: section 2 reviews the some current evolving agent-oriented methodologies. Section 3 presents our contribution by establishing the requirements for multi-agent systems. Section 4 exposes a comparison between two agent-oriented methodologies based on our proposal. Section 5 discusses related work. Finally, section 6 summarizes our work and points out urgent and still open issues in agent-oriented software engineering. Agent-Oriented Software Engineering and Methodologies Agent-oriented software engineering is concerned with the use of agents in the development of complex distributed systems especially in open and dynamic environments. Agents provide a natural and elegant means to manage complexity and interactions. The agent abstraction may be applied not just to represent technological components of implemented systems, but also to the modelling and design of complex systems that may be implemented in the most appropriate fashion. Agents provide designers and developers with a way of structuring an application around autonomous, communicative elements. In order to support this view of systems development, certain tools and techniques need to be introduced. For example, methodologies to guide analysis and design are required; agent architectures are needed for the design of individual components, and supporting infrastructure (including more general, current technologies, such as web services) must be integrated. The increasing interest in software agents and multi-agent systems has recently led to the development of new methodologies based on agent concepts. Modelling languages and methodologies such as GAIA [3] , KGR [4], AUML [5], MaSE [6] and Tropos [7] have become the focus of the emerging area of agent-oriented software engineering. These methodologies propose different approaches in using agent concepts and techniques at various stages during the software development lifecycle. Two main trends are considered in multi-agent system design: extending software engineering (or knowledge engineering) methodologies, or extending specific agent methodologies. KGR [4], and Tropos [7] are examples of the former case, whereas GAIA [3] and MaSE [6] exemplify the latter. KGR [4] focus on two viewpoints. The external viewpoint describes the social system structure and dynamics. It includes an Agent Model and an Interaction Model. The internal viewpoint is composed of three models: the Belief Model, the Goal Model, and the Plan Model. These models specify how an agent perceives the environment and how it chooses its actions based on this perception. AUML [5] is an analysis and design methodology, which extends UML to represent agents. It provides extensions to UML by adding a three-layer representation for agent interactions protocols (AIP), which define communication protocol as 'an al-¢¡ ¤£ ¦¥ § ¤©
dblp:conf/wer/SilvaCT03 fatcat:cfijhydek5d4zg2sac4hv4ffsa