Extending Jason with Promises for Concurrent Computation
- 715 Downloads
Even though the agent-oriented paradigm (AOP) has lost some of its charm in the past couple of years, the agent community is still active and a large variety of real world applications have been developed lately. Ranging from web applications to mobile applications, the paradigm has shown it is a viable choice. From an overview of these applications Jason seems to be the most widely used AOP language. But, while the core foundation of Jason, the Belief-Desire-Intention (BDI) theory, has gotten a lot of attention over the years, the language is still lacking with respect to some practical aspects such as concurrent programming. In this paper we propose an extension to Jason that makes concurrent programming easier with the aid of promises. This extension makes it possible to express concurrent flows in a more natural way. We first present a non-intrusive extension that enables this style of programming and motivate its usefulness. Then we propose a language extension that avoids the inversion of control problem inherent when using promises. We also take into account some of the drawbacks of our proposed approach and investigate some possible solutions.
Keywordsagent-oriented programming concurrent programming asynchronous programming promises
Unable to display preview. Download preview PDF.
- 1.Aspinall, D., Stark, I.: Futures and promises in alice ml (2008), http://www.inf.ed.ac.uk/teaching/courses/apl/2010-2011/examples/aliceml.pdf
- 2.Bordini, R.H., Hubner, J.F., Vieira, R.: Jason and the golden fleece of agent-oriented programming. In: Bordini, R.H., Dastani, M., Dix, J., Fallah-Seghrouchni, A.E. (eds.) Multi-Agent Programming, Multiagent Systems, Artificial Societies, and Simulated Organizations, vol. 15, pp. 3–37. Springer (2005)Google Scholar
- 3.Bordini, R.H., Wooldridge, M., Hubner, J.F.: Programming Multi-Agent Systems in AgentSpeak using Jason. Wiley Series in Agent Technology. John Wiley & Sons (2007)Google Scholar
- 5.Friedman, D., Wise, D.: The Impact of Applicative Programming on Multiprocessing. Technical report (Indiana University, Bloomington. Computer Science Dept.). Indiana University, Computer Science Department (1976)Google Scholar
- 7.Miller, M.S.: Robust composition: towards a unified approach to access control and concurrency control. Ph.D. thesis, Baltimore, MD, USA (2006) AA13245526Google Scholar
- 9.Miller, M.S., Yee, K.P., Shapiro, J.: Capability Myths Demolished. Tech. rep., Systems Research Laboratory, Johns Hopkins University (2003)Google Scholar
- 11.Ricci, A., Santi, A.: Designing a general-purpose programming language based on agent-oriented abstractions: the simpal project. In: Proceedings of the Compilation of the Co-located Workshops on DSM 2011, TMC 2011, AGERE! 2011, AOOPES 2011, NEAT 2011, VMIL 2011, SPLASH 2011 Workshops, vol. 38, pp. 159–170. ACM, New York (2011), doi:10.1145/2095050.2095078Google Scholar
- 13.International Organization of Securities Commissions, T.C.: Regulatory issues raised by the impact of technological changes on market integrity and efficiency. Tech. rep., International Organization of Securities Commissions (2011)Google Scholar
- 15.Sussman, G.J., Steele Jr., G.L.: Scheme: an interpreter for extended lambda calculus. MIT AI Memo, vol. 349. Massachusetts Institute of Technology, Cambridge (1975)Google Scholar