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

Concurrent object-oriented programming with agent-oriented abstractions: the ALOO approach

Published:27 October 2013Publication History

ABSTRACT

A long-standing problem in concurrent object-oriented programming is finding a sound and effective way to integrate active entities - being them actors, active objects, processes - with plain passive objects. Even if the problem is quite old, this is still an open issue: different kinds of approaches have been proposed in literature - also recently - each bringing some benefits and drawbacks. In this paper we describe a proposal based on agent-oriented abstractions, called ALOO. ALOO can be conceived as a conservative extension of sequential OOP languages, so plain old objects, adopting agents and agent organizations as first-class abstractions to model the active side of systems, encapsulating the decentralized control. ALOO is an evolution of a previous model/language called simpAL - an agent-oriented programming approach - towards to concurrent object-oriented programming.

References

  1. G. Agha. Actors: a model of concurrent computation in distributed systems. MIT Press, Cambridge, MA, USA, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Agha. Concurrent object-oriented programming. Commun. ACM, 33(9):125--141, Sept. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. P. America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(1):366--411, 1989. Google ScholarGoogle ScholarCross RefCross Ref
  4. J. Armstrong. Erlang. Communications of the ACM, 53(9):68--75, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. S. Boer, D. Clarke, and E. B. Johnsen. A complete guide to the future. In Programming Languages and Systems, volume 4421 of LNCS, pages 316--330. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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
  7. 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
  8. D. Caromel. Toward a method of object-oriented concurrent programming. Commun. ACM, 36(9):90--102, Sept. 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. V. Cutsem, S. Mostinckx, E. G. Boix, J. Dedecker, and W. D. Meuter. AmbientTalk: Object-oriented event-driven programming in mobile ad hoc networks. In Proc. of SCCC'07, pages 3--12, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. De Koster, S. Marr, T. D'Hondt, and T. Van Cutsem. Tanks: Multiple reader, single writer actors. In Proc. of AGERE!'13. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. De Koster, T. Van Cutsem, and T. D'Hondt. Domains: safe sharing among actors. In Proc. of AGERE!'12, pages 11--22, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. P. Haller and M. Odersky. Scala actors: Unifying threadbased and event-based programming. Theoretical Computer Science, 410(2-3):202--220, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. B. Hansen. Operating system principles. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. C. Hewitt. Viewing control structures as patterns of passing messages. Artificial Intelligence, 8(3):323--364, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. R. Jennings. An agent-based approach for building complex software systems. Commun. ACM, 44(4):35--41, Apr. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. Johnsen and O. Owe. An asynchronous communication model for distributed concurrent objects. Software & Systems Modeling, 6(1):39--58, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  17. E. B. Johnsen, R. Hähnle, J. Schäfer, R. Schlatte, and M. Steffen. Abs: A core language for abstract behavioral specification. In Formal Methods for Components and Objects, volume 6957 of LNCS, pages 142--164. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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
  19. M. Miller, E. Tribble, and J. Shapiro. Concurrency among strangers: programming in E as plan coordination. In Trustworthy Global Computing, volume 3705 of LNCS, pages 195--229. Springer Berlin / Heidelberg, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Philippsen. A survey of concurrent object-oriented languages. Concurrency: Practice and Experience, 12(10):917--980, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  21. A. S. Rao and M. P. Georgeff. BDI Agents: From Theory to Practice. In Proc. of ICMAS'95, 1995.Google ScholarGoogle Scholar
  22. A. Ricci and A. Santi. Designing a general-purpose programming language based on agent-oriented abstractions: the simpAL project. In Proc. of AGERE!'11, SPLASH '11 Workshops, pages 159--170, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. A. Ricci and A. Santi. Programming abstractions for integrating autonomous and reactive behaviors: an agent-oriented approach. In Proc. of AGERE!'12, AGERE! '12, pages 83--94, New York, NY, USA, 2012. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Russell and P. Norvig. Artificial Intelligence, A Modern Approach (second edition). Prentice Hall, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Schäfer and A. Poetzsch-Heffter. CoBoxes: Unifying active objects and structured heaps. In Proc. of FMOODS'08, pages 201--219, Berlin, Heidelberg, 2008. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. J. Schäfer and A. Poetzsch-Heffter. JCoBox: generalizing active objects to concurrent components. In Proc. of ECOOP'10, pages 275--299, Berlin, Heidelberg, 2010. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. L. Sterling and K. Taveter. The Art of Agent-Oriented Modeling. The MIT Press, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Tasharofi, P. Dinges, and R. Johnson. Why do scala developers mix the actor model with other concurrency models? In G. Castagna, editor, ECOOP 2013, volume 7920 of LNCS, pages 302--326. Springer, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Varela and G. Agha. Programming dynamically reconfigurable open systems with salsa. SIGPLAN Not., 36(12):20--34, Dec. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Yonezawa, J.-P. Briot, and E. Shibayama. Object-oriented concurrent programming abcl/1. SIGPLAN Not., 21(11):258--268, June 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. Yonezawa and M. Tokoro, editors. Object-oriented concurrent programming, Cambridge, MA, USA, 1987. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Concurrent object-oriented programming with agent-oriented abstractions: the ALOO 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! 2013: Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
          October 2013
          156 pages
          ISBN:9781450326025
          DOI:10.1145/2541329

          Copyright © 2013 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 the author(s) 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: 27 October 2013

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          AGERE! 2013 Paper Acceptance Rate10of21submissions,48%Overall Acceptance Rate19of35submissions,54%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader