ABSTRACT
Event-loops and control-loops are the main control architectures adopted in actors and in agents, respectively. These architectures have a strong impact on the principles and discipline that can be adopted to design and program actors and agents. In this paper we develop this point, considering some main models/languages/technologies - ActorFoundry, Akka Actors, SALSA, AmbientTalk on the actor side and Jason and ALOO on the agent side - discussing and comparing them.
- Akka. Actor framework, 2010. http://akka.io/, Last Retrieved: Aug 12, 2014.Google Scholar
- J. Armstrong. Erlang. Communications of the ACM, 53(9):68--75, 2010. Google ScholarDigital Library
- R. Bordini and J. Hubner. BDI agent programming in AgentSpeak using Jason. In F. Toni and P. Torroni, editors, CLIMA VI, volume 3900 of LNAI, pages 143--164. Springer, Mar. 2006. Google ScholarDigital Library
- R. Bordini, J. Hubner, and M. Wooldridge. Programming Multi-Agent Systems in AgentSpeak Using Jason. John Wiley & Sons, Ltd, 2007. Google ScholarCross Ref
- Y. Brun, G. Marzo Serugendo, C. Gacek, H. Giese, H. Kienle, M. Litoiu, H. Müller, M. Pezz'e, and M. Shaw. Software engineering for self-adaptive systems. chapter Engineering Self-Adaptive Systems Through Feedback Loops, pages 48--70. Springer-Verlag, Berlin, Heidelberg, 2009. Google ScholarDigital Library
- R. C. Cardoso, M. R. Zatelli, J. F. Hubner, and R. H. Bordini. Towards benchmarking actor- and agent-based programming languages. In Proc. of the 2013 Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE!'13, pages 115--126, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- L. Crnogorac, A. S. Rao, and K. Ramamohanarao. Analysis of inheritance mechanisms in agent-oriented programming. In IJCAI (1)--97, pages 647--654, 1997.Google Scholar
- 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 ScholarDigital Library
- M. Dastani. 2apl: a practical agent programming language. Autonomous Agents and Multi-Agent Systems, 16(3):214--248, 2008. Google ScholarDigital Library
- E. W. Dijkstra. Cooperating sequential processes, technical report ewd-123. Technical report, 1965. Google ScholarDigital Library
- E. W. Dijkstra. Letters to the editor: Go to statement considered harmful. Commun. ACM, 11(3):147--148, Mar. 1968. Google ScholarDigital Library
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1995. Google ScholarDigital Library
- P. Haller and M. Odersky. Scala actors: Unifying threadbased and event-based programming. Theoretical Computer Science, 410(2--3):202--220, 2009. Google ScholarDigital Library
- C. Hewitt and H. j. Baker. Actors and continuous functionals. Technical report, MIT/LCS/TR-194, 1979. Google ScholarDigital Library
- K. V. Hindriks. Programming rational agents in GOAL. In R. H. Bordini, M. Dastani, J. Dix, and A. El Fallah Seghrouchni, editors, Multi-Agent Programming: Languages, Platforms and Applications (2nd volume), pages 3--37. Springer-Verlag, 2009.Google Scholar
- E. Johnsen and O. Owe. An asynchronous communication model for distributed concurrent objects. Software & Systems Modeling, 6(1):39--58, 2007.Google ScholarCross Ref
- 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 ScholarDigital Library
- H. Jordan, S. Russell, G. O'Hare, and R. Collier. Reuse by inheritance in agent programming languages. In Intelligent Distributed Computing V, volume 382 of Studies in Computational Intelligence, pages 279--289. Springer Berlin Heidelberg, 2012.Google Scholar
- K. Kambona, E. G. Boix, and W. De Meuter. An evaluation of reactive programming and promises for structuring collaborative web applications. In Proceedings of the 7th Workshop on Dynamic Languages and Applications, DYLA '13, pages 3:1--3:9, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- 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 ScholarDigital Library
- J. O. Kephart and D. M. Chess. The vision of autonomic computing. Computer, 36(1):41--50, Jan. 2003. Google ScholarDigital Library
- S. Matsuoka and A. Yonezawa. Research directions in concurrent object-oriented programming. chapter Analysis of inheritance anomaly in object-oriented concurrent programming languages, pages 107--150. MIT Press, Cambridge, MA, USA, 1993. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- A. S. Rao and M. P. Georgeff. BDI Agents: From Theory to Practice. In Proc. of ICMAS'95, 1995.Google Scholar
- 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 ScholarDigital Library
- A. Ricci and A. Santi. Concurrent object-oriented programming with agent-oriented abstractions: The ALOO approach. In Proc. of the 2013 Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE! '13, pages 127--138, New York, NY, USA, 2013. ACM. Google ScholarDigital Library
- A. Ricci and A. Santi. From actors and concurrent objects to agent-oriented programming in simpAL. In Concurrent Objects and Beyond -- Festschrift in Honor of Akinori Yonezawa, volume 8665 of LNCS. Springer, 2014.Google ScholarCross Ref
- R. Ross, R. Collier, and G. O'Hare. AF-APL: Bridging principles and practice in agent oriented languages. In Programming Multi-Agent Systems, volume 3346 of Lecture Notes in Computer Science, pages 66--88. Springer, 2005. Google ScholarDigital Library
- J. Schafer 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 ScholarDigital Library
- Y. Shoham. Agent-oriented programming. Artificial Intelligence, 60(1):51--92, 1993. Google ScholarDigital Library
- T. Van Cutsem, C. Scholliers, D. Harnie, and W. De Meuter. An operational semantics of event loop concurrency in ambienttalk. Technical report, Vrije Universiteit Brussel, 2012.Google Scholar
- C. Varela and G. Agha. Programming dynamically reconfigurable open systems with salsa. SIGPLAN Not., 36(12):20--34, Dec. 2001. Google ScholarDigital Library
- C. A. Varela. Programming Distributed Computing Systems: A Foundational Approach. MIT Press, May 2013. Google ScholarDigital Library
Index Terms
- From Actor Event-Loop to Agent Control-Loop: Impact on Programming
Recommendations
Benchmarking communication in actor- and agent-based languages
EMAS'13: Proceedings of the First International Conference on Engineering Multi-Agent SystemsThis paper presents the results of communication benchmarks comparing an agent-oriented programming language and two actor-oriented programming languages. It is based on an existing benchmark for programming languages and two variations on that ...
Away from the sequential paradigm tarpit: modelling and programming with actors, concurrent objects and agents
ECOOP'13: Proceedings of the Second International Workshop on Combined Object-Oriented Modelling and Programming LanguagesThe fundamental turn of software towards concurrency that we are witnessing today has a strong impact on modeling and programming. How to properly integrate OO modelling/programming and concurrency is still an open problem, in spite of the many ad-hoc ...
Towards benchmarking actor- and agent-based programming languages
AGERE! 2013: Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized controlOver the past few years there have been several advances in distributed systems, and more recently multi-core processors. Consequently, a natural need for concurrent and parallel programming languages arises. In this paper, we compare some aspects of ...
Comments