Abstract
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.
Similar content being viewed by others
References
Northrop L. Ultra-large-scale systems: the software challenge of the future. Technical Report, Software Engineering Institute, Carnegie Mellon, 2006
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
Jennings N. On agent-based software engineering. Artificial Intelligence, 2000, 117(2): 277–296
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
Shoham Y. Agent-oriented programming. Artificial Intelligence, 1993, 60(1): 51–92
Bordini R, Dastani M, Dix J, Fallah-Seghrouchni A. Multi-agent programming: languages, platforms and applications. Vol. I, Heidelberg: Springer, 2005
Bordini R, Dastani M, Dix J, Fallah-Seghrouchni A. Multi-agent programming: languages, platforms and applications. Vol. II, Heidelberg: Springer, 2009
Zambonelli F, Omicini A. Challenges and research directions in agent-oriented software engineering. Autonomous Agents and Multi-Agent Systems, 2004, 9(3): 253–283
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
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
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
Tinnemeier N. Organizing agent organizations: syntax and operational semantics of an organization-oriented programming language. SIKS Dissertation Series 2011(2), Utrecht University, 2011
Jennings N. An agent-based approach for building complex software systems. Communications of ACM, 2001, 44(4): 35–41
Yunus E, Nadia E. Role models — implementation-based approaches to using roles. Software-Practice and Experience, 2011, 41: 1–22
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
Martin O, Lex S, Bill V. Programming in scala: a comprehensive step-by-step guide. Artima Inc, 2008
Plotkin G. A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus, 1981
JavaCC Home [EB/OL]. http://javacc.java.net
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
Esteva M, Rodriguez-Aguilar J, Rosel B, Joseph L. AMELI: an agent-based middleware for electronic institutions. In: Proceedings of the 3rd International Joint Conference on Autonomous Agents and Multi-Agent Systems. 2004, 236–243
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
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
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
Dastani M. 2APL: a practical agent programming language. International Journal of Autonomous Agents and Multi-Agent Systems, 2008, 16(3): 214–248
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
Boissier O, Bordini R H, Hübner J F, Ricci A, Santi A. Multi-agent oriented programming with JaCaMo. Science of Computer Programming, 2011, doi:10.1016/j.scico.2011.10.004
Bordini R, Wooldridge M, Höbner J. Programming multi-agent systems in AgentSpeak using Jason (Wiley Series in Agent Technology). John Wiley & Sons, 2007
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
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
Ghidini C, Hirsh B, Fisher M. Programming group computations. In: Proceedings of the 1st European Workshop on Multi-Agent Systems. 2003
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Cuiyun Hu received her BS in Computer Science and Technology from Central South University, Changsha, China, 2006, and her MS and PhD in Computer Science and Technology from National University of Defense Technology, Changsha, China, 2008 and 2013, repectively. She now is a teacher in Information Science and Technology Institute, China and her major researching field is agent-oriented software engineering, information security, and virtualization.
Xinjun Mao received the BS in Computer Science and Technology from College of Information Engineering, Zhenzhou, China, 1992, the MS and PhD in Computer Science and Technology from National University of Defense Technology, Changsha, China in 1995 and 1998 respectively. His current main research interests include software engineering, agent theory and technology, and self-adaptive and self-organizing systems. Prof. Mao is the membership of IEEE and ACM, editor board member of several international journals and PC member of more than 20 international conferences/ workshops. He has published two books and 100 papers in his interesting research area.
Mengjun Li received his BS, MS and PhD in System Engineering and Applied Mathematics in 1998, in Multimedia and Virtual Reality in 2001 and in Computer Science and Technology in 2005 from National University of Defense Technology, Changsha, China, respectively. His major researching fields are formal method and technology, information security technology.
Zhi Zhu received his BS from Guilin Air Force Academy, Guiling, China, 2006, and his MS and PhD from National University of Defense Technology, Changsha, China, 2008 and 2013, repectively. He now is a teacher in Information Science and Technology Institute, China and his major researching field is agent technology, modeling and simulation of information spread.
Rights and permissions
About this article
Cite this article
Hu, C., Mao, X., Li, M. et al. Organization-based agent-oriented programming: model, mechanisms, and language. Front. Comput. Sci. 8, 33–51 (2014). https://doi.org/10.1007/s11704-013-2345-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11704-013-2345-6