skip to main content
10.1145/2414639.2414650acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Programming abstractions for integrating autonomous and reactive behaviors: an agent-oriented approach

Published:21 October 2012Publication History

ABSTRACT

The integration of autonomous and reactive behavior is a relevant problem in the context of concurrent programming, related to the integration of thread-based and event-driven programming. From a programming paradigm perspective, the problem can not be easily solved by approaches based on object-oriented concurrent programming or by the actor model, being them natively based on the reactivity principle only. In this paper we tackle the problem with agent-oriented programming, using an agent-oriented programming language called simpAL.

Skip Supplemental Material Section

Supplemental Material

References

  1. A. Adya, J. Howell, M. Theimer, W. J. Bolosky, and J. R. Douceur. Cooperative task management without manual stack management. In Proc. of ATEC'02, pages 289--302, Berkeley, CA, USA, 2002. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge, MA, USA, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. Agha. Concurrent object-oriented programming. Commun. ACM, 33 (9): 125--141, Sept. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Agha and C. Hewitt. Concurrent programming using actors. In A. Yonezawa and M. Tokoro, editors, Object-oriented concurrent programming, pages 37--53. MIT Press, Cambridge, MA, USA, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. G. Agha, S. Frølund, W. Kim, R. Panwar, A. Patterson, and D. Sturman. Abstraction and modularity mechanisms for concurrent computing. IEEE Parallel Distrib. Technol., 1 (2): 3--14, May 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. A. Agha, I. A. Mason, S. F. Smith, and C. L. Talcott. A foundation for actor computation. J. Funct. Program., 7 (1): 1--72, Jan. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Armstrong. Erlang. Communications of the ACM, 53 (9): 68--75, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Ben-Ari. Principle of Concurrent and Distributed Programming. Wiley, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. O. Boissier, R. H. Bordini, J. F. Hübner, A. Ricci, and A. Santi. Multi-agent oriented programming with jacamo. Science of Computer Programming, 2012. 10.1016/j.scico.2011.10.004. In press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Bordini, J. Hübner, and M. Wooldridge. Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley & Sons, Ltd, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. H. Bordini, M. Dastani, J. Dix, and A. El Fallah Seghrouchni. Special Issue: Multi-Agent Programming, volume 23 (2). Springer Verlag, 2011.Google ScholarGoogle Scholar
  12. M. E. Bratman. Intention, Plans, and Practical Reason. Cambridge University Press, Mar. 1999.Google ScholarGoogle Scholar
  13. J.-P. Briot, R. Guerraoui, and K.-P. Lohr. Concurrency and distribution in object-oriented programming. ACM Comput. Surv., 30 (3): 291--329, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. J. Fischer, R. Majumdar, and T. Millstein. Tasks: language support for event-driven programming. In Proc. of PEPM'07, pages 134--143, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Pattens. Addison Wesley, 1995.Google ScholarGoogle Scholar
  16. S. E. Ganz, D. P. Friedman, and M. Wand. Trampolined style. SIGPLAN Not., 34 (9): 18--27, Sept. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. N. Gehani. ADA: Concurrent Programming. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Haller and M. Odersky. Actors that unify threads and events. In Proceedings of the 9th international conference on Coordination models and languages, COORDINATION'07, pages 171--190, Berlin, Heidelberg, 2007. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. D. Harel, A. Marron, and G. Weiss. Behavioral programming. Commun. ACM, 55 (7): 90--100, July 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Harris, M. Abadi, R. Isaacs, and R. McIlroy. AC: composable asynchronous io for native languages. SIGPLAN Not., 46 (10): 903--920, Oct. 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. R. Jennings. An agent-based approach for building complex software systems. Commun. ACM, 44 (4): 35--41, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. K. Karmani, A. Shali, and G. Agha. Actor frameworks for the jvm platform: a comparative analysis. In Proc. of PPPJ'09, pages 11--20, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. C. Kay. The reactive engine. PhD thesis, The University of Utah, 1969. AAI7003806. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. C. Lauer and R. M. Needham. On the duality of operating system structures. SIGOPS Oper. Syst. Rev., 13 (2): 3--19, Apr. 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Li and S. Zdancewic. Combining events and threads for scalable network services implementation and evaluation of monadic, application-level concurrency primitives. SIGPLAN Not., 42 (6): 189--199, June 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Miller, E. Tribble, and J. Shapiro. Concurrency among strangers: programming in E as plan coordination. In phTrustworthy Global Computing, volume 3705 of LNCS, pages 195--229. Springer Berlin / Heidelberg, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Ousterhout. Why Threads Are A Bad Idea (for most purposes), 1996. Presented at USENIX Technical Conference.Google ScholarGoogle Scholar
  28. A. S. Rao. AgentSpeak(L): Bdi agents speak out in a logical computable language. In Proc. of MAAMAW'96, pages 42--55. Springer-Verlag New York, Inc., 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. A. S. Rao and M. P. Georgeff. BDI Agents: From Theory to Practice. In Proc. of ICMAS'95, 1995.Google ScholarGoogle Scholar
  30. }Ricci:2011:DGP:2095050.2095078A. Ricci and A. Santi. Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project. In Proc. of AGERE! 2011, SPLASH'11 Workshops, pages 159--170, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. }rs11fcpA. Ricci and A. Santi. Agent-oriented computing: Agents as a paradigm for computer programming and software development. In Proc. of Future Computing'11, Rome, Italy, 2011. IARIA.Google ScholarGoogle Scholar
  32. Y. Shoham. Agent-oriented programming. Artificial Intelligence, 60 (1): 51--92, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. S. Srinivasan and A. Mycroft. Kilim: Isolation-typed actors for java. In Proc. of ECOOP'08, pages 104--128, Berlin, Heidelberg, 2008. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. D. Syme, T. Petricek, and D. Lomov. The F# asynchronous programming model. In Proc. of PADL'11, pages 175--189, Berlin, Heidelberg, 2011. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. R. von Behren, J. Condit, and E. Brewer. Why events are a bad idea (for high-concurrency servers). In Proc. of HOTOS'03, pages 4--4, Berkeley, CA, USA, 2003. USENIX Association. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Programming abstractions for integrating autonomous and reactive behaviors: an agent-oriented approach

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          AGERE! 2012: Proceedings of the 2nd edition on Programming systems, languages and applications based on actors, agents, and decentralized control abstractions
          October 2012
          150 pages
          ISBN:9781450316309
          DOI:10.1145/2414639

          Copyright © 2012 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 21 October 2012

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate19of35submissions,54%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader