Advertisement

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)

Abstract

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.

Keywords

Jason programming Concurrency 

Notes

Acknowledgments

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.

References

  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).  https://doi.org/10.1007/978-3-319-25524-8_22CrossRefGoogle 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).  https://doi.org/10.1007/978-3-642-38700-5_1CrossRefGoogle 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).  https://doi.org/10.1177/1748006X15614231CrossRefGoogle 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).  https://doi.org/10.1007/BFb0031845CrossRefGoogle 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).  https://doi.org/10.1007/s10458-008-9067-4CrossRefGoogle 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). http://dl.acm.org/citation.cfm?id=2343851
  9. 9.
    Thangarajah, J., Padgham, L.: Computationally effective reasoning about goal interactions. J. Autom. Reason. 47(1), 17–56 (2011).  https://doi.org/10.1007/s10817-010-9175-0MathSciNetCrossRefGoogle 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).  https://doi.org/10.1145/3001886.3001889

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