School of Computing, National University of Singapore 3 Science Drive 2, Singapore ABSTRACT

Similar documents
Agent Development. F. Alonso, S. Frutos, L. A. Martínez, C. Montes Facultad de Informática, UPM.

AOSE Agent-Oriented Software Engineering: A Review and Application Example TNE 2009/2010. António Castro

MULTI-AGENT BASED SOFTWARE ENGINEERING MODELS: A REVIEW

Methodology for Agent-Oriented Software

Agent-Based Systems. Agent-Based Systems. Agent-Based Systems. Five pervasive trends in computing history. Agent-Based Systems. Agent-Based Systems

Structural Analysis of Agent Oriented Methodologies

Catholijn M. Jonker and Jan Treur Vrije Universiteit Amsterdam, Department of Artificial Intelligence, Amsterdam, The Netherlands

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

Analysis of Agent-Oriented Software Engineering

An Ontology for Modelling Security: The Tropos Approach

SENG609.22: Agent-Based Software Engineering Assignment. Agent-Oriented Engineering Survey

Agent-based Computing and Programming of Agent Systems

Agent-Oriented Software Engineering

Using Agent-Based Methodologies in Healthcare Information Systems

Prometheus: A Methodology for Developing Intelligent Agents

Agent Oriented Software Engineering

AOSE Technical Forum Group

Introduction to Autonomous Agents and Multi-Agent Systems Lecture 1

SODA: Societies and Infrastructures in the Analysis and Design of Agent-based Systems

Extending Gaia with Agent Design and Iterative Development

Introduction to Multi-Agent Systems. Michal Pechoucek & Branislav Bošanský AE4M36MAS Autumn Lect. 1

An Expressway from Agent-Oriented Models to Prototype Systems

An introduction to Agent-Oriented Software Engineering

Agent-Oriented Methodologies:

Dr. Gerhard Weiss, SCCH GmbH, Austria Dr. Lars Braubach, University of Hamburg, Germany Dr. Paolo Giorgini, University of Trento, Italy. Abstract...

Component Based Mechatronics Modelling Methodology

GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS

An Expressway from Agent-Oriented Models to Prototypes

IBM Rational Software

Multi-Agent Systems in Distributed Communication Environments

AN AUTONOMOUS SIMULATION BASED SYSTEM FOR ROBOTIC SERVICES IN PARTIALLY KNOWN ENVIRONMENTS

The Role of Computer Science and Software Technology in Organizing Universities for Industry 4.0 and Beyond

Pervasive Services Engineering for SOAs

Advancing Object-Oriented Standards Toward Agent-Oriented Methodologies: SPEM 2.0 on SODA

Methodologies for agent systems development: underlying assumptions and implications for design

A Conceptual Modeling Method to Use Agents in Systems Analysis

UNIT-III LIFE-CYCLE PHASES

A Conceptual Modeling Method to Use Agents in Systems Analysis

Information Sciences

A review of Reasoning About Rational Agents by Michael Wooldridge, MIT Press Gordon Beavers and Henry Hexmoor

Principles of Compositional Multi-Agent System Development

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

A Formal Model for Situated Multi-Agent Systems

Context-Aware Interaction in a Mobile Environment

Agent-Oriented Software Engineering

Mobile Tourist Guide Services with Software Agents

The PASSI and Agile PASSI MAS meta-models

On the use of the Goal-Oriented Paradigm for System Design and Law Compliance Reasoning

Leading Systems Engineering Narratives

HELPING THE DESIGN OF MIXED SYSTEMS

Distributed Robotics: Building an environment for digital cooperation. Artificial Intelligence series

AGENTS AND AGREEMENT TECHNOLOGIES: THE NEXT GENERATION OF DISTRIBUTED SYSTEMS

Agent-Oriented Software Engineering

This is the author s of a work accepted for publication by Springer. The final publication is available at

Software Agent Reusability Mechanism at Application Level

Towards an MDA-based development methodology 1

The AgentLink III Technical Forums: Introduction to the Special Issue

SOFTWARE AGENTS IN HANDLING ABNORMAL SITUATIONS IN INDUSTRIAL PLANTS

A Concise Overview of Software Agent Research, Modeling, and Development

A Modeling Method to Develop Goal Oriented Adaptive Agents in Modeling and Simulation for Smart Grids

We are IntechOpen, the world s leading publisher of Open Access books Built by scientists, for scientists. International authors and editors

Framework Programme 7

Grundlagen des Software Engineering Fundamentals of Software Engineering

A Product Derivation Framework for Software Product Families

38050 Povo (Trento), Italy Tel.: Fax: e mail: url:

