An Aspect-Oriented Modeling Framework for Multi-Agent Systems Design

A number of concerns in multi-agent system (MAS)design have a crosscutting impact on agent-oriented models. These concerns inherently affect several system agents and their internal modeling elements, such as actions and goals. Examples of crosscutting concerns in MAS design encompass both internal and systemic properties, such as learning, mobility, error handling, and security. Without an explicit modeling of such MAS properties, designers can not properly communicate and reason about them and their broadly-scoped effects. This paper pre sents a meta-modeling framework for supporting the modular representation of crosscutting concerns in agent-oriented design. The framework is centered on the notion of aspects to describe these concerns. It also defines new composition op-erators to enable the specification on how aspects affect the agent goals and ac-tions. The proposed framework is a result of our previous experience in both using aspect-oriented techniques for MAS design and implementation, and integrating aspect-oriented abstractions in an agent-oriented modeling language, called ANote.

[1]  Kris Gybels,et al.  Seamless integration of rule-based knowledge and object-oriented functionality with linguistic symbiosis , 2004, SAC '04.

[2]  Carlos José Pereira de Lucena,et al.  Separation of Concerns in Multi-agent Systems: An Empirical Study , 2003, SELMAS.

[3]  Franco Zambonelli,et al.  Agent-Oriented Software Engineering VI, 6th International Workshop, AOSE 2005, Utrecht, The Netherlands, July 25, 2005. Revised and Invited Papers , 2006, AOSE.

[4]  Carlos José Pereira de Lucena,et al.  Aspects in Agent-Oriented Software Engineering: Lessons Learned , 2005, AOSE.

[5]  Carlos José Pereira de Lucena,et al.  Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming , 2006, ICSR.

[6]  Carlos José Pereira de Lucena,et al.  A modular implementation framework for code mobility , 2006, Mobility '06.

[7]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.

[8]  Carlos José Pereira de Lucena,et al.  Quantifying the Effects of Aspect-Oriented Programming: A Maintenance Study , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[9]  Franco Zambonelli,et al.  Software Engineering for Large-Scale Multi-Agent Systems , 2003, Lecture Notes in Computer Science.

[10]  Maurizio Morisio,et al.  Reuse of Off-the-Shelf Components, 9th International Conference on Software Reuse, ICSR 2006, Turin, Italy, June 12-15, 2006, Proceedings , 2006, ICSR.

[11]  Cecília M. F. Rubira,et al.  Exceptions and aspects: the devil is in the details , 2006, SIGSOFT '06/FSE-14.

[12]  Franco Zambonelli,et al.  Developing multiagent systems: The Gaia methodology , 2003, TSEM.

[13]  Alessandro F. Garcia,et al.  Enhancing agent-oriented models with aspects , 2006, AAMAS '06.

[14]  Carlos José Pereira de Lucena,et al.  Composing design patterns: a scalability study of aspect-oriented programming , 2006, AOSD '06.

[15]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[16]  Carlos José Pereira de Lucena,et al.  Modularizing design patterns with aspects: a quantitative study , 2005, AOSD '05.

[17]  Franco Zambonelli,et al.  Agent Design from the Autonomy Perspective , 2003, Agents and Computational Autonomy.

[18]  Paulo S. C. Alencar,et al.  Software Engineering for Multi-Agent Systems II , 2004 .

[19]  Donald D. Cowan,et al.  An interactive method for extracting grammar from programs , 2004 .

[20]  Carlos José Pereira de Lucena,et al.  From a Conceptual Framework for Agents and Objects to a Multi-Agent System Modeling Language , 2004, Autonomous Agents and Multi-Agent Systems.

[21]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[22]  Michael Winikoff,et al.  Hermes: Designing Goal-Oriented Agent Interactions , 2005, AOSE.

[23]  Bernhard Bauer,et al.  Extending UML for agents , 2000 .

[24]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[25]  Mehmet Aksit,et al.  Transactions on Aspect-Oriented Software Development IV , 2007, Trans. Aspect-Oriented Software Development IV.

[26]  Satoshi Matsuoka,et al.  Metalevel Architectures and Separation of Crosscutting Concerns , 2001, Lecture Notes in Computer Science.

[27]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[28]  Naoyasu Ubayashi,et al.  Separation of Concerns in Mobile Agent Applications , 2001, Reflection.

[29]  Carlos José Pereira de Lucena,et al.  Aspectizing Multi-agent Systems: From Architecture to Implementation , 2004, SELMAS.

[30]  Carlos José Pereira de Lucena,et al.  Modeling Multi-agent systems with ANote , 2004, Software & Systems Modeling.

[31]  Munindar P. Singh,et al.  Incorporating Commitment Protocols into Tropos , 2005, AOSE.

[32]  Carlos José Pereira de Lucena,et al.  Taming Heterogeneous Agent Architectures with Aspects , 2006 .

[33]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[34]  Franco Zambonelli,et al.  Methodologies and software engineering for agent systems : the agent-oriented software engineering handbook , 2004 .

[35]  Marcelo R. Campo,et al.  Assisting the Development of Aspect-Based Multi-agent Systems Using the Smartweaver Approach , 2002, SELMAS.

[36]  Michael Rovatsos,et al.  Capturing agent autonomy in roles and XML , 2003, AAMAS '03.

[37]  G. Kiczales,et al.  Aspect-oriented programming and modular reasoning , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[38]  Shou-De Lin,et al.  A trading agent competition , 2000 .

[39]  Haralambos Mouratidis,et al.  A secure architectural description language for agent systems , 2005, AAMAS '05.

[40]  Michael Rovatsos,et al.  Agents and Computational Autonomy , 2003, Lecture Notes in Computer Science.