Pitfalls of Jason Concurrency

  • Álvaro Fernández Díaz
  • Clara Benac Earle
  • Lars-Åke FredlundEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11375)


Jason is a well-known programming language for multiagent systems where fine-grained concurrency primitives allow a highly-concurrent efficient execution. However, typical concurrency errors such as race conditions are hard to avoid. In this chapter, we analyze a number of such potential pitfalls of the Jason concurrency model, and, describe both how such risks can be mitigated in Jason itself, as well as discussing the alternatives implemented in eJason, an experimental extension of Jason with support for distribution and fault tolerance. In some cases, we propose changes in the standard Jason semantics.


Jason programming Concurrency 



This work has been partially funded by the Spanish MINECO project TIN2012-39391-C04-02 STRONGSOFT, and the Madrid Regional Government grant S2013/ICE-2731 N-GREENS. The authors would also like to thank Rafael H. Bordini for his useful comments.


  1. 1.
    Bordini, R.H., Wooldridge, M., Hübner, J.F.: Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley Series in Agent Technology. Wiley, Chichester (2007)CrossRefGoogle Scholar
  2. 2.
    Collier, R.W., Russell, S., Lillis, D.: Reflecting on agent programming with AgentSpeak (L). In: Chen, Q., Torroni, P., Villata, S., Hsu, J., Omicini, A. (eds.) PRIMA 2015. LNCS (LNAI), vol. 9387, pp. 351–366. Springer, Cham (2015). Scholar
  3. 3.
    Díaz, Á.F., Earle, C.B., Fredlund, L.Å.: eJason: an implementation of Jason in Erlang. In: Dastani, M., Hübner, J.F., Logan, B. (eds.) ProMAS 2012. LNCS (LNAI), vol. 7837, pp. 1–16. Springer, Heidelberg (2013). Scholar
  4. 4.
    Díaz, A.F.: eJason: a framework for distributed and fault-tolerant multi-agent systems. Ph.D. thesis, Universidad Politécnica de Madrid (2018)Google Scholar
  5. 5.
    Fredlund, L.Å., Mariño, J., Alborodo, R.N., Herranz, Á.: A testing-based approach to ensure the safety of shared resource concurrent systems. Proc. Inst. Mech. Eng. Part O: J. Risk Reliab. 230(5), 457–472 (2016). Scholar
  6. 6.
    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). Scholar
  7. 7.
    van Riemsdijk, M.B., Dastani, M., Meyer, J.C.: Goals in conflict: semantic foundations of goals in agent programming. Auton. Agents Multi-Agent Syst. 18(3), 471–500 (2009). Scholar
  8. 8.
    Shapiro, S., Sardiña, S., Thangarajah, J., Cavedon, L., Padgham, L.: Revising conflicting intention sets in BDI agents. In: van der Hoek, W., Padgham, L., Conitzer, V., Winikoff, M. (eds.) International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2012, Valencia, Spain, 4–8 June 2012, vol. 3, pp. 1081–1088. IFAAMAS (2012).
  9. 9.
    Thangarajah, J., Padgham, L.: Computationally effective reasoning about goal interactions. J. Autom. Reason. 47(1), 17–56 (2011). Scholar
  10. 10.
    Zatelli, M.R., Hübner, J.F., Ricci, A., Bordini, R.H.: Conflicting goals in agent-oriented programming. In: Proceedings of the 6th International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE 2016, pp. 21–30. ACM, New York, NY, USA (2016).

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Álvaro Fernández Díaz
    • 1
  • Clara Benac Earle
    • 1
  • Lars-Åke Fredlund
    • 1
    Email author
  1. 1.Grupo Babel, DLSIIS, ETSIINFUniversidad Politécnica de MadridMadridSpain

Personalised recommendations