A SERVICE-ORIENTED SYSTEM ARCHITECTURE FOR THE HUMAN CENTERED DESIGN OF INTELLIGENT TRANSPORTATION SYSTEMS

in the New Zealand Curriculum

Environment as a first class abstraction in multiagent systems

Chapter 1 Introduction

FP7 ICT Call 6: Cognitive Systems and Robotics

Newsletter No. 2 (July 2017)

ACTIVE, A PLATFORM FOR BUILDING INTELLIGENT OPERATING ROOMS

Designing 3D Virtual Worlds as a Society of Agents

Twenty Years of Engineering MAS. The shaping of the agent-oriented mindset

A SURVEY ON AGENT-ORIENTED ORIENTED SOFTWARE ENGINEERING RESEARCH

Elements of Artificial Intelligence and Expert Systems

Agent Oriented Software Engineering

Argumentative Interactions in Online Asynchronous Communication

II. ROBOT SYSTEMS ENGINEERING

Detecticon: A Prototype Inquiry Dialog System

Modelling of robotic work cells using agent basedapproach

Software-Intensive Systems Producibility

AMIMaS: Model of architecture based on Multi-Agent Systems for the development of applications and services on AmI spaces

Autonomous Agents and MultiAgent Systems* Lecture 2

ABSTRACT. Keywords: information and communication technologies, energy efficiency, research and developments, RTD, categorization, gap analysis.

Separation of Concerns in Software Engineering Education

CPS331 Lecture: Agents and Robots last revised April 27, 2012

SOFTWARE ARCHITECTURE

Negotiation Process Modelling in Virtual Environment for Enterprise Management

The AMADEOS SysML Profile for Cyber-physical Systems-of-Systems

Applying the ARTIS Agent Architecture to Mobile Robot Control

SYNTHESIZING AND SPECIFYING ARCHITECTURES FOR SYSTEM OF SYSTEMS

BDI: Applications and Architectures

Overview Agents, environments, typical components

Documentation and Fragmentation of Agent Oriented Methodologies and Processes

Environments for Multiagent Systems

Co-evolution of agent-oriented conceptual models and CASO agent programs

USING ROBOSMITH FOR MULTIAGENT ROBOTIC SYSTEM

COMP310 Multi-Agent Systems Chapter 3 - Deductive Reasoning Agents. Dr Terry R. Payne Department of Computer Science

Requirements elicitation and specification using the agent paradigm: the case study of an aircraft turnaround simulator

Transcription:

NUROP CONGRESS PAPER AGENT BASED SOFTWARE ENGINEERING METHODOLOGIES WONG KENG ONN 1 AND BIMLESH WADHWA 2 School of Computing, National University of Singapore 3 Science Drive 2, Singapore 117543 ABSTRACT With recent burgeoning interest in agent-based research and development, there has been a proliferation of agent-based methodologies over the past few years. Subsequently, we find a growing need to assess the various methodologies that are proposed for use in software engineering analysis and design based on a common framework. This project is a broad-based analysis and summary of 10 methodologies proposed over the last 5 years, and evaluates them according to certain criteria derived from the field of agent research and software engineering. These criteria will be further elaborated and defined, and observations as to which of them are non-discriminatory / discriminatory will be made. 1 INTRODUCTION & PAPER OUTLINE With a relatively recent flurry of research articles and papers appearing over the last decade, agent-based software research and development has been the intense focus of researchers and software engineers in recent years. Though much work has been done in this field, the agent-based software engineering paradigm can still be regarded as being in its infancy, lacking the relative maturity of other technologies and boasting of only a small number of real-world deployed agent applications (Wooldridge & Jennings, 2000). In the section 1.1, the motivation behind this paper will be discussed, section 1.2 will go into what exactly is meant by a software agent and other definitions relevant to this discussion, and section 1.3 will briefly detail how agent-based methodologies are different from old methodologies and situations which are optimal for their use. Section 2 will go into various agent methodologies proposed over the last few years, and note the 10 methodologies analysed in this paper. Section 3 will briefly describe the set of software criteria used (derived from agent characteristics and general software engineering principles), and section 3.1 will evaluate these methodologies based on this framework. Section 3.2 will note the key recurring features and discriminatory / non-discriminatory traits across these methodologies. Section 4 will conclude this paper and suggest directions in which further research could be made. 1.1 MOTIVATION 1 Student 2 Supervisor 1

In recent years, there have been a number of agent-based methodologies arriving on the scene, each claiming (to various degrees) to alleviate the dearth of development techniques in this field and provide a framework within which analysis and design of agent-based software could take place. However, there has been little consolidation and standardization amongst these proposed agent methodologies, even to the extent that common concepts like agent lack agreement (Cernuzzi and Rossi, 2002). Thus the aim of this paper is to evaluate / analyse a certain number of methodologies using a common framework and terminology, and from this analysis, abstract properties / features which are present (or absent) and (hopefully) help contribute towards establishing a common ground from which further research and development could take place. The next section will define a software agent. 1.2 WHAT IS A SOFTWARE AGENT? For the purpose of this discussion, and from what appears to be the emerging consensus amongst researchers (but by no means is a universal agreement), the definition of an agent is as follows: An agent is an encapsulated computer system that is situated in some environment, and that is capable of flexible, autonomous action in that environment in order to meet its design objectives (Wooldridge & Jennings, 2000) Unless otherwise stated, this definition will be used throughout this paper. Definitions of agent-related and software engineering-related terms like autonomous will be elaborated later in this paper in section 3.1. 1.3 SITUATIONS ESPECIALLY SUITED FOR AGENT METHODOLOGIES As opposed to object-oriented techniques and methodologies, agent methodologies appear especially suited to resolve complex, distributed problems (Wooldridge, 2000). As pointed out by some researchers (Wooldridge & Jennings, 2000) (Nwana & Ndumu, 1999), an agentcentered approach in software development is conceptually intuitive and provides mechanisms suited to construct real-world complex systems that have a large number of parts with many interactions (flexible in nature, and not passive and dumb (Nwana & Ndumu, 1999) or represent too fine a granuality of behaviour and method invocation (Wooldridge & Jennings, 2000) as typical of object-oriented methodologies), are decentralised in nature (eg. air-traffic control, distributed sensor networks) instead of having a central thread of control, and have high-level message-passing, explicitly address social issues like organisational relationships (or, relationships between the various component parts) (eg. allowing organisations to be first-class entities, peer-peer) beyond simple is-a, part-of relationships typical of object-oriented methodologies, address cooperative and/or competitive system goals (ie. higher-level objectives beyond that of component-level objectives). As shall be seen later on in this paper, these are the defining characteristics of agent methodologies. Detailed characteristics like autonomy, concurrency et al will be described in section 3.1. 2

2 CURRENT AGENT METHODOLOGIES Surveys (Iglesias, Garijo et al 1999) and evaluations (Cernuzzi and Rossi, 2000) have been conducted on agent methodologies, and the latter are observed to fall into two main categories: object oriented (OO) methodologies and knowledge engineering (KE) methodologies. The methodologies compared are Gaia, AAII (the methodology proposed by the Australian Artificial Intelligence Institute which we term AAII for short), ROADMAP (ie. Role-Oriented Analysis and Design for Multi-Agent Programming), MASCommonKADS, Styx, Tropos, Prometheus, MaSE (Multi-agent Systems Engineering), AUML, and MESSAGE (Methodology for Engineering Systems of Software Agents). Due to space constraint, individual characteristics of these methodologies will not be elaborated on. 3 EVALUATION OF METHODOLOGIES A description of the criteria (Bergenti et al, 2000) used in evaluating the various methodologies is as follows: Agent-based criteria autonomy: whether the agent is active and responsible for its actions showing proactive and reactive behaviour. complexity: whether there is provision for algorithms, computational reasoning etc. adaptability: agents are flexible in adjusting to changes to the environment. concurrency: whether control is multi-threaded and agents perform multiple activities simultaneously. communication richness: whether high-level messages (intra and inter-agent) are provided for, as well as their type and content distribution: whether the agents are located in different areas in a network initially mobility: whether the agent can transport itself to another platform or network. security and privacy: whether agents can keep their data, state or activities to themselves openness: can add or remove agents at runtime. Software engineering criteria preciseness: unambiguous semantics accessibility: ease of use (whether by expert or layman). expressiveness: whether can be applied across different domains and represent the system adequately modularity: whether the modeling technique is expressible in stages without any over-lap (ie. changes in prior stages of analysis / design) complexity management: whether there is provision for analysis at various levels of abstraction, eg. via hierarchical decomposition executability: whether rapid prototyping / simulation is possible. refinability: seamless carry-over from analysis to implementation etc analyzability: providing for consistency and coverage checking portability: architecture, language and platform independent 3

