An Aspect-Based Approach for Developing Multi-Agent Object-Oriented Systems

  • Alessandro F. Garcia PUC-Rio
  • Viviane T. da Silva PUC-Rio
  • Carlos J. P. de Lucena PUC-Rio
  • Ruy L. Milidiú PUC-Rio

Resumo


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.

Referências

M. Aksit, L. Bergmans, and S. Vural. "An Object-Oriented Language-Database Integration Model: The Composition Filters Approach". Proceedings of ECOOP'92, Lecture Notes on Computer Science, vol. 615, 1992.

J. Bigus and J. Bigus. "Constructing Intelligent Agents with Java - A Programmers's Guide to Smarter Applications". Wiley, 1998.

G. Booch, and J. Rumbaugh. "Unified Modeling Language - User Guide". Addison-Wesley, 1999.

J. Bradshaw, S. Dutfield, P. Benoit, and J. Woolley. "KaoS: Toward an Industrial-Strength Generic Agent Architecture". In: J. M. Bradshaw (editor), Software Agents. Cambridge, MA: AAAI/MIT Press, 1996.

J. Bradshaw. "An Introduction to Software Agents". In: Software Agents, J. Bradshaw (editor), American Association for Artificial Intelligence/MIT Press, 1997.

D. Brugali and K. Sycara. "A Model for Reusable Agent Systems". In: Implementing Application Frameworks - Object-Oriented Frameworks at Work, M. Fayad et al. (editors), John Wiley & Sons, 1999.

A. Chavez, D. Dreilinger, R. Guttman, and P. Maes. "A Real-Life Experiment in Creating an Agent Marketplace". Proceedings of the 2nd Int. Conference on the Practical Application of Multi-Agent Technology (PAAM'97), London, UK, April 1997.

M. Elammari and W. Lalonde. "An Agent-Oriented Methodology: High-Level and Intermediate Models". Proceedings of AOIS 1999 (Agent-Oriented Information Systems), Heidelberg (Germany), June 1999.

M. Fayad et al. "Implementing Application Frameworks". First Edition, John Wiley & Sons, 1999.

C. von Flach, C. Lucena, M. Fontoura. "A Design Model for Aspect-Oriented Software Development". Technical Report, PUC-Rio, 2001.

A. Finkelstein, J. Kramer, B. Nuseibeh, L. Finkelstein, and M. Goedicke. "Viewpoints: a Framework for Integrating Multiple Perspectives in System Development". International Journal of Software and Knowledge Engineering, 2(1):31-37, 1992.

E. Gamma, R. Helm, R. Johnson, and J. Vlissides. "Design Patterns: Elements of Reusable Object-Oriented Software". Addison-Wesley, Reading, MA, 1995.

A. Garcia, C Lucena and Donald D. Cowan. "Agents in Object-Oriented Software Enginnering". Technical Report CS-2001-07, Computer Science Department, University of Waterloo, Waterloo, Canada, March 2001.

A. Garcia, M. Cortés, C. Lucena. "A Web Environment for the Development and Maintenance of E-Commerce Portals Based on Groupware Approach". Proceedings of the 2001 Information Resources Management Association International Conference (IRMA'2001), Toronto, May 2001.

J. Gosling, B. Joy, G. Steele."The Java Language Specification".Addison-Wesley, 1996.

W. Harrison and J. Ossher. "Subject-Oriented Programming: A Critique of Pure Objects". Proceedings of OOPSLA'93, ACM, pages 411-428, 1993.

C. Iglesias, M. Garrijo, and J. Gonzalez. "A Survey of Agent-Oriented Methodologies", Proceedings of the 5th International Workshop on Intelligent Agents: Agent Theories, Architectures, and Languages (ATAL-98), Paris, France, July 1998, pp. 317-330.

N. Jennings. "On Agent-Based Software Engineering". Artificial Intelligence 117(2000) 277-296, Elsevier.

N. Jennings and M. Wooldridge. "Agent-Oriented Software Engineering". In: J. Bradshaw (editor), Handbook of Agent Technology, AAAI/MIT Press, 2000.

E. Kendall."Agent Roles and Aspects". ECOOP Workshop on Aspect Oriented Programming, July, 1998.

E. Kendall, P. Krishna, C. Pathak and C. Suresh. "A Framework for Agent Systems". In: Implementing Application Frameworks - Object-Oriented Frameworks at Work, M. Fayad et al. (editors), John Wiley & Sons, 1999.

M. Kersten and G. Murphy. "Atlas: A Case Study in Building a Web-Based Learning Environment using Aspect-Oriented Programming". Proceedings of the OOPSLA'99, Denver, USA, ACM Press, pp. 340-352, 1999.

G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. Loingtier and J. Irwin. "Aspect-Oriented Programming". European Conference on Object-Oriented Programming (ECOOP'97), Finland. Springer-Verlag LNCS 1241. June 1997.

G. Kiczales et al. "An Overview of AspectJ". Submitted to ECOOP'2001, Budapest, Hungary, 2001.

B. Kristensen. "Roles: Conceptual Abstraction Theory and Practical Language Issues." Special Issue of Theory and Practice of Object Systems (TAPOS) on Subjectivity on Object-Oriented Systems, 1996.

D. Lange and M. Oshima. "Programming and Developing Java Mobile Agents with Aglets." Addison-Wesley, August 1998.

T. Lehman, S. McLaughry, and P. Wyckoff. "TSpaces: The Next Wave". Hawaii International Conference on System Sciences (HICSS-32), January 1999.

T. Nelson, D. Cowan, P. Alencar. "A Model for Describing Object-Oriented Systems from Multiple Perspectives". Lecture Notes on Computer Science, Springer-Verlag, (1783) 237-248, 2000.

H. Nwana. "Software Agents: An Overview". Knowledge Engineering Review, 11(3): 1-40, September 1996.

Object Management Group - Agent Platform Special Interest Group. "Agent Technology - Green Paper". Version 1.0, September 2000.

A. Oliva and L. Buzato. "The Design and Implementation of Guaraná". 5th USENIX Conference on Object-Oriented Technologies and Systems (COOTS '99), May 3-7, 1999, San Diego, CA, USA.

C. Petrie. "Agent-Based Software Engineering". Lecture Notes in IA, Springer-Verlag, 2000.

C. Petrie. "Agent-Based Engineering, the Web, and Intelligence". IEEE Expert, Special Issue on Intelligent Systems and their Applications, 11(6), December 1996:24-29.

P. Ripper, M. Fontoura, A. Neto, and C. Lucena. "V-Market: A Framework for e-Commerce Agent Systems." World Wide Web, Baltzer Science Publishers, 3(1), 2000.

Y. Shoham. "Agent-Oriented Programming". Artificial Intelligence, 60(1993): 24-29.

O. Silva, D. Orlean, F. Ferreira, C. Lucena. "A Shared-Memory Agent-Based Framework for Business-to-Business Applications". Proceedings of the 2001 Information Resources Management Association International Conference (IRMA'2001), Toronto, May 2001.

P. Tarr, H. Ossher, W. Harrison and S. Sutton. "N Degrees of Separation: Multi-Dimensional Separation of Concerns." Proceedings of 21st International Conference on Software Engineering (ICSE'99), May 1999.

TecComm Group. "Frameworks and New Technologies to E-Commerce". URL: http://www.teccomm.les.inf.puc-rio.br

M. Wooldridge, N. Jennings. "Agent Theories, Architectures, and Language: A Survey". In: M. Wooldridge & N. Jennings (editors), Intelligent Agents: ECAI-94 Workshop on Agent Theories, Architectures, Languages, Berlin, Spring-Verlag (pp. 1-39).
Publicado
03/10/2001
GARCIA, Alessandro F.; SILVA, Viviane T. da; LUCENA, Carlos J. P. de; MILIDIÚ, Ruy L.. An Aspect-Based Approach for Developing Multi-Agent Object-Oriented Systems. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 15. , 2001, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2001 . p. 177-192. DOI: https://doi.org/10.5753/sbes.2001.23988.