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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
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_22
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_1
Díaz, A.F.: eJason: a framework for distributed and fault-tolerant multi-agent systems. Ph.D. thesis, Universidad Politécnica de Madrid (2018)
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/1748006X15614231
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/BFb0031845
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-4
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
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-0
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
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.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Fernández Díaz, Á., Benac Earle, C., Fredlund, LÅ. (2019). Pitfalls of Jason Concurrency. In: Weyns, D., Mascardi, V., Ricci, A. (eds) Engineering Multi-Agent Systems. EMAS 2018. Lecture Notes in Computer Science(), vol 11375. Springer, Cham. https://doi.org/10.1007/978-3-030-25693-7_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-25693-7_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-25692-0
Online ISBN: 978-3-030-25693-7
eBook Packages: Computer ScienceComputer Science (R0)