Organization-based agent-oriented programming: model, mechanisms, and language
Cuiyun HU, Xinjun MAO, Mengjun LI, Zhi ZHU
Organization-based agent-oriented programming: model, mechanisms, and language
An increasing number of social computational systems consist of a great amount of autonomous entities and operate in highly dynamic and unpredictable environments. To construct such systems needs to seek high-level abstraction to manage the complexity of the systems and novel mechanism to support their characteristics, i.e., dynamism and flexibility. Agent-oriented programming (AOP) is considered as a potential paradigm for developing such systems by exhibiting a number of characteristics, such as autonomy, flexibility, social ability, etc. However, current researches on AOP mainly focus on the construction of multi-agent system (MAS) with theory and language facilities inspired from artificial intelligence (AI) and distributed AI, seldom considering and integrating the proven principles and practices of programming and software engineering. Moreover, abstractions and mechanism based on AI are inadequate for developing dynamic and flexible MAS in open environment. This paper proposes a novel AOP approach, namely Oragent, for constructing and implementing dynamic and flexible systems. From a software engineering perspective, Oragent integrates organizational concepts and mechanism into AOP language, and support the dynamism and flexibility with explicit primitives. The proposed approach consists of a programming model and a corresponding programming language. This paper presents the syntax and formal operational semantics of Oragent language, and studies a case to demonstrate our approach.
agent / agent-oriented programming / organization-based programming / role enactment / role-based interactions / organization abstraction
[1] |
Northrop L. Ultra-large-scale systems: the software challenge of the future. Technical Report, Software Engineering Institute, Carnegie Mellon, 2006
|
[2] |
Matthias W, Daniel M, Michael K. From multi-agent to multiorganization systems: utilizing middleware approaches. In: Proceedings of the 6th Annual International Workshop on Engineering Societies in the Agents World. 2008, 46−65
|
[3] |
Jennings N. On agent-based software engineering. Artificial Intelligence, 2000, 117(2): 277−296
CrossRef
Google scholar
|
[4] |
Zambonelli F, Parunak H V D. Towards a paradigm change in computer science and software engineering: a synthesis. The Knowledge Engineering Review, 2003, 18(4): 329−342
CrossRef
Google scholar
|
[5] |
Shoham Y. Agent-oriented programming. Artificial Intelligence, 1993, 60(1): 51−92
CrossRef
Google scholar
|
[6] |
Bordini R, Dastani M, Dix J, Fallah-Seghrouchni A. Multi-agent programming: languages, platforms and applications. Vol. I, Heidelberg: Springer, 2005
CrossRef
Google scholar
|
[7] |
Bordini R, Dastani M, Dix J, Fallah-Seghrouchni A. Multi-agent programming: languages, platforms and applications. Vol. II, Heidelberg: Springer, 2009
|
[8] |
Zambonelli F, Omicini A. Challenges and research directions in agentoriented software engineering. Autonomous Agents and Multi-Agent Systems, 2004, 9(3): 253−283
CrossRef
Google scholar
|
[9] |
Dignum V. The role of organization in agent systems. In: Dignum V, ed. Handbook of research on multi-agent systems: semantics and dynamics of organizational models. IGI Global, 2009, 1−16
CrossRef
Google scholar
|
[10] |
Rafael H, Mehdi D, Michael W. Current issues in multi-agent systems development. In: Proceedings of the 7th Annual International Workshop on Engineering Societies in the Agents World. 2007, 38−61
|
[11] |
Alessandro R, Andrea S. Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project. In: Proceedings of SPLASH’11 Workshops, Portland, Oregon, USA. 2011
|
[12] |
Tinnemeier N. Organizing agent organizations: syntax and operational semantics of an organization-oriented programming language. SIKS Dissertation Series 2011(2), Utrecht University, 2011
|
[13] |
Jennings N. An agent-based approach for building complex software systems. Communications of ACM, 2001, 44(4): 35−41
CrossRef
Google scholar
|
[14] |
Yunus E, Nadia E. Role models – implementation-based approaches to using roles. Software–Practice and Experience, 2011, 41: 1−22
CrossRef
Google scholar
|
[15] |
Dastani M, Riemsdijk M, Hulstijn J, Dignum F, Meyer J. Enacting and deacting roles in agent programming. In: Proceedings of International Workshop on Agent-Oriented Software Engineering. 2005, 189−204
|
[16] |
Martin O, Lex S, Bill V. Programming in scala: a comprehensive stepby-step guide. Artima Inc, 2008
|
[17] |
Plotkin G. A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus, 1981
|
[18] |
JavaCC Home [EB/OL].
|
[19] |
Ferber J, Gutknecht O, Michel F. From agents to organizations: an organizational view of multi-agent systems. In: Proceedings of the 6th International Workshop on Agent-Oriented Software Engineering. 2004, 214−230
|
[20] |
Esteva M, Rodriguez-Aguilar J, Rosel B, Joseph L. AMELI: an agentbased middleware for electronic institutions. In: Proceedings of the 3rd International Joint Conference on Autonomous Agents and Multi-Agent Systems. 2004, 236−243
|
[21] |
Weyns D, Heasevoets R, Helleboogh A, Holvoet T, Joosen W. MACODO: middleware architecture for context-driven dynamic agent organizations. ACM Transactions on Autonomous and Adaptive Systems, 2009, 5(1): 1−25
CrossRef
Google scholar
|
[22] |
Alessa G, Galland S, Hilaire V, Koukam A. An organisational platform for holonic and multiagent systems. In: Proceedings of the 6th International Workshop on Programming of Multi-Agent System. 2008, 111−126
|
[23] |
Matteo B, Guido B, Valerio G, Roberto G, van der Leendert T. How to program organizations and roles in the JADE framework. In: Proceedings of the 6th German Conference on Multiagent System Technologies. 2008, 25−36
|
[24] |
Dastani M. 2APL: a practical agent programming language. International Journal of Autonomous Agents and Multi-Agent Systems, 2008, 16(3): 214−248
CrossRef
Google scholar
|
[25] |
van Birna M R, Koen H, Catholijn J. Programming organization-aware agents. In: Proceedings of the 9th Annual International Workshop on Engineering Societies in the Agents World. 2009, 98−112
|
[26] |
Boissier O, Bordini R H, Hübner J F, Ricci A, Santi A. Multi-agent oriented programming with JaCaMo. Science of Computer Programming, 2011,
CrossRef
Google scholar
|
[27] |
Bordini R, Wooldridge M, Höbner J. Programming multi-agent systems in AgentSpeak using Jason (Wiley Series in Agent Technology). John Wiley & Sons, 2007
CrossRef
Google scholar
|
[28] |
Nick T, Mehdi D, John-Jules M. Roles and norms for programming agent organization. In: Proceedings of the 8th International Joint Conference on Autonomous Agents and Multi-Agent Systems. 2009, 121−128
|
[29] |
Boissier O, Höbner J, Sichman J. Organization oriented programming: from closed to open organizations. In: Proceedings of the 5th Annual International Workshop on Engineering Societies in the Agents World. 2007, 86−105
|
[30] |
Ghidini C, Hirsh B, Fisher M. Programming group computations. In: Proceedings of the 1st European Workshop on Multi-Agent Systems. 2003
|
[31] |
Chan Y, Mao X J, Hu C Y, Zhou H P, Zhao J M. Oragentburg: a platform supporting organisation-based programming. In: Proceedings of 2012 IEEE/WIC/ACM International Joint Conference on Web Intelligence and Intelligent Agent Technology. 2012, 2: 366−373
CrossRef
Google scholar
|
/
〈 | 〉 |