Skip to main content
Log in

Organization-based agent-oriented programming: model, mechanisms, and language

  • Research Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Northrop L. Ultra-large-scale systems: the software challenge of the future. Technical Report, Software Engineering Institute, Carnegie Mellon, 2006

    Google Scholar 

  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

    Google Scholar 

  3. Jennings N. On agent-based software engineering. Artificial Intelligence, 2000, 117(2): 277–296

    Article  MATH  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

    Article  Google Scholar 

  5. Shoham Y. Agent-oriented programming. Artificial Intelligence, 1993, 60(1): 51–92

    Article  MathSciNet  Google Scholar 

  6. Bordini R, Dastani M, Dix J, Fallah-Seghrouchni A. Multi-agent programming: languages, platforms and applications. Vol. I, Heidelberg: Springer, 2005

    Book  Google Scholar 

  7. Bordini R, Dastani M, Dix J, Fallah-Seghrouchni A. Multi-agent programming: languages, platforms and applications. Vol. II, Heidelberg: Springer, 2009

    Google Scholar 

  8. Zambonelli F, Omicini A. Challenges and research directions in agent-oriented software engineering. Autonomous Agents and Multi-Agent Systems, 2004, 9(3): 253–283

    Article  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

    Chapter  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

    Google Scholar 

  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

    Google Scholar 

  12. Tinnemeier N. Organizing agent organizations: syntax and operational semantics of an organization-oriented programming language. SIKS Dissertation Series 2011(2), Utrecht University, 2011

    Google Scholar 

  13. Jennings N. An agent-based approach for building complex software systems. Communications of ACM, 2001, 44(4): 35–41

    Article  Google Scholar 

  14. Yunus E, Nadia E. Role models — implementation-based approaches to using roles. Software-Practice and Experience, 2011, 41: 1–22

    Article  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

    Google Scholar 

  16. Martin O, Lex S, Bill V. Programming in scala: a comprehensive step-by-step guide. Artima Inc, 2008

    Google Scholar 

  17. Plotkin G. A structural approach to operational semantics. Technical Report DAIMI FN-19, University of Aarhus, 1981

    Google Scholar 

  18. JavaCC Home [EB/OL]. http://javacc.java.net

  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

    Google Scholar 

  20. 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

    Google Scholar 

  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

    Article  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

    Google Scholar 

  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

    Google Scholar 

  24. Dastani M. 2APL: a practical agent programming language. International Journal of Autonomous Agents and Multi-Agent Systems, 2008, 16(3): 214–248

    Article  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

    Google Scholar 

  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, doi:10.1016/j.scico.2011.10.004

    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

    Book  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

    Google Scholar 

  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

    Google Scholar 

  30. Ghidini C, Hirsh B, Fisher M. Programming group computations. In: Proceedings of the 1st European Workshop on Multi-Agent Systems. 2003

    Google Scholar 

  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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cuiyun Hu.

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

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-013-2345-6

Keywords

Navigation