extensibility: whether roles / agent types can be extended. social / system / global laws: whether the notion of social rules / conventions is provided for (Wooldridge, Jennings, 2000) origins: where the methodology is derived from, either OO or KE etc. self-interest: whether there is provision for self-interested behaviour (ie. competitive vs cooperative behaviour). Table 1. Evaluation Criteria 3.1 EVALUATION OF CURRENT METHODOLOGIES completeness: covers the whole SDLC software development life cycle, ie. requirements analysis, software analysis and design, implementation Legend: Y Yes (it is present) N No (it is absent) U Unknown Agent-based Characteristics O-O Object-oriented KE Knowledge engineering Gaia AUML ROADMAP MAS- CommonKads Autonomy Y (role) Y Y Y Y Complexity N U Y Y N Adaptability Y Y Y Y N Concurrency N Y N Y Y Communication richness N Y N N N Distribution N Y N Y N Mobility N U N N N Security and Privacy N U Y N N Openness Y Y Y N N Extensibility N N Y N N Social laws N N Y Y Y Origins O-O O-O From Gaia. KE KE Self-interest N N Y N N Software engineering characteristics Preciseness Y Y Y Y Y Tropos 4

Accessibility Y U Y N Y Expressiveness Y N Y N N Modularity Y Y Y Y Y Complexity mgmt N Y Y Y Y Executability N Y N N Y Refinability N Y N N Y Analyzability N Y Y Y N Portability Y Y Y N N Completeness N Y N N Y Table 2. Current Methodologies (1 st to 5 th ) Due to space constraints, evaluation of the other 5 methodologies will not be elaborated here. 3.2 OBSERVATIONS / KEY TRENDS The evaluation of these 10 methodologies revealed that there were several key aspects which were non-discriminatory in nature (ie. at most one methodology differed from the rest; the others either already exhibited or did not have that aspect): agent autonomy (as expected) was dealt with, and the methodologies were generally modular and precise, however, there was little or no discussion on agent mobility, as well as non-functional issues like security and privacy, and self-interested agent behaviour. Social laws and behaviour on a system-level were not discussed for many methodologies, as well as the concept of emergence which Wooldridge and Jennings noted in their paper (Wooldridge and Jennings, 2000). Key trends would be the converging focus and consensus on central concepts like agent autonomy, roles and goals, as well as the various inter-agent as well as intra-agent interaction which lies at the center of multi-agent systems. Due to space constraint, these will not be elaborated. 4 CONCLUSION AND FURTHER RESEARCH Agent-based methodologies have yet to fully converge to a standardized form, which would mean having general terms and concepts like agent, role and interaction clearly defined. As the situation now stands, different methodologies use the same term within different contexts, and this presents difficulty in assessing and evaluating them on a uniform framework. However, certain key trends can be noted, and these could serve to spring-board research into having either a comprehensive methodology for this emerging field (much like the Rational Unified Process and UML), or they could be broken down into 2 or 3 major methodologies with minimal overlap (with respect to system objectives eg. self-interested and open systems vs closed and static systems). 5

5 REFERENCES [1] H. S. Nwana and D. T. Ndumu (1999), A Perspective on Software Agents Research, The Knowledge Engineering Review. [2] N. R. Jennings and M. Wooldridge (2000), Agent-Oriented Software Engineering, Proceedings of the 9 th European Workshop on Modeling Autonomous Agents in a Multi- Agent World: Multi-Agent System Engineering (MAAMAW-99). [3] M. Wooldridge, N. R. Jennings, and D. Kinny (2000), The Gaia Methodology for Agent- Oriented Analysis and Design, Journal of Autonomous Agents and Multi-Agent Systems 3 (3) 285-312. [4] L. Cernuzzi and G. Rossi (2002), On The Evaluation Of Agent Oriented Modelling Methods. Proceedings of Agnets Oriented Methodology workshop, Seattle, November 2002. [5] C. A. Iglesias, M. Garijo and J. C. Gonzalez (1999), A Survey of Agent-Oriented Methodologies, in: Muller, J. P. Singh, MP Rao, A.S., (Eds.): Intelligent Agents V Proceedings of the Fifth International Workshop on Agent Theories, Architectures, and Languages (ATAL-98), Lecture Notes in Artificial Intelligence. [6] T. Juan, A. Pearce, L. Sterling, ROADMAP: Extending the Gaia Methodology for Complex Open Systems. [7] C. A. Iglesias, M. Garijo and J. C. Gonzalez and J. R. Velasco (1998), Analysis and Design of Multiagent Systems using MAS-CommonKADS, Intelligent Agents IV Agent Theories,Architectures, and Languages. [8] J. Mylopoulos and J. Castro (2000), TROPOS: A Framework for Requirements-Driven Software Development, Information Systems Engineering: State of the Art and Research Themes (A. S01vberg, S. Brinkkemper, and E. Lindencrona, eds.) [9] J. Odell, H. V. D. Parunak, B. Bauer (2000), Extending UML for Agents, Proceedings of the Agent-Oriented Information Systems Workshop, pages 3--17, 2000. [10] F. Bergenti, O. Shehory, F. Zambonelli, Agent-Oriented Software Engineering. Website: http://polaris.ing.unimo.it/zambonelli/talks/easss2002.pdf. 6