Skip to main content

Extending Jason with Promises for Concurrent Computation

  • Conference paper
Intelligent Distributed Computing VI

Part of the book series: Studies in Computational Intelligence ((SCI,volume 446))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  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 

  4. Clark, K.L., McCabe, F.G.: Go! - a multi-paradigm programming language for implementing multi-threaded agents. Annals of Mathematics and Artificial Intelligence 41(2-4), 171–206 (2004)

    Article  MATH  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 

  6. Johnsson, T.: Lambda lifting: transforming programs to recursive equations. In: Proc. of a Conference on Functional Programming Languages and Computer Architecture, pp. 190–203. Springer-Verlag New York, Inc., New York (1985)

    Chapter  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) AA13245526

    Google Scholar 

  8. Miller, M.S., Tribble, E.D., Shapiro, J.S.: Concurrency Among Strangers: Programming in E as Plan Coordination. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 195–229. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  9. Miller, M.S., Yee, K.P., Shapiro, J.: Capability Myths Demolished. Tech. rep., Systems Research Laboratory, Johns Hopkins University (2003)

    Google Scholar 

  10. Minotti, M., Piancastelli, G., Ricci, A.: Agent-Oriented Programming for Client-Side Concurrent Web 2.0 Applications. In: Cordeiro, J., Filipe, J. (eds.) WEBIST 2009. LNBIP, vol. 45, pp. 17–29. Springer, Heidelberg (2010)

    Chapter  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.2095078

    Google Scholar 

  12. Santi, A., Guidi, M., Ricci, A.: JaCa-Android: An Agent-Based Platform for Building Smart Mobile Applications. In: Dastani, M., El Fallah Seghrouchni, A., Hübner, J., Leite, J. (eds.) LADS 2010. LNCS, vol. 6822, pp. 95–114. Springer, Heidelberg (2011)

    Chapter  Google 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 

  14. Shavit, N., Touitou, D.: Software transactional memory. Distributed Computing 10(2), 99–116 (1997)

    Article  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 

  16. Syme, D., Petricek, T., Lomov, D.: The F# Asynchronous Programming Model. In: Rocha, R., Launchbury, J. (eds.) PADL 2011. LNCS, vol. 6539, pp. 175–189. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alex Muscar .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Muscar, A. (2013). Extending Jason with Promises for Concurrent Computation. In: Fortino, G., Badica, C., Malgeri, M., Unland, R. (eds) Intelligent Distributed Computing VI. Studies in Computational Intelligence, vol 446. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32524-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-32524-3_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-32523-6

  • Online ISBN: 978-3-642-32524-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics