Programming Dynamic and Open Multi-Agent Systems with Organization Metaphor

Operating in highly dynamic and unpredictable environments with partial requirements, modern software systems are characterized by context-awareness, flexible organization and dynamic interactions. The increasing complexity desires natural high-level abstractions and effective programming mechanisms to facilitate the development and maintenance of such systems. However, the abstraction, composition and interaction mechanisms in current programming approaches do not directly support those characteristics. This paper proposes an organization-based agent-oriented programming (OrgAOP) approach that treats organizations, roles and groups explicitly, and provides mechanisms to support context-awareness, flexible organization and dynamic interactions. This paper describes the philosophy of OrgAOP, designs a programming language OragentL with explicit language facilities supporting OrgAOP and illustrates how to program and implement MAS with OragentL by a case study.

[1]  Oscar Nierstrasz,et al.  Context-oriented Programming , 2008, J. Object Technol..

[2]  Michael Winikoff,et al.  Current Issues in Multi-Agent Systems Development , 2006, ESAW.

[3]  Stéphane Ducasse,et al.  A Group Based Approach for Coordinating Active Objects , 1999, COORDINATION.

[4]  Franco Zambonelli,et al.  Towards a paradigm change in computer science and software engineering: a synthesis , 2003, The Knowledge Engineering Review.

[5]  Stéphane Galland,et al.  An Organisational Platform for Holonic and Multiagent Systems , 2009, ProMAS.

[6]  Marc Esteva,et al.  AMELI: an agent-based middleware for electronic institutions , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[7]  Jun Hu,et al.  Multi-agent Oriented Policy-based Management System for Virtual Enterprise , 2012, J. Softw..

[8]  Wouter Joosen,et al.  The MACODO middleware for context-driven dynamic agent organizations , 2010, TAAS.

[9]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[10]  Hong Mei,et al.  Automated assembly of Internet-scale software systems involving autonomous agents , 2010, J. Syst. Softw..

[11]  Theo D'Hondt,et al.  Ambient-oriented programming , 2005, OOPSLA '05.

[12]  Alessandro Ricci,et al.  Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project , 2011, SPLASH Workshops.

[13]  Guido Boella,et al.  Interaction between Objects in powerJava , 2007, J. Object Technol..

[14]  Yixin Zhao,et al.  RPPA: A Remote Parallel Program Performance Analysis Tool , 2011, J. Softw..

[15]  Manfred Broy The 'Grand Challenge' in Informatics: Engineering Software-Intensive Systems , 2006, Computer.

[16]  Nick A. M. Tinnemeier Organizing agent organizations : syntax and operational semantics of an organization-oriented programming language , 2011 .

[17]  T. Tamai,et al.  An adaptive object model with dynamic role binding , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[18]  Mehdi Dastani,et al.  Roles and norms for programming agent organizations , 2009, AAMAS.

[19]  Frank Dignum,et al.  Enacting and Deacting Roles in Agent Programming , 2004, AOSE.

[20]  Yin Chen,et al.  OrgMAP: an organization-based approach for multi-agent programming , 2012, AAMAS.

[21]  Guido Boella,et al.  How to Program Organizations and Roles in the JADE Framework , 2008, MATES.

[22]  Prof. Dr. Robert F. Stärk,et al.  Java and the Java Virtual Machine , 2001, Springer Berlin Heidelberg.

[23]  Nicholas R. Jennings,et al.  On agent-based software engineering , 2000, Artif. Intell..

[24]  Olivier Boissier,et al.  Organization Oriented Programming: From Closed to Open Organizations , 2006, ESAW.