Software engineers of multi-agent systems (MASs) are faced with different concerns such as autonomy, adaptation, interaction, collaboration, learning, and mobility, which are essentially different from classical concerns addressed in object-oriented software engineering. MAS developers, however, have relied mostly on object-oriented design techniques and programming languages, such as Java. This often leads to a poor separation of MAS concerns and in turn to the production of MASs that are difficult to maintain and reuse. This paper discusses software engineering approaches for MASs, and presents a new method for integrating agents into object-oriented software engineering from an early stage of design. The proposed approach encourages the separate handling of MAS concerns, and provides a disciplined scheme for their composition. Our proposal explores the benefits of aspect-oriented software development for the incorporation of agents into object-oriented systems. We also illustrate our aspect-oriented approach through the Portalware multi-agent system, a Web-based environment for the development of e-commerce portals. Copyright © 2004 John Wiley & Sons, Ltd.
This paper pushed the boundaries of aspect-oriented programming (AOP), by investigating it for the development of multiagent systems. It presented a first empirical quantitative study on AOP beyond the scope of conventional crosscutting concerns, such as persistence and distribution. The work is published in a respected journal, and has already 55 citations (GoogleSchoolar). It has also led to follow-on activities including co-chairing of workshops at ICSE, the leading conference in software engineering. RAE_import_type : Journal article RAE_uoa_type : Computer Science and Informatics