Notes on Pragmatic Agent-Programming with Jason

  • Radek Píbil
  • Peter Novák
  • Cyril Brom
  • Jakub Gemrot
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7217)


AgentSpeak(L), together with its implementation Jason, is one of the most influential agent-oriented programming languages. Besides having a strong conceptual influence on the niche of BDI-inspired agent programming systems, Jason also serves as one of the primary tools for education of and experimentation with agent-oriented programming. Despite its popularity in the community, relatively little is reported on its practical applications and pragmatic experiences with adoption of the language for non-trivial applications.

In this paper, we present our experiences gathered during an experiment aimed at development of a non-trivial case-study agent application by a novice Jason programmer. In our experiment, we tried to use the programming language as is, with as few customisations of the Jason interpreter as possible. Besides providing a structured feedback on the most problematic issues faced while learning to program in Jason, we informally propose a set of ideas for solving the encountered design problems and programming language issues.


Multiagent System Belief Base Path Planning Algorithm Agent Programming Language Formation Alignment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Multi-agent programming contest 2010 (2010),
  2. 2.
    Behrens, T.M., Dastani, M., Dix, J., Köster, M., Novák, P.: The multi-agent programming contest from 2005-2010 - from gold collecting to herding cows. Ann. Math. Artif. Intell. 59(3-4), 277–311 (2010)CrossRefGoogle Scholar
  3. 3.
    Behrens, T.M., Dix, J., Dastani, M., Köster, M., Novák, P.: MASSim: Technical Infrastructure for AgentContest Competition Series (2009),
  4. 4.
    Behrens, T.M., Dix, J., Dastani, M., Köster, M., Novák, P.: Multi-Agent Programming Contest (2009),
  5. 5.
    Bordini, R.H., Braubach, L., Dastani, M., El Fallah Seghrouchni, A., Gomez-Sanz, J.J., Leite, J., O’Hare, G., Pokahr, A., Ricci, A.: A survey of programming languages and platforms for multi-agent systems. Informatica 30, 33–44 (2006)zbMATHGoogle Scholar
  6. 6.
    Bordini, R.H., Dastani, M., Dix, J., El Fallah-Seghrouchni, A. (eds.): Multi-Agent Programming: Languages, Tools and Applications. Springer, Berlin (2009)zbMATHGoogle Scholar
  7. 7.
    Bordini, R.H., Dastani, M., Dix, J., El Fallah-Seghrouchni, A.: Multi-Agent Programming Languages, Platforms and Applications. Multiagent Systems, Artificial Societies, and Simulated Organizations, vol. 15. Kluwer Academic Publishers (2005)Google Scholar
  8. 8.
    Bordini, R.H., Hübner, J.F., Wooldridge, M.: Programming Multi-agent Systems in AgentSpeak Using Jason. Wiley Series in Agent Technology. Wiley-Blackwell (2007)Google Scholar
  9. 9.
    Bratman, M.E.: Intention, Plans, and Practical Reason. Cambridge University Press (March 1999)Google Scholar
  10. 10.
    Bryson, J.J.: Intelligence by design: Principles of Modularity and Coordination for Engineering Complex Adaptive Agent. PhD thesis (2001)Google Scholar
  11. 11.
    Forgy, C.: Rete: A fast algorithm for the many patterns/many objects match problem. Artif. Intell. 19(1), 17–37 (1982)CrossRefGoogle Scholar
  12. 12.
    Gemrot, J.: Joint behaviour for virtual humans. Master’s thesis, Faculty of Mathematics and Physics. Charles University, Prague (2009)Google Scholar
  13. 13.
    Gemrot, J., Brom, C., Plch, T.: A Periphery of Pogamut: From Bots to Agents and Back Again. In: Dignum, F. (ed.) Agents for Games and Simulations II. LNCS, vol. 6525, pp. 19–37. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Jason Developers. Jason, a Java-based interpreter for an extended version of AgentSpeak (2011),
  15. 15.
    Madden, N., Logan, B.: Modularity and Compositionality in Jason. In: Braubach, L., Briot, J.-P., Thangarajah, J. (eds.) ProMAS 2009. LNCS, vol. 5919, pp. 237–253. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  16. 16.
    Novák, P.: Jazzyk: A Programming Language for Hybrid Agents with Heterogeneous Knowledge Representations. In: Hindriks, K.V., Pokahr, A., Sardina, S. (eds.) ProMAS 2008. LNCS, vol. 5442, pp. 72–87. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  17. 17.
    Novák, P., Jamroga, W.: Code patterns for agent-oriented programming. In: Proceedings of the Eighth International Conference on Autonomous Agents and Multi-Agent Systems, AAMAS, IFAAMAS (2009)Google Scholar
  18. 18.
    Pokahr, A., Braubach, L., Lamersdorf, W.: Jadex: A BDI Reasoning Engine. In: [7]. Multiagent Systems, Artificial Societies, and Simulated Organizations, ch. 6, vol. 15, pp. 149–174 (2005)Google Scholar
  19. 19.
    Rao, A.S.: AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language. In: Van de Velde, W., Perram, J.W. (eds.) MAAMAW 1996. LNCS, vol. 1038, pp. 42–55. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  20. 20.
    Winikoff, M.: JACKTM Intelligent Agents: An Industrial Strength Platform. In: [7]. Multiagent Systems, Artificial Societies, and Simulated Organizations, ch. 15, vol. 15, pp. 175–193 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Radek Píbil
    • 1
    • 2
  • Peter Novák
    • 1
  • Cyril Brom
    • 2
  • Jakub Gemrot
    • 2
  1. 1.Agent Technology Center, Department of Computer Science and Engineering, Faculty of Electrical EngineeringCzech Technical University in PragueCzech Republic
  2. 2.Department of Software and Computer Science Education, Faculty of Mathematics and PhysicsCharles University in PragueCzech Republic

Personalised recommendations