An Aspect-Based Approach for Developing Multi-Agent Object-Oriented Systems - Garcia, Alessandro F.; Silva, Viviane T. da; Lucena, Carlos J. P. de; Milidiú, Ruy L. (Anais do Simpósio Brasileiro de Engenharia de Software (SBES); 2001: Anais do XV Simpósio Brasileiro de Engenharia de Software, 2001)
Agent technology has been revisited as a complementary approach to the object paradigm in order to design and implement complex distributed software. Objects and agents have many similarities, but agents are also driven by beliefs, goals, capabilities, plans, and a number of agency properties such as autonomy, adaptation, interaction, learning and mobility. Moreover, cooperating software agents must incorporate different collaborative capabilities in order to work together in heterogeneous contexts. In practice, a complex application is composed of objects and multiple types of agents, each of them having distinct agency properties and capabilities. An additional difficulty is that these capabilities and properties typically overlap and interact with each other, and a disciplined scheme to composition is required. This paper discusses software engineering approaches for multi-agent systems, and presents a new approach for building multi-agent object-oriented software from early stage of design. This approach (i) describes structured integration of agents into the object model, (ii) incorporates flexible facilities to build different types of software agents, (iii) encourages the separate handling of each property and capability of an agent, (iv) provides explicit support for disciplined and transparent composition of agency properties and capabilities in complex software agents, and (v) allows the production of agent-based software so that it is easy to understand, maintain and reuse. The proposed approach explores the benefits of aspect-based design and programming for the incorporation of agents in object-oriented systems. We also demonstrate our multi-agent approach through the Portalware system, a web-based environment for the development of e-commerce portals.